Skip to content

Commit 86c2635

Browse files
committed
GeminiのRV対応
1 parent 45d937f commit 86c2635

3 files changed

Lines changed: 36 additions & 28 deletions

File tree

src/main/java/com/github/gtexpert/gtbm/integration/forestry/farming/FarmableGTRubberSapling.java renamed to src/main/java/com/github/gtexpert/gtbm/integration/forestry/farming/FarmableGTCEuSapling.java

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@
2222
import forestry.core.utils.NetworkUtil;
2323
import forestry.farming.logic.crops.CropDestroy;
2424

25-
public class FarmableGTRubberSapling implements IFarmable {
25+
public class FarmableGTCEuSapling implements IFarmable {
2626

2727
private final Block saplingBlock;
2828
private final ItemStack germling;
2929
private final ItemStack[] windfall;
3030

31-
public FarmableGTRubberSapling(Block saplingBlock, ItemStack[] windfall) {
31+
public FarmableGTCEuSapling(Block saplingBlock, ItemStack[] windfall) {
3232
this.saplingBlock = saplingBlock;
3333
this.germling = new ItemStack(saplingBlock);
3434
this.windfall = windfall;
@@ -72,18 +72,22 @@ public boolean isWindfall(ItemStack itemstack) {
7272

7373
@Override
7474
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);
8691
}
87-
return false;
8892
}
8993
}

src/main/java/com/github/gtexpert/gtbm/integration/forestry/loaders/FFMFarmingLoader.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import gregtech.common.items.MetaItems;
77

88
import com.github.gtexpert.gtbm.integration.forestry.farming.FarmLogicCEu;
9-
import com.github.gtexpert.gtbm.integration.forestry.farming.FarmableGTRubberSapling;
9+
import com.github.gtexpert.gtbm.integration.forestry.farming.FarmableGTCEuSapling;
1010
import com.github.gtexpert.gtbm.integration.forestry.util.ForestryFarmHelper;
1111

1212
import forestry.api.core.ForestryAPI;
@@ -26,7 +26,7 @@ public static void init() {
2626
String rubberId = "farmCEu.rubber";
2727
ceuFarm.registerFarmables(rubberId);
2828
farmRegistry.registerFarmables(rubberId,
29-
new FarmableGTRubberSapling(MetaBlocks.RUBBER_SAPLING,
29+
new FarmableGTCEuSapling(MetaBlocks.RUBBER_SAPLING,
3030
new ItemStack[] { MetaItems.STICKY_RESIN.getStackForm() }));
3131

3232
// GregTech Fertilizer

src/main/java/com/github/gtexpert/gtbm/integration/gtfo/farming/FarmableGTFOSapling.java

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -72,18 +72,22 @@ public boolean isWindfall(ItemStack itemstack) {
7272

7373
@Override
7474
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);
8691
}
87-
return false;
8892
}
8993
}

0 commit comments

Comments
 (0)