mirror of
https://github.com/barkeser2002/CatServer.git
synced 2026-09-25 12:05:59 +03:00
52 lines
2.8 KiB
Diff
52 lines
2.8 KiB
Diff
--- ../src-base/minecraft/net/minecraft/entity/ai/EntityAIHarvestFarmland.java
|
|
+++ ../src-work/minecraft/net/minecraft/entity/ai/EntityAIHarvestFarmland.java
|
|
@@ -71,6 +71,7 @@
|
|
|
|
if (this.currentTask == 0 && block instanceof BlockCrops && ((BlockCrops)block).isMaxAge(iblockstate))
|
|
{
|
|
+ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this.theVillager, blockpos, Blocks.AIR, 0).isCancelled())
|
|
world.destroyBlock(blockpos, true);
|
|
}
|
|
else if (this.currentTask == 1 && iblockstate.getMaterial() == Material.AIR)
|
|
@@ -84,26 +85,36 @@
|
|
|
|
if (itemstack != null)
|
|
{
|
|
+ Block planted = null;
|
|
if (itemstack.getItem() == Items.WHEAT_SEEDS)
|
|
{
|
|
- world.setBlockState(blockpos, Blocks.WHEAT.getDefaultState(), 3);
|
|
+ //world.setBlockState(blockpos, Blocks.WHEAT.getDefaultState(), 3);
|
|
+ planted = Blocks.WHEAT;
|
|
flag = true;
|
|
}
|
|
else if (itemstack.getItem() == Items.POTATO)
|
|
{
|
|
- world.setBlockState(blockpos, Blocks.POTATOES.getDefaultState(), 3);
|
|
+ //world.setBlockState(blockpos, Blocks.POTATOES.getDefaultState(), 3);
|
|
+ planted = Blocks.POTATOES;
|
|
flag = true;
|
|
}
|
|
else if (itemstack.getItem() == Items.CARROT)
|
|
{
|
|
- world.setBlockState(blockpos, Blocks.CARROTS.getDefaultState(), 3);
|
|
+ //world.setBlockState(blockpos, Blocks.CARROTS.getDefaultState(), 3);
|
|
+ planted = Blocks.CARROTS;
|
|
flag = true;
|
|
}
|
|
else if (itemstack.getItem() == Items.BEETROOT_SEEDS)
|
|
{
|
|
- world.setBlockState(blockpos, Blocks.BEETROOTS.getDefaultState(), 3);
|
|
+ //world.setBlockState(blockpos, Blocks.BEETROOTS.getDefaultState(), 3);
|
|
+ planted = Blocks.BEETROOTS;
|
|
flag = true;
|
|
}
|
|
+ if (planted != null && !org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this.theVillager, blockpos, planted, 0).isCancelled()) {
|
|
+ world.setBlockState(blockpos, planted.getDefaultState(), 3);
|
|
+ } else {
|
|
+ flag = false;
|
|
+ }
|
|
}
|
|
|
|
if (flag)
|