ForgePatch/patches/minecraft/net/minecraft/item/HoeItem.java.patch

33 lines
2.2 KiB
Diff

--- a/net/minecraft/item/HoeItem.java
+++ b/net/minecraft/item/HoeItem.java
@@ -21,14 +21,16 @@
protected static final Map<Block, BlockState> field_195973_b = Maps.newHashMap(ImmutableMap.of(Blocks.field_196658_i, Blocks.field_150458_ak.func_176223_P(), Blocks.field_185774_da, Blocks.field_150458_ak.func_176223_P(), Blocks.field_150346_d, Blocks.field_150458_ak.func_176223_P(), Blocks.field_196660_k, Blocks.field_150346_d.func_176223_P()));
public HoeItem(IItemTier p_i231595_1_, int p_i231595_2_, float p_i231595_3_, Item.Properties p_i231595_4_) {
- super((float)p_i231595_2_, p_i231595_3_, p_i231595_1_, field_234683_c_, p_i231595_4_);
+ super((float)p_i231595_2_, p_i231595_3_, p_i231595_1_, field_234683_c_, p_i231595_4_.addToolType(net.minecraftforge.common.ToolType.HOE, p_i231595_1_.func_200925_d()));
}
public ActionResultType func_195939_a(ItemUseContext p_195939_1_) {
World world = p_195939_1_.func_195991_k();
BlockPos blockpos = p_195939_1_.func_195995_a();
- if (p_195939_1_.func_196000_l() != Direction.DOWN && world.func_180495_p(blockpos.func_177984_a()).func_196958_f()) {
- BlockState blockstate = field_195973_b.get(world.func_180495_p(blockpos).func_177230_c());
+ int hook = net.minecraftforge.event.ForgeEventFactory.onHoeUse(p_195939_1_);
+ if (hook != 0) return hook > 0 ? ActionResultType.SUCCESS : ActionResultType.FAIL;
+ if (p_195939_1_.func_196000_l() != Direction.DOWN && world.func_175623_d(blockpos.func_177984_a())) {
+ BlockState blockstate = world.func_180495_p(blockpos).getToolModifiedState(world, blockpos, p_195939_1_.func_195999_j(), p_195939_1_.func_195996_i(), net.minecraftforge.common.ToolType.HOE);
if (blockstate != null) {
PlayerEntity playerentity = p_195939_1_.func_195999_j();
world.func_184133_a(playerentity, blockpos, SoundEvents.field_187693_cj, SoundCategory.BLOCKS, 1.0F, 1.0F);
@@ -47,4 +49,9 @@
return ActionResultType.PASS;
}
+
+ @javax.annotation.Nullable
+ public static BlockState getHoeTillingState(BlockState originalState) {
+ return field_195973_b.get(originalState.func_177230_c());
+ }
}