Skip to content

Commit 66fa619

Browse files
committed
GTECoreから一部移植
1 parent 49f30b0 commit 66fa619

9 files changed

Lines changed: 161 additions & 69 deletions

File tree

src/main/java/com/github/gtexpert/testmod/TestMod.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
import com.github.gtexpert.testmod.api.ModValues;
1818
import com.github.gtexpert.testmod.api.util.ModLog;
19-
import com.github.gtexpert.testmod.module.ModuleManager;
20-
import com.github.gtexpert.testmod.module.Modules;
19+
import com.github.gtexpert.testmod.modules.ModuleManager;
20+
import com.github.gtexpert.testmod.modules.Modules;
2121

2222
@Mod(
2323
modid = Tags.MODID,

src/main/java/com/github/gtexpert/testmod/api/util/ModLog.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,7 @@
77

88
public class ModLog {
99

10-
public static Logger logger = LogManager.getLogger(Tags.MODNAME);
10+
private ModLog() {}
11+
12+
public static final Logger logger = LogManager.getLogger(Tags.MODNAME);
1113
}
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,83 @@
11
package com.github.gtexpert.testmod.api.util;
22

3+
import java.util.Objects;
4+
import java.util.Random;
5+
6+
import net.minecraft.item.ItemStack;
7+
import net.minecraft.nbt.NBTTagCompound;
38
import net.minecraft.util.ResourceLocation;
9+
import net.minecraftforge.fluids.FluidRegistry;
10+
import net.minecraftforge.fluids.FluidStack;
11+
import net.minecraftforge.fml.common.registry.GameRegistry;
12+
import net.minecraftforge.oredict.OreDictionary;
413

514
import org.jetbrains.annotations.NotNull;
615

16+
import gregtech.api.unification.OreDictUnifier;
17+
import gregtech.api.unification.material.Material;
18+
import gregtech.api.unification.stack.ItemMaterialInfo;
19+
import gregtech.api.unification.stack.MaterialStack;
20+
721
import com.github.gtexpert.testmod.api.ModValues;
822

923
public class ModUtility {
1024

25+
private static final Random RANDOM = new Random();
26+
27+
public static @NotNull ItemStack getModItem(String modID, String itemName) {
28+
return GameRegistry.makeItemStack(modID + ":" + itemName, 0, 1, null);
29+
}
30+
31+
public static @NotNull ItemStack getModItem(String modID, String itemName, int amount) {
32+
return GameRegistry.makeItemStack(modID + ":" + itemName, 0, amount, null);
33+
}
34+
35+
public static @NotNull ItemStack getModItem(String modID, String itemName, int amount, int meta) {
36+
return GameRegistry.makeItemStack(modID + ":" + itemName, meta, amount, null);
37+
}
38+
39+
public static @NotNull ItemStack getModItem(String modID, String itemName, int amount, int meta,
40+
NBTTagCompound nbt) {
41+
return GameRegistry.makeItemStack(modID + ":" + itemName, meta, amount, nbt != null ? nbt.toString() : null);
42+
}
43+
44+
public static @NotNull FluidStack getModFluid(String fluidName) {
45+
return Objects.requireNonNull(FluidRegistry.getFluidStack(fluidName, 1000));
46+
}
47+
48+
public static @NotNull FluidStack getModFluid(String fluidName, int amount) {
49+
return Objects.requireNonNull(FluidRegistry.getFluidStack(fluidName, amount));
50+
}
51+
1152
public static @NotNull ResourceLocation id(String path) {
1253
return new ResourceLocation(ModValues.MODID, path);
1354
}
55+
56+
public static void registerOre(String dictName, ItemStack... itemStacks) {
57+
for (ItemStack stack : itemStacks) {
58+
OreDictionary.registerOre(dictName, stack);
59+
}
60+
}
61+
62+
public static String generateRandomString(int length) {
63+
StringBuilder stringBuilder = new StringBuilder(length);
64+
65+
for (int i = 0; i < length; i++) {
66+
stringBuilder.append(RANDOM.nextInt(10));
67+
}
68+
69+
return stringBuilder.toString();
70+
}
71+
72+
public static void registerOre(ItemStack itemStack, Material material, long amount) {
73+
registerOre(itemStack, new MaterialStack(material, amount));
74+
}
75+
76+
public static void registerOre(ItemStack itemStack, MaterialStack... materialStacks) {
77+
registerOre(itemStack, new ItemMaterialInfo(materialStacks));
78+
}
79+
80+
public static void registerOre(ItemStack itemStack, ItemMaterialInfo materialInfo) {
81+
OreDictUnifier.registerOre(itemStack, materialInfo);
82+
}
1483
}

src/main/java/com/github/gtexpert/testmod/api/util/Mods.java

Lines changed: 14 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@
1919
import org.jetbrains.annotations.NotNull;
2020
import org.jetbrains.annotations.Nullable;
2121

22+
import gregtech.api.GTValues;
23+
24+
import com.github.gtexpert.testmod.api.ModValues;
25+
2226
public enum Mods {
2327

2428
AEAdditions(Names.AE_ADDITIONS),
@@ -27,7 +31,6 @@ public enum Mods {
2731
Avaritia(Names.AVARITIA),
2832
Avaritiaaddons(Names.AVARITIAADDONS),
2933
Baubles(Names.BAUBLES),
30-
Botany(Names.BOTANY),
3134
Chisel(Names.CHISEL),
3235
CTM(Names.CONNECTED_TEXTURES_MOD),
3336
CraftTweaker(Names.CRAFT_TWEAKER),
@@ -39,43 +42,20 @@ public enum Mods {
3942
EnderIOMachines(Names.ENDER_MACHINES),
4043
EnderIOConduits(Names.ENDER_CONDUITS),
4144
EnderIOAE2Conduits(Names.ENDER_AE2_CONDUITS),
42-
ExtraBees(Names.EXTRA_BEES),
4345
ExtraCPUs(Names.EXTRA_CPUS),
44-
ExtraTrees(Names.EXTRA_TREES),
45-
Forestry(Names.FORESTRY),
46-
// ForestryApiculture(Names.FORESTRY, forestryModule(Names.FORESTRY_APICULTURE)),
47-
// ForestryArboriculture(Names.FORESTRY, forestryModule(Names.FORESTRY_ARBORICULTURE)),
48-
// ForestryCharcoal(Names.FORESTRY, forestryModule(Names.FORESTRY_CHARCOAL)),
49-
// ForestryCore(Names.FORESTRY, forestryModule(Names.FORESTRY_CORE)),
50-
// ForestryEnergy(Names.FORESTRY, forestryModule(Names.FORESTRY_ENERGY)),
51-
// ForestryFactory(Names.FORESTRY, forestryModule(Names.FORESTRY_FACTORY)),
52-
// ForestryWorktable(Names.FORESTRY, forestryModule(Names.FORESTRY_WORKTABLE)),
53-
// ForestryFarming(Names.FORESTRY, forestryModule(Names.FORESTRY_FARMING)),
54-
// ForestryClimatology(Names.FORESTRY, forestryModule(Names.FORESTRY_CLIMATOLOGY)),
55-
// ForestryGreenhouse(Names.FORESTRY, forestryModule(Names.FORESTRY_GREENHOUSE)),
56-
// ForestryFluids(Names.FORESTRY, forestryModule(Names.FORESTRY_FLUIDS)),
57-
// ForestryFood(Names.FORESTRY, forestryModule(Names.FORESTRY_FOOD)),
58-
// ForestryLepidopterology(Names.FORESTRY, forestryModule(Names.FORESTRY_LEPIDOPTEROLOGY)),
59-
// ForestryMail(Names.FORESTRY, forestryModule(Names.FORESTRY_MAIL)),
60-
// ForestryCrate(Names.FORESTRY, forestryModule(Names.FORESTRY_CRATE)),
61-
// ForestryBackpacks(Names.FORESTRY, forestryModule(Names.FORESTRY_BACKPACKS)),
62-
// ForestryDatabase(Names.FORESTRY, forestryModule(Names.FORESTRY_DATABASE)),
63-
// ForestrySorting(Names.FORESTRY, forestryModule(Names.FORESTRY_SORTING)),
64-
// ForestryBook(Names.FORESTRY, forestryModule(Names.FORESTRY_BOOK)),
65-
// ForestryCultivation(Names.FORESTRY, forestryModule(Names.FORESTRY_CULTIVATION)),
66-
// ForestryResearch(Names.FORESTRY, forestryModule(Names.FORESTRY_RESEARCH)),
6746
GalacticraftCore(Names.GALACTICRAFT_CORE),
68-
Genetics(Names.GENETICS),
69-
Gendustry(Names.GENDUSTRY),
7047
GregicalityMultiblocks(Names.GREGICALITY_MULTIBLOCKS),
7148
GregTech(Names.GREGTECH),
7249
GregTechFoodOption(Names.GREGTECH_FOOD_OPTION),
50+
GregTechExpertCore(Names.GREGTECH_EXPERT_CORE),
51+
GregTechChisel(Names.GREGTECH_CHISEL),
52+
GregTechWoodProcessing(Names.GREGTECH_WOOD_PROCESSING),
7353
GroovyScript(Names.GROOVY_SCRIPT),
7454
HWYLA(Names.HWYLA),
55+
ImplosionNoBomb(Names.IMPLOSION_NO_BOMB),
7556
InventoryTweaks(Names.INVENTORY_TWEAKS),
7657
JourneyMap(Names.JOURNEY_MAP),
7758
JustEnoughItems(Names.JUST_ENOUGH_ITEMS),
78-
MagicBees(Names.MAGIC_BEES),
7959
ModularUI(Names.MODULRAUI),
8060
MixinBooter(Names.MIXINBOOTER),
8161
NeevesAE2(Names.NEEVES_AE2),
@@ -136,40 +116,21 @@ public static class Names {
136116
public static final String EXTRA_BEES = "extrabees";
137117
public static final String EXTRA_CPUS = "extracpus";
138118
public static final String EXTRA_TREES = "extratrees";
139-
public static final String FORESTRY = "forestry";
140-
public static final String FORESTRY_APICULTURE = "apiculture";
141-
public static final String FORESTRY_ARBORICULTURE = "arboriculture";
142-
public static final String FORESTRY_CHARCOAL = "charcoal";
143-
public static final String FORESTRY_CORE = "core";
144-
public static final String FORESTRY_ENERGY = "energy";
145-
public static final String FORESTRY_FACTORY = "factory";
146-
public static final String FORESTRY_WORKTABLE = "worktable";
147-
public static final String FORESTRY_FARMING = "farming";
148-
public static final String FORESTRY_CLIMATOLOGY = "climatology";
149-
public static final String FORESTRY_GREENHOUSE = "greenhouse";
150-
public static final String FORESTRY_FLUIDS = "fluids";
151-
public static final String FORESTRY_FOOD = "food";
152-
public static final String FORESTRY_LEPIDOPTEROLOGY = "lepidopterology";
153-
public static final String FORESTRY_MAIL = "mail";
154-
public static final String FORESTRY_CRATE = "crates";
155-
public static final String FORESTRY_BACKPACKS = "backpacks";
156-
public static final String FORESTRY_DATABASE = "database";
157-
public static final String FORESTRY_SORTING = "sorting";
158-
public static final String FORESTRY_BOOK = "book";
159-
public static final String FORESTRY_CULTIVATION = "cultivation";
160-
public static final String FORESTRY_RESEARCH = "research";
161119
public static final String GALACTICRAFT_CORE = "galacticraftcore";
162120
public static final String GENETICS = "genetics";
163121
public static final String GENDUSTRY = "gendustry";
164122
public static final String GREGICALITY_MULTIBLOCKS = "gcym";
165-
public static final String GREGTECH = "gregtech";
123+
public static final String GREGTECH = GTValues.MODID;
166124
public static final String GREGTECH_FOOD_OPTION = "gregtechfoodoption";
125+
public static final String GREGTECH_EXPERT_CORE = "gtexpert";
126+
public static final String GREGTECH_CHISEL = ModValues.MODID;
127+
public static final String GREGTECH_WOOD_PROCESSING = "gtwp";
167128
public static final String GROOVY_SCRIPT = "groovyscript";
168129
public static final String HWYLA = "hwyla";
130+
public static final String IMPLOSION_NO_BOMB = "inb";
169131
public static final String INVENTORY_TWEAKS = "inventorytweaks";
170132
public static final String JOURNEY_MAP = "journeymap";
171133
public static final String JUST_ENOUGH_ITEMS = "jei";
172-
public static final String MAGIC_BEES = "magicbees";
173134
public static final String MODULRAUI = "modularui";
174135
public static final String MIXINBOOTER = "mixinbooter";
175136
public static final String NEEVES_AE2 = "nae2";
@@ -181,7 +142,7 @@ public static class Names {
181142
public static final String RAILCRAFT = "railcraft";
182143
public static final String REFINED_STORAGE = "refinedstorage";
183144
public static final String THAUMCRAFT = "thaumcraft";
184-
public static final String THAUMIC_ENERGISTICS = "haumicenergistics";
145+
public static final String THAUMIC_ENERGISTICS = "thaumicenergistics";
185146
public static final String THE_ONE_PROBE = "theoneprobe";
186147
public static final String TINKERS_CONSTRUCT = "tconstruct";
187148
public static final String TOP_ADDONS = "topaddons";
@@ -294,13 +255,4 @@ private static Function<Mods, Boolean> versionExcludes(String versionPart) {
294255
return !container.getVersion().contains(versionPart);
295256
};
296257
}
297-
298-
/** Test if a specific Forestry module is enabled. */
299-
// private static Function<Mods, Boolean> forestryModule(String moduleID) {
300-
// if (Forestry.isModLoaded()) {
301-
// return mod -> forestry.modules.ModuleHelper.isEnabled(moduleID);
302-
// } else {
303-
// return $ -> false;
304-
// }
305-
// }
306258
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package com.github.gtexpert.testmod.core;
2+
3+
import java.io.*;
4+
import java.util.Map;
5+
import java.util.Properties;
6+
7+
import net.minecraftforge.fml.relauncher.IFMLLoadingPlugin;
8+
9+
import org.jetbrains.annotations.Nullable;
10+
11+
import com.github.gtexpert.testmod.api.ModValues;
12+
import com.github.gtexpert.testmod.api.util.ModLog;
13+
14+
public class CoreMod implements IFMLLoadingPlugin {
15+
16+
static Properties coremodConfig = new Properties();
17+
public static boolean downloadOnlyOnce;
18+
19+
@Override
20+
public String[] getASMTransformerClass() {
21+
ModLog.logger.info("CoreMod: getASMTransformerClass() called");
22+
return new String[] {};
23+
}
24+
25+
@Override
26+
public String getModContainerClass() {
27+
return null;
28+
}
29+
30+
@Nullable
31+
@Override
32+
public String getSetupClass() {
33+
ModLog.logger.info("CoreMod: getSetupClass() called, returning DepLoader");
34+
return null;
35+
}
36+
37+
@Override
38+
public void injectData(Map<String, Object> data) {
39+
ModLog.logger.info("CoreMod: injectData() called");
40+
coremodConfig.setProperty("downloadOnlyOnce", "true");
41+
File mcLocation = (File) data.get("mcLocation");
42+
File configDir = new File(mcLocation, "config");
43+
// noinspection ResultOfMethodCallIgnored
44+
configDir.mkdir();
45+
File config = new File(configDir, ModValues.MODID + "/CoreMod.properties");
46+
try (Reader r = new FileReader(config)) {
47+
coremodConfig.load(r);
48+
} catch (FileNotFoundException ignored) {
49+
// not a problem
50+
} catch (IOException e) {
51+
ModLog.logger.warn("Can't read coremod config. Proceeding with defaults!", e);
52+
}
53+
try (Writer r = new FileWriter(config)) {
54+
coremodConfig.store(r, "Config file for GTExpert CoreMod");
55+
} catch (IOException e) {
56+
ModLog.logger.warn("Can't write coremod config. Changes may not have been saved!", e);
57+
}
58+
downloadOnlyOnce = "true".equalsIgnoreCase(coremodConfig.getProperty("downloadOnlyOnce"));
59+
}
60+
61+
@Override
62+
public String getAccessTransformerClass() {
63+
return null;
64+
}
65+
}

src/main/java/com/github/gtexpert/testmod/core/CoreModule.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.github.gtexpert.testmod.core;
22

33
import net.minecraftforge.fml.common.SidedProxy;
4+
import net.minecraftforge.fml.common.event.FMLConstructionEvent;
45
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
56

67
import org.apache.logging.log4j.LogManager;
@@ -12,7 +13,7 @@
1213
import com.github.gtexpert.testmod.api.modules.IModule;
1314
import com.github.gtexpert.testmod.api.modules.TModule;
1415
import com.github.gtexpert.testmod.common.CommonProxy;
15-
import com.github.gtexpert.testmod.module.Modules;
16+
import com.github.gtexpert.testmod.modules.Modules;
1617

1718
@TModule(
1819
moduleID = Modules.MODULE_CORE,
@@ -33,6 +34,9 @@ public class CoreModule implements IModule {
3334
return logger;
3435
}
3536

37+
@Override
38+
public void construction(FMLConstructionEvent event) {}
39+
3640
@Override
3741
public void preInit(FMLPreInitializationEvent event) {
3842
proxy.preInit(event);

src/main/java/com/github/gtexpert/testmod/module/BaseModule.java renamed to src/main/java/com/github/gtexpert/testmod/modules/BaseModule.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.github.gtexpert.testmod.module;
1+
package com.github.gtexpert.testmod.modules;
22

33
import java.util.Collections;
44
import java.util.Set;

src/main/java/com/github/gtexpert/testmod/module/ModuleManager.java renamed to src/main/java/com/github/gtexpert/testmod/modules/ModuleManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.github.gtexpert.testmod.module;
1+
package com.github.gtexpert.testmod.modules;
22

33
import java.io.File;
44
import java.util.*;

src/main/java/com/github/gtexpert/testmod/module/Modules.java renamed to src/main/java/com/github/gtexpert/testmod/modules/Modules.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.github.gtexpert.testmod.module;
1+
package com.github.gtexpert.testmod.modules;
22

33
import com.github.gtexpert.testmod.api.ModValues;
44
import com.github.gtexpert.testmod.api.modules.IModuleContainer;

0 commit comments

Comments
 (0)