Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-18 20:40:08 +01:00
Fixed sheep not firing events when eating grass. Fixes BUKKIT-1104
Dieser Commit ist enthalten in:
Ursprung
9b5a4d68b9
Commit
848344250d
@ -1,5 +1,10 @@
|
|||||||
package net.minecraft.server;
|
package net.minecraft.server;
|
||||||
|
|
||||||
|
// CraftBukkit start
|
||||||
|
import org.bukkit.craftbukkit.event.CraftEventFactory;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
// CraftBukkit end
|
||||||
|
|
||||||
public class PathfinderGoalEatTile extends PathfinderGoal {
|
public class PathfinderGoalEatTile extends PathfinderGoal {
|
||||||
|
|
||||||
private EntityLiving b;
|
private EntityLiving b;
|
||||||
@ -50,14 +55,22 @@ public class PathfinderGoalEatTile extends PathfinderGoal {
|
|||||||
int k = MathHelper.floor(this.b.locZ);
|
int k = MathHelper.floor(this.b.locZ);
|
||||||
|
|
||||||
if (this.c.getTypeId(i, j, k) == Block.LONG_GRASS.id) {
|
if (this.c.getTypeId(i, j, k) == Block.LONG_GRASS.id) {
|
||||||
this.c.triggerEffect(2001, i, j, k, Block.LONG_GRASS.id + 4096);
|
// CraftBukkit start
|
||||||
this.c.setTypeId(i, j, k, 0);
|
if (!CraftEventFactory.callEntityChangeBlockEvent(this.b.getBukkitEntity(), this.b.world.getWorld().getBlockAt(i, j, k), Material.AIR).isCancelled()) {
|
||||||
this.b.z();
|
this.c.triggerEffect(2001, i, j, k, Block.LONG_GRASS.id + 4096);
|
||||||
|
this.c.setTypeId(i, j, k, 0);
|
||||||
|
this.b.z();
|
||||||
|
}
|
||||||
|
// CraftBukkit end
|
||||||
} else if (this.c.getTypeId(i, j - 1, k) == Block.GRASS.id) {
|
} else if (this.c.getTypeId(i, j - 1, k) == Block.GRASS.id) {
|
||||||
this.c.triggerEffect(2001, i, j - 1, k, Block.GRASS.id);
|
// CraftBukkit start
|
||||||
this.c.setTypeId(i, j - 1, k, Block.DIRT.id);
|
if (!CraftEventFactory.callEntityChangeBlockEvent(this.b.getBukkitEntity(), this.b.world.getWorld().getBlockAt(i, j - 1, k), Material.DIRT).isCancelled()) {
|
||||||
this.b.z();
|
this.c.triggerEffect(2001, i, j - 1, k, Block.GRASS.id);
|
||||||
|
this.c.setTypeId(i, j - 1, k, Block.DIRT.id);
|
||||||
|
this.b.z();
|
||||||
|
}
|
||||||
|
// CraftBukkit end
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren