Skip to content

Commit c7a32cd

Browse files
committed
FFM連携強化と細やかなリファクタ
1 parent 17a2464 commit c7a32cd

18 files changed

Lines changed: 385 additions & 88 deletions

src/main/java/com/github/gtexpert/gtbm/api/gui/GTBMGuiTextures.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public class GTBMGuiTextures {
1717
public static final TextureArea GTBM_LOGO_BLINKING_RED = TextureArea
1818
.fullImage("textures/gui/icon/gtbm_logo_blinking_red.png");
1919

20-
// Bee status icon (from JEI)
20+
// Bee status icon (directly from JEI's hint icons)
2121
public static final TextureArea BEE_INFO_ICON = new TextureArea(
2222
new ResourceLocation("jei", "textures/gui/icons/info.png"), 0, 0, 1, 1);
2323

src/main/java/com/github/gtexpert/gtbm/integration/forestry/ForestryModule.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import com.github.gtexpert.gtbm.integration.forestry.loaders.FFMOreDictionaryLoader;
1313
import com.github.gtexpert.gtbm.integration.forestry.recipes.*;
1414
import com.github.gtexpert.gtbm.integration.forestry.recipes.machines.*;
15-
import com.github.gtexpert.gtbm.integration.forestry.util.BeeHousingInfoProvider;
1615
import com.github.gtexpert.gtbm.module.Modules;
1716

1817
@TModule(
@@ -37,11 +36,6 @@ public void postInit(FMLPostInitializationEvent event) {
3736
CarpenterLoader.initMode();
3837
CentrifugeLoader.init();
3938
FabricatorLoader.init();
40-
41-
// Register TOP provider for bee housing health display
42-
if (Mods.TheOneProbe.isModLoaded()) {
43-
mcjty.theoneprobe.TheOneProbe.theOneProbeImp.registerProvider(new BeeHousingInfoProvider());
44-
}
4539
}
4640

4741
@Override

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

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,13 @@
1212
import net.minecraft.util.EnumActionResult;
1313
import net.minecraft.util.EnumFacing;
1414
import net.minecraft.util.EnumHand;
15+
import net.minecraft.util.SoundCategory;
1516
import net.minecraft.util.math.BlockPos;
1617
import net.minecraft.world.World;
1718

1819
import forestry.api.farming.ICrop;
1920
import forestry.api.farming.IFarmable;
2021
import forestry.api.farming.IFarmableInfo;
21-
import forestry.core.network.packets.PacketFXSignal;
22-
import forestry.core.utils.NetworkUtil;
2322
import forestry.farming.logic.crops.CropDestroy;
2423

2524
public class FarmableGTCEuSapling implements IFarmable {
@@ -79,10 +78,8 @@ public boolean plantSaplingAt(EntityPlayer player, ItemStack germling, World wor
7978
EnumActionResult result = copy.onItemUse(player, world, pos.down(),
8079
EnumHand.MAIN_HAND, EnumFacing.UP, 0, 0, 0);
8180
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);
81+
world.playSound(null, pos, Blocks.SAPLING.getSoundType().getPlaceSound(),
82+
SoundCategory.BLOCKS, 1.0F, 1.0F);
8683
return true;
8784
}
8885
return false;

src/main/java/com/github/gtexpert/gtbm/integration/forestry/util/ForestryBeeHelper.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
11
package com.github.gtexpert.gtbm.integration.forestry.util;
22

3+
import forestry.apiculture.ModuleApiculture;
4+
35
/**
46
* Utilities for Forestry bee work cycle timing and display.
57
*/
68
public class ForestryBeeHelper {
79

8-
/** Get ticks per bee work cycle from Forestry config. Default 550. */
10+
/**
11+
* Returns ticks per bee work cycle from Forestry's config.
12+
* Uses {@link ModuleApiculture#ticksPerBeeWorkCycle} (default 550,
13+
* configured via "beekeeping.ticks.work" in forestry's config).
14+
*/
915
public static int getTicksPerWorkCycle() {
10-
return forestry.apiculture.ModuleApiculture.ticksPerBeeWorkCycle;
16+
return ModuleApiculture.ticksPerBeeWorkCycle;
1117
}
1218

1319
/** Effective ticks per health point, accounting for lifespan modifier. */

src/main/java/com/github/gtexpert/gtbm/integration/forestry/util/ForestryFarmHelper.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,17 @@
22

33
import java.util.function.BiFunction;
44

5+
import net.minecraft.block.Block;
56
import net.minecraft.init.Blocks;
67
import net.minecraft.item.ItemStack;
78

9+
import com.github.gtexpert.gtbm.api.util.Mods;
10+
811
import forestry.api.circuits.ChipsetManager;
912
import forestry.api.circuits.ICircuitLayout;
1013
import forestry.api.core.ForestryAPI;
1114
import forestry.api.farming.IFarmLogic;
1215
import forestry.api.farming.IFarmProperties;
13-
import forestry.core.ModuleCore;
1416
import forestry.core.items.EnumElectronTube;
1517
import forestry.farming.circuits.CircuitFarmLogic;
1618

@@ -20,14 +22,15 @@ public static IFarmProperties registerFarmType(String farmId,
2022
BiFunction<IFarmProperties, Boolean, IFarmLogic> logicFactory,
2123
EnumElectronTube tube) {
2224
IFarmProperties farm = ForestryAPI.farmRegistry.registerLogic(farmId, logicFactory);
23-
farm.registerSoil(new ItemStack(Blocks.DIRT), ModuleCore.getBlocks().humus.getDefaultState());
25+
farm.registerSoil(new ItemStack(Blocks.DIRT),
26+
Block.getBlockFromItem(Mods.Forestry.getItem("humus").getItem()).getDefaultState());
2427

2528
CircuitFarmLogic managed = new CircuitFarmLogic("managed." + farmId, farm, false);
2629
CircuitFarmLogic manual = new CircuitFarmLogic("manual." + farmId, farm, true);
2730

2831
ICircuitLayout layoutManaged = ChipsetManager.circuitRegistry.getLayout("forestry.farms.managed");
2932
ICircuitLayout layoutManual = ChipsetManager.circuitRegistry.getLayout("forestry.farms.manual");
30-
ItemStack tubeStack = ModuleCore.getItems().tubes.get(tube, 1);
33+
ItemStack tubeStack = Mods.Forestry.getItem("thermionic_tubes", 1, tube.ordinal());
3134

3235
ChipsetManager.solderManager.addRecipe(layoutManaged, tubeStack, managed);
3336
ChipsetManager.solderManager.addRecipe(layoutManual, tubeStack, manual);

src/main/java/com/github/gtexpert/gtbm/integration/gendustry/GendustryConfigHolder.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,18 @@ public class GendustryConfigHolder {
1313

1414
@Config.Comment({ "If true, each will be uncraftable.", "default: true" })
1515
public static boolean industrialApiary = true;
16+
17+
@Config.Comment("MetaTileEntity ID settings")
18+
public static MetaTileEntityIds metaTileEntityIds = new MetaTileEntityIds();
19+
20+
public static class MetaTileEntityIds {
21+
22+
@Config.Comment({ "Starting ID for Industrial Apiary (uses 12 consecutive IDs).", "default: 20000" })
23+
@Config.RangeInt(min = 1, max = 32767)
24+
public int industrialApiaryStartId = 20000;
25+
26+
@Config.Comment({ "ID for Mega Apiary.", "default: 20500" })
27+
@Config.RangeInt(min = 1, max = 32767)
28+
public int megaApiaryId = 20500;
29+
}
1630
}

src/main/java/com/github/gtexpert/gtbm/integration/gendustry/GendustryModule.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
moduleID = Modules.MODULE_GENDUSTRY,
1919
containerID = ModValues.MODID,
2020
modDependencies = { Mods.Names.FORESTRY, Mods.Names.GENDUSTRY },
21-
name = "GTBeesMatrix Gendustry For Minecraft Integration",
21+
name = "GTBeesMatrix Gendustry Integration",
2222
description = "Gendustry Integration Module")
2323
public class GendustryModule extends GTBMIntegrationSubmodule {
2424

src/main/java/com/github/gtexpert/gtbm/integration/gendustry/metatileentities/GendustryMetaTileEntities.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import static gregtech.common.metatileentities.MetaTileEntities.registerMetaTileEntity;
77

88
import com.github.gtexpert.gtbm.client.GTBMTextures;
9+
import com.github.gtexpert.gtbm.integration.gendustry.GendustryConfigHolder;
910
import com.github.gtexpert.gtbm.integration.gendustry.GendustryRecipeMaps;
1011
import com.github.gtexpert.gtbm.integration.gendustry.metatileentities.multiblock.MetaTileEntityMegaApiary;
1112

@@ -17,19 +18,16 @@ public class GendustryMetaTileEntities {
1718
public static MetaTileEntityMegaApiary MEGA_APIARY;
1819

1920
public static void init() {
20-
// INDUSTRIAL_APIARY 20000~20012
21-
// TODO: IDの変更
21+
GendustryConfigHolder.MetaTileEntityIds ids = GendustryConfigHolder.metaTileEntityIds;
2222

23-
registerMetaTileEntities(INDUSTRIAL_APIARY, 20000, "industrial_apiary",
23+
registerMetaTileEntities(INDUSTRIAL_APIARY, ids.industrialApiaryStartId, "industrial_apiary",
2424
(tier, voltageName) -> new MetaTileEntityIndustrialApiary(
2525
gtbm(String.format("%s.%s", "industrial_apiary", voltageName)),
2626
GendustryRecipeMaps.INDUSTRIAL_APIARY_RECIPES,
2727
GTBMTextures.INDUSTRIAL_APIARY_OVERLAY,
2828
tier, false, null));
2929

30-
// Multiblock
31-
// Mega Apiary 20500
32-
MEGA_APIARY = registerMetaTileEntity(20500, new MetaTileEntityMegaApiary(
30+
MEGA_APIARY = registerMetaTileEntity(ids.megaApiaryId, new MetaTileEntityMegaApiary(
3331
gtbm("mega_apiary")));
3432
}
3533
}

0 commit comments

Comments
 (0)