commit
838df4ca06
2 changed files with 50 additions and 1 deletions
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -190,7 +190,9 @@ public class BlockTeleposer extends BlockContainer
|
||||||
int metaI = worldI.getBlockMetadata(xi, yi, zi);
|
int metaI = worldI.getBlockMetadata(xi, yi, zi);
|
||||||
int metaF = worldF.getBlockMetadata(xf, yf, zf);
|
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);
|
worldI.playSoundEffect(xi, yi, zi, "mob.endermen.portal", 1.0F, 1.0F);
|
||||||
worldF.playSoundEffect(xf, yf, zf, "mob.endermen.portal", 1.0F, 1.0F);
|
worldF.playSoundEffect(xf, yf, zf, "mob.endermen.portal", 1.0F, 1.0F);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue