diff options
author | Brokkonaut <hannos17@gmx.de> | 2016-12-09 12:53:15 +1100 |
---|---|---|
committer | md_5 <git@md-5.net> | 2016-12-09 12:53:15 +1100 |
commit | f9eddf3f6eed4805d5c1dd5be4f4731be7e508c3 (patch) | |
tree | 89179bad83dc6514a0f19b2c816844089ca0d5bb /nms-patches | |
parent | caf86c88a91b7b87bb2ace9b28d4ecaa60120c92 (diff) | |
download | craftbukkit-f9eddf3f6eed4805d5c1dd5be4f4731be7e508c3.tar craftbukkit-f9eddf3f6eed4805d5c1dd5be4f4731be7e508c3.tar.gz craftbukkit-f9eddf3f6eed4805d5c1dd5be4f4731be7e508c3.tar.lz craftbukkit-f9eddf3f6eed4805d5c1dd5be4f4731be7e508c3.tar.xz craftbukkit-f9eddf3f6eed4805d5c1dd5be4f4731be7e508c3.zip |
SPIGOT-2886: Call BlockFormEvent when Lava and Water collide
Diffstat (limited to 'nms-patches')
-rw-r--r-- | nms-patches/BlockFlowing.patch | 13 | ||||
-rw-r--r-- | nms-patches/BlockFluids.patch | 27 |
2 files changed, 36 insertions, 4 deletions
diff --git a/nms-patches/BlockFlowing.patch b/nms-patches/BlockFlowing.patch index 4651b55e..47c8bd99 100644 --- a/nms-patches/BlockFlowing.patch +++ b/nms-patches/BlockFlowing.patch @@ -24,7 +24,7 @@ int i = ((Integer) iblockdata.get(BlockFlowing.LEVEL)).intValue(); byte b0 = 1; -@@ -88,6 +98,12 @@ +@@ -88,9 +98,16 @@ IBlockData iblockdata2 = world.getType(blockposition.down()); if (this.h(world, blockposition.down(), iblockdata2)) { @@ -35,9 +35,14 @@ + } + if (!event.isCancelled()) { if (this.material == Material.LAVA && world.getType(blockposition.down()).getMaterial() == Material.WATER) { - world.setTypeUpdate(blockposition.down(), Blocks.STONE.getBlockData()); +- world.setTypeUpdate(blockposition.down(), Blocks.STONE.getBlockData()); ++ if (org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockFormEvent(world, blockposition.down(), Blocks.STONE, null)){ this.fizz(world, blockposition.down()); -@@ -99,6 +115,8 @@ ++ } + return; + } + +@@ -99,6 +116,8 @@ } else { this.flow(world, blockposition.down(), iblockdata2, i + 8); } @@ -46,7 +51,7 @@ } else if (i >= 0 && (i == 0 || this.g(world, blockposition.down(), iblockdata2))) { Set set = this.c(world, blockposition); -@@ -116,14 +134,23 @@ +@@ -116,14 +135,23 @@ while (iterator1.hasNext()) { EnumDirection enumdirection1 = (EnumDirection) iterator1.next(); diff --git a/nms-patches/BlockFluids.patch b/nms-patches/BlockFluids.patch new file mode 100644 index 00000000..ba2f7bb4 --- /dev/null +++ b/nms-patches/BlockFluids.patch @@ -0,0 +1,27 @@ +--- a/net/minecraft/server/BlockFluids.java ++++ b/net/minecraft/server/BlockFluids.java +@@ -163,14 +163,20 @@ + Integer integer = (Integer) iblockdata.get(BlockFluids.LEVEL); + + if (integer.intValue() == 0) { +- world.setTypeUpdate(blockposition, Blocks.OBSIDIAN.getBlockData()); +- this.fizz(world, blockposition); ++ // CraftBukkit start ++ if (org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockFormEvent(world, blockposition, Blocks.OBSIDIAN, null)) { ++ this.fizz(world, blockposition); ++ } ++ // CraftBukkit end + return true; + } + + if (integer.intValue() <= 4) { +- world.setTypeUpdate(blockposition, Blocks.COBBLESTONE.getBlockData()); +- this.fizz(world, blockposition); ++ // CraftBukkit start ++ if (org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockFormEvent(world, blockposition, Blocks.COBBLESTONE, null)) { ++ this.fizz(world, blockposition); ++ } ++ // CraftBukkit end + return true; + } + } |