|
22 | 22 | import forestry.core.utils.NetworkUtil; |
23 | 23 | import forestry.farming.logic.crops.CropDestroy; |
24 | 24 |
|
25 | | -public class FarmableGTRubberSapling implements IFarmable { |
| 25 | +public class FarmableGTCEuSapling implements IFarmable { |
26 | 26 |
|
27 | 27 | private final Block saplingBlock; |
28 | 28 | private final ItemStack germling; |
29 | 29 | private final ItemStack[] windfall; |
30 | 30 |
|
31 | | - public FarmableGTRubberSapling(Block saplingBlock, ItemStack[] windfall) { |
| 31 | + public FarmableGTCEuSapling(Block saplingBlock, ItemStack[] windfall) { |
32 | 32 | this.saplingBlock = saplingBlock; |
33 | 33 | this.germling = new ItemStack(saplingBlock); |
34 | 34 | this.windfall = windfall; |
@@ -72,18 +72,22 @@ public boolean isWindfall(ItemStack itemstack) { |
72 | 72 |
|
73 | 73 | @Override |
74 | 74 | public boolean plantSaplingAt(EntityPlayer player, ItemStack germling, World world, BlockPos pos) { |
75 | | - ItemStack copy = germling.copy(); |
76 | | - player.setHeldItem(EnumHand.MAIN_HAND, copy); |
77 | | - EnumActionResult result = copy.onItemUse(player, world, pos.down(), |
78 | | - EnumHand.MAIN_HAND, EnumFacing.UP, 0, 0, 0); |
79 | | - player.setHeldItem(EnumHand.MAIN_HAND, ItemStack.EMPTY); |
80 | | - if (result == EnumActionResult.SUCCESS) { |
81 | | - PacketFXSignal packet = new PacketFXSignal( |
82 | | - PacketFXSignal.SoundFXType.BLOCK_PLACE, pos, |
83 | | - Blocks.SAPLING.getDefaultState()); |
84 | | - NetworkUtil.sendNetworkPacket(packet, pos, world); |
85 | | - return true; |
| 75 | + ItemStack originalHeldItem = player.getHeldItem(EnumHand.MAIN_HAND); |
| 76 | + try { |
| 77 | + ItemStack copy = germling.copy(); |
| 78 | + player.setHeldItem(EnumHand.MAIN_HAND, copy); |
| 79 | + EnumActionResult result = copy.onItemUse(player, world, pos.down(), |
| 80 | + EnumHand.MAIN_HAND, EnumFacing.UP, 0, 0, 0); |
| 81 | + if (result == EnumActionResult.SUCCESS) { |
| 82 | + PacketFXSignal packet = new PacketFXSignal( |
| 83 | + PacketFXSignal.SoundFXType.BLOCK_PLACE, pos, |
| 84 | + Blocks.SAPLING.getDefaultState()); |
| 85 | + NetworkUtil.sendNetworkPacket(packet, pos, world); |
| 86 | + return true; |
| 87 | + } |
| 88 | + return false; |
| 89 | + } finally { |
| 90 | + player.setHeldItem(EnumHand.MAIN_HAND, originalHeldItem); |
86 | 91 | } |
87 | | - return false; |
88 | 92 | } |
89 | 93 | } |
0 commit comments