mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-25 10:27:55 +01:00
SPIGOT-1849: Call EntityBlockFormEvent when an entity forms frosted ice using frost walker
This commit is contained in:
parent
6026dad124
commit
cbebfa439f
32
nms-patches/EnchantmentFrostWalker.patch
Normal file
32
nms-patches/EnchantmentFrostWalker.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
--- a/net/minecraft/server/EnchantmentFrostWalker.java
|
||||||
|
+++ b/net/minecraft/server/EnchantmentFrostWalker.java
|
||||||
|
@@ -1,5 +1,8 @@
|
||||||
|
package net.minecraft.server;
|
||||||
|
|
||||||
|
+import org.bukkit.craftbukkit.util.CraftMagicNumbers;
|
||||||
|
+import org.bukkit.event.block.EntityBlockFormEvent;
|
||||||
|
+
|
||||||
|
import java.util.Iterator;
|
||||||
|
|
||||||
|
public class EnchantmentFrostWalker extends Enchantment {
|
||||||
|
@@ -42,8 +45,18 @@
|
||||||
|
IBlockData iblockdata1 = world.getType(blockposition_mutableblockposition1);
|
||||||
|
|
||||||
|
if (iblockdata1.getMaterial() == Material.WATER && ((Integer) iblockdata1.get(BlockFluids.LEVEL)).intValue() == 0 && world.a(Blocks.de, blockposition_mutableblockposition1, false, EnumDirection.DOWN, (Entity) null, (ItemStack) null)) {
|
||||||
|
- world.setTypeUpdate(blockposition_mutableblockposition1, Blocks.de.getBlockData());
|
||||||
|
- world.a(blockposition_mutableblockposition1.h(), Blocks.de, MathHelper.nextInt(entityliving.getRandom(), 60, 120));
|
||||||
|
+ // CraftBukkit Start - Call EntityBlockFormEvent for Frost Walker
|
||||||
|
+ org.bukkit.block.BlockState blockState = world.getWorld().getBlockAt(blockposition_mutableblockposition1.getX(), blockposition_mutableblockposition1.getY(), blockposition_mutableblockposition1.getZ()).getState();
|
||||||
|
+ blockState.setType(CraftMagicNumbers.getMaterial(Blocks.de)); // PAIL - Rename de->FROSTED_ICE
|
||||||
|
+
|
||||||
|
+ EntityBlockFormEvent event = new EntityBlockFormEvent(entityliving.bukkitEntity, blockState.getBlock(), blockState);
|
||||||
|
+ world.getServer().getPluginManager().callEvent(event);
|
||||||
|
+
|
||||||
|
+ if (!event.isCancelled()) {
|
||||||
|
+ blockState.update(true);
|
||||||
|
+ world.a(blockposition_mutableblockposition1.h(), Blocks.de, MathHelper.nextInt(entityliving.getRandom(), 60, 120));
|
||||||
|
+ }
|
||||||
|
+ // CraftBukkit End
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user