Merge pull request #228 from ReikaKalseki/master

Add Teleposer Event
This commit is contained in:
WayofTime 2015-01-25 07:07:47 -05:00
commit 838df4ca06
2 changed files with 50 additions and 1 deletions

View file

@ -0,0 +1,47 @@
package WayofTime.alchemicalWizardry.api.event;
import cpw.mods.fml.common.eventhandler.Event;
import net.minecraft.world.World;
import net.minecraft.block.Block;
/** Fired when a teleposer attempts to transpose two blocks. Use this to perform special cleanup or compensation,
or cancel it entirely to prevent the transposition. */
@Cancelable
public class TeleposeEvent extends Event {
public final World initialWorld;
public final int initialX;
public final int initialY;
public final int initialZ;
public final Block initialBlock;
public final int initialMetadata;
public final World finalWorld;
public final int finalX;
public final int finalY;
public final int finalZ;
public final Block finalBlock;
public final int finalMetadata;
public TeleposeEvent(World wi, int xi, int yi, int zi, Block bi, int mi, World wf, int xf, int yf, int zf, Block bf, int mf) {
initialWorld = wi;
initialX = xi;
initialY = yi;
initialZ = zi;
initialBlock = bi;
initialMetadata = mi;
finalWorld = wf;
finalX = xf;
finalY = yf;
finalZ = zf;
finalBlock = bf;
finalMetadata = mf;
}
}

View file

@ -190,7 +190,9 @@ public class BlockTeleposer extends BlockContainer
int metaI = worldI.getBlockMetadata(xi, yi, zi);
int metaF = worldF.getBlockMetadata(xf, yf, zf);
//TODO Teleposer event
TeleposeEvent evt = new TeleposeEvent(worldI, xi, yi, zi, blockI, metaI, worldF, xf, yf, zf, blockF, metaF);
if (MinecraftForge.EVENT_BUS.post(evt))
return false;
worldI.playSoundEffect(xi, yi, zi, "mob.endermen.portal", 1.0F, 1.0F);
worldF.playSoundEffect(xf, yf, zf, "mob.endermen.portal", 1.0F, 1.0F);