3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2024-12-18 04:20:08 +01:00

SPIGOT-2388: Damage must be nulled out in some circumstances

Dieser Commit ist enthalten in:
md_5 2016-06-12 10:13:51 +10:00
Ursprung d5ecbd0e93
Commit fa83b1b80c
2 geänderte Dateien mit 6 neuen und 2 gelöschten Zeilen

Datei anzeigen

@ -21,11 +21,13 @@
world.setTypeAndData(blockposition, iblockdata1, 4); world.setTypeAndData(blockposition, iblockdata1, 4);
iblockdata1.doPhysics(world, blockposition1, this); iblockdata1.doPhysics(world, blockposition1, this);
} else { } else {
@@ -87,6 +90,7 @@ @@ -87,7 +90,9 @@
} }
public void a(World world, BlockPosition blockposition, IBlockData iblockdata, Entity entity) { public void a(World world, BlockPosition blockposition, IBlockData iblockdata, Entity entity) {
+ CraftEventFactory.blockDamage = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()); // CraftBukkit + CraftEventFactory.blockDamage = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()); // CraftBukkit
entity.damageEntity(DamageSource.CACTUS, 1.0F); entity.damageEntity(DamageSource.CACTUS, 1.0F);
+ CraftEventFactory.blockDamage = null; // CraftBukkit
} }
public IBlockData fromLegacyData(int i) {

Datei anzeigen

@ -1,10 +1,12 @@
--- a/net/minecraft/server/BlockMagma.java --- a/net/minecraft/server/BlockMagma.java
+++ b/net/minecraft/server/BlockMagma.java +++ b/net/minecraft/server/BlockMagma.java
@@ -17,6 +17,7 @@ @@ -17,7 +17,9 @@
public void stepOn(World world, BlockPosition blockposition, Entity entity) { public void stepOn(World world, BlockPosition blockposition, Entity entity) {
if (!entity.isFireProof() && entity instanceof EntityLiving && !EnchantmentManager.j((EntityLiving) entity)) { if (!entity.isFireProof() && entity instanceof EntityLiving && !EnchantmentManager.j((EntityLiving) entity)) {
+ org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()); // CraftBukkit + org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()); // CraftBukkit
entity.damageEntity(DamageSource.HOT_FLOOR, 1.0F); entity.damageEntity(DamageSource.HOT_FLOOR, 1.0F);
+ org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // CraftBukkit
} }
super.stepOn(world, blockposition, entity);