You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.9 KiB
44 lines
1.9 KiB
--- ../src-base/minecraft/net/minecraft/entity/monster/EntitySnowman.java |
|
+++ ../src-work/minecraft/net/minecraft/entity/monster/EntitySnowman.java |
|
@@ -19,6 +19,12 @@ |
|
import net.minecraft.util.MathHelper; |
|
import net.minecraft.world.World; |
|
|
|
+// CraftBukkit start |
|
+import org.bukkit.craftbukkit.event.CraftEventFactory; |
|
+import org.bukkit.craftbukkit.util.CraftMagicNumbers; |
|
+import org.bukkit.event.block.EntityBlockFormEvent; |
|
+// CraftBukkit end |
|
+ |
|
public class EntitySnowman extends EntityGolem implements IRangedAttackMob |
|
{ |
|
private static final String __OBFID = "CL_00001650"; |
|
@@ -61,7 +67,7 @@ |
|
|
|
if (this.worldObj.getBiomeGenForCoords(i, k).getFloatTemperature(i, j, k) > 1.0F) |
|
{ |
|
- this.attackEntityFrom(DamageSource.onFire, 1.0F); |
|
+ this.attackEntityFrom(CraftEventFactory.MELTING, 1.0F); // CraftBukkit - DamageSource.BURN -> CraftEventFactory.MELTING |
|
} |
|
|
|
for (int l = 0; l < 4; ++l) |
|
@@ -72,7 +78,18 @@ |
|
|
|
if (this.worldObj.getBlock(i, j, k).getMaterial() == Material.air && this.worldObj.getBiomeGenForCoords(i, k).getFloatTemperature(i, j, k) < 0.8F && Blocks.snow_layer.canPlaceBlockAt(this.worldObj, i, j, k)) |
|
{ |
|
- this.worldObj.setBlock(i, j, k, Blocks.snow_layer); |
|
+ // CraftBukkit start |
|
+ org.bukkit.block.BlockState blockState = this.worldObj.getWorld().getBlockAt(i, j, k).getState(); |
|
+ blockState.setType(CraftMagicNumbers.getMaterial(Blocks.snow_layer)); |
|
+ EntityBlockFormEvent event = new EntityBlockFormEvent(this.getBukkitEntity(), blockState.getBlock(), blockState); |
|
+ this.worldObj.getServer().getPluginManager().callEvent(event); |
|
+ |
|
+ if (!event.isCancelled()) |
|
+ { |
|
+ blockState.update(true); |
|
+ } |
|
+ |
|
+ // CraftBukkit end |
|
} |
|
} |
|
}
|
|
|