From 1754fcc49eec149ad5bf937695cc20ecc03b2a8b Mon Sep 17 00:00:00 2001 From: Reika Date: Sun, 25 Jan 2015 03:03:20 -0500 Subject: [PATCH 1/3] Add event hook --- .../alchemicalWizardry/common/block/BlockTeleposer.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockTeleposer.java b/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockTeleposer.java index 53fbc75f..a9362810 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockTeleposer.java +++ b/src/main/java/WayofTime/alchemicalWizardry/common/block/BlockTeleposer.java @@ -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); From 5f0aff359526ab51d02be2399c6b3d5aeb59ef55 Mon Sep 17 00:00:00 2001 From: Reika Date: Sun, 25 Jan 2015 03:08:24 -0500 Subject: [PATCH 2/3] Create TeleposeEvent --- .../api/event/TeleposeEvent | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/main/java/WayofTime/alchemicalWizardry/api/event/TeleposeEvent diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/event/TeleposeEvent b/src/main/java/WayofTime/alchemicalWizardry/api/event/TeleposeEvent new file mode 100644 index 00000000..39579cb5 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/api/event/TeleposeEvent @@ -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; +} + +} From e32744f3b3d12b59411977f6c526e98a42054d28 Mon Sep 17 00:00:00 2001 From: Reika Date: Sun, 25 Jan 2015 03:08:49 -0500 Subject: [PATCH 3/3] Update and rename TeleposeEvent to TeleposeEvent.java --- .../api/event/TeleposeEvent | 47 ------------------- .../api/event/TeleposeEvent.java | 47 +++++++++++++++++++ 2 files changed, 47 insertions(+), 47 deletions(-) delete mode 100644 src/main/java/WayofTime/alchemicalWizardry/api/event/TeleposeEvent create mode 100644 src/main/java/WayofTime/alchemicalWizardry/api/event/TeleposeEvent.java diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/event/TeleposeEvent b/src/main/java/WayofTime/alchemicalWizardry/api/event/TeleposeEvent deleted file mode 100644 index 39579cb5..00000000 --- a/src/main/java/WayofTime/alchemicalWizardry/api/event/TeleposeEvent +++ /dev/null @@ -1,47 +0,0 @@ -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; -} - -} diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/event/TeleposeEvent.java b/src/main/java/WayofTime/alchemicalWizardry/api/event/TeleposeEvent.java new file mode 100644 index 00000000..fe4642f9 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/api/event/TeleposeEvent.java @@ -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; + } + +}