diff options
author | DianeXD <64360468+DianeXD@users.noreply.github.com> | 2022-07-27 18:21:47 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-27 17:21:47 +0700 |
commit | 56d7f408a6fa7fe10bd243d6cb7bf175d00d3174 (patch) | |
tree | 3beaedc929186d36032ce9c8671283df6cb8906d | |
parent | 4d797212c8dd41a7a5a3ce742ac6d872f9337395 (diff) | |
download | GT5-Unofficial-56d7f408a6fa7fe10bd243d6cb7bf175d00d3174.tar.gz GT5-Unofficial-56d7f408a6fa7fe10bd243d6cb7bf175d00d3174.tar.bz2 GT5-Unofficial-56d7f408a6fa7fe10bd243d6cb7bf175d00d3174.zip |
Some LES bug fixes (#57)
* Add mod check to prevent unexpected crash
* Fix wrong NBTbase type
* Fix some missing Essentia
* Change incorrect text
* careless
* Use the correct random function
5 files changed, 53 insertions, 48 deletions
diff --git a/src/main/java/goodgenerator/blocks/tileEntity/EssentiaOutputHatch.java b/src/main/java/goodgenerator/blocks/tileEntity/EssentiaOutputHatch.java index b3f3f51aff..ba87a66af0 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/EssentiaOutputHatch.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/EssentiaOutputHatch.java @@ -30,7 +30,7 @@ public class EssentiaOutputHatch extends TileThaumcraft implements IAspectContai public void readFromNBT(NBTTagCompound nbttagcompound) { super.readFromNBT(nbttagcompound); this.mAspects.aspects.clear(); - NBTTagList tlist = nbttagcompound.getTagList("Aspects", 69); + NBTTagList tlist = nbttagcompound.getTagList("Aspects", 10); for (int j = 0; j < tlist.tagCount(); ++j) { NBTTagCompound rs = tlist.getCompoundTagAt(j); if (rs.hasKey("key")) mAspects.add(Aspect.getAspect(rs.getString("key")), rs.getInteger("amount")); diff --git a/src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaSmeltery.java b/src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaSmeltery.java index ddf48a63ed..cfb2d0afc6 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaSmeltery.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaSmeltery.java @@ -327,6 +327,7 @@ public class LargeEssentiaSmeltery extends GT_MetaTileEntity_TooltipMultiBlockBa private AspectList getEssentia(ItemStack itemStack, int amount) { AspectList aspectList = new AspectList(); AspectList aspects = ThaumcraftCraftingManager.getObjectTags(itemStack); + aspects = ThaumcraftCraftingManager.getBonusTags(itemStack, aspects); if (aspects != null && aspects.size() != 0 && aspects.getAspects()[0] != null) { for (int i = 0; i < amount; i++) aspectList.add(aspects); } else aspectList.add(Aspect.ENTROPY, amount); @@ -385,7 +386,7 @@ public class LargeEssentiaSmeltery extends GT_MetaTileEntity_TooltipMultiBlockBa this.nodeIncrease = aNBT.getInteger("nodeIncrease"); this.mOutputAspects.aspects.clear(); - NBTTagList tlist = aNBT.getTagList("Aspects", 69); + NBTTagList tlist = aNBT.getTagList("Aspects", 10); for (int j = 0; j < tlist.tagCount(); ++j) { NBTTagCompound rs = tlist.getCompoundTagAt(j); if (rs.hasKey("key")) @@ -444,7 +445,7 @@ public class LargeEssentiaSmeltery extends GT_MetaTileEntity_TooltipMultiBlockBa if (xstr.nextInt(100) < Math.max(100 - this.nodePurificationEfficiency, 0)) { final World WORLD = this.getBaseMetaTileEntity().getWorld(); GT_MetaTileEntity_Hatch_Muffler mufflerHatch = - this.mMufflerHatches.get(xstr.next(this.mMufflerHatches.size())); + this.mMufflerHatches.get(xstr.nextInt(this.mMufflerHatches.size())); int x = mufflerHatch.getBaseMetaTileEntity().getXCoord(); int y = mufflerHatch.getBaseMetaTileEntity().getYCoord(); int z = mufflerHatch.getBaseMetaTileEntity().getZCoord(); diff --git a/src/main/java/goodgenerator/crossmod/LoadedList.java b/src/main/java/goodgenerator/crossmod/LoadedList.java index 0079e60dcd..13e0ca38f5 100644 --- a/src/main/java/goodgenerator/crossmod/LoadedList.java +++ b/src/main/java/goodgenerator/crossmod/LoadedList.java @@ -12,6 +12,7 @@ public class LoadedList { public static boolean THAUMIC_TINKERER; public static boolean AUTOMAGY; public static boolean WITCHING_GADGETS; + public static boolean THAUMIC_ENERGISTICS; public static void init() { GTPP = Loader.isModLoaded("miscutils"); @@ -22,5 +23,6 @@ public class LoadedList { THAUMIC_TINKERER = Loader.isModLoaded("ThaumicTinkerer"); AUTOMAGY = Loader.isModLoaded("Automagy"); WITCHING_GADGETS = Loader.isModLoaded("WitchingGadgets"); + THAUMIC_ENERGISTICS = Loader.isModLoaded("thaumicenergistics"); } } diff --git a/src/main/java/goodgenerator/crossmod/thaumcraft/Research.java b/src/main/java/goodgenerator/crossmod/thaumcraft/Research.java index 3055db0e74..4a6de90abe 100644 --- a/src/main/java/goodgenerator/crossmod/thaumcraft/Research.java +++ b/src/main/java/goodgenerator/crossmod/thaumcraft/Research.java @@ -728,49 +728,51 @@ public class Research { thauminiteBlock) }); - ItemStack essentiaPump = LoadedList.WITCHING_GADGETS - ? GT_ModHandler.getModItem("WitchingGadgets", "WG_MetalDevice", 1, 0) - : new ItemStack(ConfigBlocks.blockTube, 1, 4); - ItemStack inter = LoadedList.THAUMIC_TINKERER - ? GT_ModHandler.getModItem("ThaumicTinkerer", "interface", 1, 0) - : new ItemStack(ConfigItems.itemResource, 1, 15); - GregTech_API.sThaumcraftCompat.addResearch( - "ESSENTIA_OUTPUT_HATCH_ME", - "Essentia Output Hatch (ME)", - "It must exist.", - new String[] {"INFUSION"}, - "ARTIFICE", - ItemRefer.Essentia_Output_Hatch_ME.get(1), - 3, - 0, - -15, - 3, - Arrays.asList( - new TC_Aspects.TC_AspectStack(TC_Aspects.ALIENIS, 10), - new TC_Aspects.TC_AspectStack(TC_Aspects.VINCULUM, 10), - new TC_Aspects.TC_AspectStack(TC_Aspects.STRONTIO, 10), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 10), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 10)), - null, - new Object[] { - "research.ESSENTIA_OUTPUT_HATCH_ME.page.0", - GregTech_API.sThaumcraftCompat.addInfusionRecipe( - "ESSENTIA_OUTPUT_HATCH_ME", - ItemRefer.Essentia_Output_Hatch.get(1), - new ItemStack[] { - GT_ModHandler.getModItem( - "thaumicenergistics", "thaumicenergistics.block.essentia.provider", 1), - new ItemStack(ConfigBlocks.blockEssentiaReservoir, 1, 0), - essentiaPump, - inter, - }, - ItemRefer.Essentia_Output_Hatch_ME.get(1), - 8, - Arrays.asList( - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 256), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256), - new TC_Aspects.TC_AspectStack(TC_Aspects.ALIENIS, 256), - new TC_Aspects.TC_AspectStack(TC_Aspects.STRONTIO, 256))) - }); + if (LoadedList.THAUMIC_ENERGISTICS) { + ItemStack essentiaPump = LoadedList.WITCHING_GADGETS + ? GT_ModHandler.getModItem("WitchingGadgets", "WG_MetalDevice", 1, 0) + : new ItemStack(ConfigBlocks.blockTube, 1, 4); + ItemStack inter = LoadedList.THAUMIC_TINKERER + ? GT_ModHandler.getModItem("ThaumicTinkerer", "interface", 1, 0) + : new ItemStack(ConfigItems.itemResource, 1, 15); + GregTech_API.sThaumcraftCompat.addResearch( + "ESSENTIA_OUTPUT_HATCH_ME", + "Essentia Output Hatch (ME)", + "It must exist.", + new String[] {"INFUSION"}, + "ARTIFICE", + ItemRefer.Essentia_Output_Hatch_ME.get(1), + 3, + 0, + -15, + 3, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.ALIENIS, 10), + new TC_Aspects.TC_AspectStack(TC_Aspects.VINCULUM, 10), + new TC_Aspects.TC_AspectStack(TC_Aspects.STRONTIO, 10), + new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 10), + new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 10)), + null, + new Object[] { + "research.ESSENTIA_OUTPUT_HATCH_ME.page.0", + GregTech_API.sThaumcraftCompat.addInfusionRecipe( + "ESSENTIA_OUTPUT_HATCH_ME", + ItemRefer.Essentia_Output_Hatch.get(1), + new ItemStack[] { + GT_ModHandler.getModItem( + "thaumicenergistics", "thaumicenergistics.block.essentia.provider", 1), + new ItemStack(ConfigBlocks.blockEssentiaReservoir, 1, 0), + essentiaPump, + inter, + }, + ItemRefer.Essentia_Output_Hatch_ME.get(1), + 8, + Arrays.asList( + new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 256), + new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256), + new TC_Aspects.TC_AspectStack(TC_Aspects.ALIENIS, 256), + new TC_Aspects.TC_AspectStack(TC_Aspects.STRONTIO, 256))) + }); + } } } diff --git a/src/main/resources/assets/goodgenerator/lang/en_US.lang b/src/main/resources/assets/goodgenerator/lang/en_US.lang index 62c4704a4d..e5d0b72ca6 100644 --- a/src/main/resources/assets/goodgenerator/lang/en_US.lang +++ b/src/main/resources/assets/goodgenerator/lang/en_US.lang @@ -489,7 +489,7 @@ research.ESSENTIA_UPGRADE_RADIATION.page.1=Acceptable Aspects:<BR><BR>Radio: 238 research.ESSENTIA_UPGRADE_RADIATION.page.2=Optional Liquid:<BR><BR>Molten Caesium: Efficiency:x2.0<BR><BR>Molten Uranium-235: Efficiency:x3.0<BR><BR>Molten Naquadah: Efficiency:x4.0<BR><BR>Molten Atomic Separation Catalyst: Efficiency:x16.0 research.ESSENTIA_UPGRADE_ELECTRIC.page.0=The ELECTRUM Essentia itself represents electricity!<BR><BR>The higher the voltage of the generator dynamo hatch, the more ELECTRUM will be affected by potential difference and increase the amount of energy. research.ESSENTIA_UPGRADE_ELECTRIC.page.1=Acceptable Aspects: Electrum<BR><BR>The formula to calculate its power:<BR>8x(3.0^Dynamo Hatch Tier)EU -research.ESSENTIA_SMELTERY.page.0=The Advanced Alchemical Furnace is no longer enough to support your Essentia production...<BR><BR>The LES(Large Elemental Smelter) is an advanced version of the Advanced Alchemical Furnace, which consumes electricity and cent-vis to smelt Essentia. +research.ESSENTIA_SMELTERY.page.0=The Advanced Alchemical Furnace is no longer enough to support your Essentia production...<BR><BR>The LES(Large Essentia Smeltery) is an advanced version of the Advanced Alchemical Furnace, which consumes electricity and cent-vis to smelt Essentia. research.ESSENTIA_SMELTERY.page.1=Ignis and Aqua are the basic conditions for the operation of LES. The minimum demand is about the highest Energy Hatch tier^2*1.15cv/work, and the machine can run only after it is satisfied.<BR><BR>Ordo affects the pollution and the generation of Flux Gas (randomly exhaust Flux Gas at the facing of the muffler when smelting Essentia).<BR><BR>Perditio can speed up machine work, up to 200% (100cv/5t). research.ESSENTIA_SMELTERY.page.2=The Essentia Diffusion Cell tier and structure size only affect the machine parallel, and the max parallel is 64x.<BR><BR>Items without Essentia will be smelted to 1 point of perditio. research.ESSENTIA_OUTPUT_HATCH_ME.page.0=Someday you will use it...<BR><BR>Be sure to connect to the network. It has no cache! |