diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/kubatech/CommonProxy.java | 6 | ||||
-rw-r--r-- | src/main/java/kubatech/api/network/LoadConfigPacket.java | 3 | ||||
-rw-r--r-- | src/main/java/kubatech/loaders/MTLoader.java | 25 | ||||
-rw-r--r-- | src/main/java/kubatech/loaders/TCLoader.java | 77 |
4 files changed, 73 insertions, 38 deletions
diff --git a/src/main/java/kubatech/CommonProxy.java b/src/main/java/kubatech/CommonProxy.java index f34ce3216a..e15a941431 100644 --- a/src/main/java/kubatech/CommonProxy.java +++ b/src/main/java/kubatech/CommonProxy.java @@ -30,6 +30,7 @@ import kubatech.commands.CommandHandler; import kubatech.commands.CommandHelp; import kubatech.commands.CommandTea; import kubatech.config.Config; +import kubatech.loaders.MTLoader; import kubatech.loaders.RecipeLoader; import kubatech.loaders.TCLoader; import kubatech.savedata.PlayerDataManager; @@ -49,7 +50,9 @@ public class CommonProxy { if (LoaderReference.Thaumcraft) TCLoader.load(); } - public void init(FMLInitializationEvent event) {} + public void init(FMLInitializationEvent event) { + if (LoaderReference.MineTweaker) MTLoader.init(); + } public void postInit(FMLPostInitializationEvent event) { RecipeLoader.addRecipes(); @@ -59,7 +62,6 @@ public class CommonProxy { public void serverStarting(FMLServerStartingEvent event) { RecipeLoader.addRecipesLate(); - if (LoaderReference.Thaumcraft) TCLoader.lateLoad(); CommandHandler cmd = new CommandHandler(); cmd.addCommand(new CommandHelp()); cmd.addCommand(new CommandConfig()); diff --git a/src/main/java/kubatech/api/network/LoadConfigPacket.java b/src/main/java/kubatech/api/network/LoadConfigPacket.java index 03602e89f1..defb139151 100644 --- a/src/main/java/kubatech/api/network/LoadConfigPacket.java +++ b/src/main/java/kubatech/api/network/LoadConfigPacket.java @@ -26,12 +26,10 @@ import io.netty.buffer.ByteBuf; import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.HashSet; -import kubatech.api.LoaderReference; import kubatech.config.Config; import kubatech.config.OverridesConfig; import kubatech.kubatech; import kubatech.loaders.MobRecipeLoader; -import kubatech.loaders.TCLoader; public class LoadConfigPacket implements IMessage { @@ -87,7 +85,6 @@ public class LoadConfigPacket implements IMessage { public IMessage onMessage(LoadConfigPacket message, MessageContext ctx) { kubatech.info("Received Mob Handler config, parsing"); MobRecipeLoader.processMobRecipeMap(message.mobsToLoad, message.mobsOverrides); - if (LoaderReference.Thaumcraft) TCLoader.lateLoad(); return null; } } diff --git a/src/main/java/kubatech/loaders/MTLoader.java b/src/main/java/kubatech/loaders/MTLoader.java new file mode 100644 index 0000000000..5a1d620cac --- /dev/null +++ b/src/main/java/kubatech/loaders/MTLoader.java @@ -0,0 +1,25 @@ +package kubatech.loaders; + +import kubatech.Tags; +import kubatech.api.LoaderReference; +import minetweaker.MineTweakerImplementationAPI; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +public class MTLoader { + + private static final Logger LOG = LogManager.getLogger(Tags.MODID + "[MT Loader]"); + public static MTLoader instance = null; + + public static void init() { + if (instance == null) { + instance = new MTLoader(); + MineTweakerImplementationAPI.onPostReload(instance::MTOnPostReload); + } + } + + public void MTOnPostReload(MineTweakerImplementationAPI.ReloadEvent reloadEvent) { + LOG.info("MT Recipes Loaded!"); + if (LoaderReference.Thaumcraft) TCLoader.register(); + } +} diff --git a/src/main/java/kubatech/loaders/TCLoader.java b/src/main/java/kubatech/loaders/TCLoader.java index 3c4980f251..95d215b37d 100644 --- a/src/main/java/kubatech/loaders/TCLoader.java +++ b/src/main/java/kubatech/loaders/TCLoader.java @@ -26,11 +26,16 @@ public class TCLoader { public static void load() {} - public static void lateLoad() { - if (lateLoaded) return; - lateLoaded = true; + public static void register() { if (!LoaderReference.GTNHCoreMod || !LoaderReference.DraconicEvolution) return; + registerRecipe(); + registerResearch(); + } + + private static InfusionRecipe ultimateTeaRecipe = null; + private static void registerRecipe() { + if (ultimateTeaRecipe != null) return; final ItemStack[] components = new ItemStack[] { // ItemList.LegendaryBlackTea.get(1), // ItemList.LegendaryButterflyTea.get(1), @@ -60,7 +65,6 @@ public class TCLoader { .map(stack -> ItemID.create_NoCopy(stack, true, false, true)) .collect(Collectors.toCollection(HashSet::new)); - InfusionRecipe ultimateTeaRecipe; //noinspection unchecked ThaumcraftApi.getCraftingRecipes() .add( @@ -92,34 +96,41 @@ public class TCLoader { return hashedInputs.containsAll(componentsHashed); } }); - ResearchItem research = - new ResearchItem( - "KT_UltimateTea", - "NEWHORIZONS", - new AspectList() - .add(Aspect.MAGIC, 1) - .add(Aspect.HEAL, 1) - .add(Aspect.PLANT, 1) - .add(Aspect.EXCHANGE, 1), - -2, - 4, - 2, - ItemList.LegendaryUltimateTea.get(1)) { - @Override - public String getName() { - return TeaUltimate.getUltimateTeaDisplayName(super.getName()); - } - }; - research.setPages( - new ResearchPage("KT.research.ultimatetea") { - @Override - public String getTranslatedText() { - return TeaUltimate.getUltimateTeaDisplayName(super.getTranslatedText()); - } - }, - new ResearchPage(ultimateTeaRecipe)); - research.setParents("INFUSION", "DEZILSMARSHMALLOW"); - ThaumcraftApi.addWarpToResearch("KT_UltimateTea", 20); - ResearchCategories.addResearch(research); + } + + private static ResearchItem ultimateTeaResearch = null; + + private static void registerResearch() { + if (ultimateTeaResearch == null) { + ultimateTeaResearch = + new ResearchItem( + "KT_UltimateTea", + "NEWHORIZONS", + new AspectList() + .add(Aspect.MAGIC, 1) + .add(Aspect.HEAL, 1) + .add(Aspect.PLANT, 1) + .add(Aspect.EXCHANGE, 1), + -2, + 4, + 2, + ItemList.LegendaryUltimateTea.get(1)) { + @Override + public String getName() { + return TeaUltimate.getUltimateTeaDisplayName(super.getName()); + } + }; + ultimateTeaResearch.setPages( + new ResearchPage("KT.research.ultimatetea") { + @Override + public String getTranslatedText() { + return TeaUltimate.getUltimateTeaDisplayName(super.getTranslatedText()); + } + }, + new ResearchPage(ultimateTeaRecipe)); + ultimateTeaResearch.setParents("INFUSION", "DEZILSMARSHMALLOW"); + ThaumcraftApi.addWarpToResearch("KT_UltimateTea", 20); + } + ResearchCategories.addResearch(ultimateTeaResearch); } } |