diff options
Diffstat (limited to 'src')
30 files changed, 722 insertions, 143 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/ASM/BWCore.java b/src/main/java/com/github/bartimaeusnek/ASM/BWCore.java index 9c76b3dd82..031ff30512 100644 --- a/src/main/java/com/github/bartimaeusnek/ASM/BWCore.java +++ b/src/main/java/com/github/bartimaeusnek/ASM/BWCore.java @@ -22,11 +22,13 @@ package com.github.bartimaeusnek.ASM; +import com.github.bartimaeusnek.bartworks.common.configs.ConfigHandler; import com.github.bartimaeusnek.crossmod.BartWorksCrossmod; import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; import cpw.mods.fml.common.DummyModContainer; import cpw.mods.fml.common.LoadController; +import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.ModMetadata; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.versioning.ArtifactVersion; @@ -37,23 +39,28 @@ import org.apache.logging.log4j.Logger; import java.util.ArrayList; import java.util.List; +import static com.github.bartimaeusnek.ASM.BWCoreTransformer.shouldTransform; + public class BWCore extends DummyModContainer { public static final String BWCORE_NAME = "BartWorks ASM Core"; - public static final Logger BWCORE_LOG = LogManager.getLogger(BWCORE_NAME); + public static final Logger BWCORE_LOG = LogManager.getLogger(BWCore.BWCORE_NAME); public BWCore() { super(new ModMetadata()); - ModMetadata metadata = getMetadata(); + ModMetadata metadata = this.getMetadata(); metadata.modId = "BWCore"; - metadata.name = BWCORE_NAME; + metadata.name = BWCore.BWCORE_NAME; metadata.version = "0.0.1"; metadata.authorList.add("bartimaeusnek"); - metadata.dependants = getDependants(); + metadata.dependants = this.getDependants(); } @Subscribe public void preInit(FMLPreInitializationEvent event) { + shouldTransform[0] = Loader.isModLoaded("ExtraUtilities") && ConfigHandler.enabledPatches[0]; + shouldTransform[1] = Loader.isModLoaded("ExtraUtilities") && ConfigHandler.enabledPatches[1]; + BWCore.BWCORE_LOG.info("Extra Utilities found? " + shouldTransform[0]); } @Override diff --git a/src/main/java/com/github/bartimaeusnek/ASM/BWCorePlugin.java b/src/main/java/com/github/bartimaeusnek/ASM/BWCorePlugin.java index 2093b6a092..97f4702d4c 100644 --- a/src/main/java/com/github/bartimaeusnek/ASM/BWCorePlugin.java +++ b/src/main/java/com/github/bartimaeusnek/ASM/BWCorePlugin.java @@ -28,25 +28,27 @@ import cpw.mods.fml.relauncher.IFMLLoadingPlugin; import net.minecraftforge.common.config.Configuration; import java.io.File; +import java.util.ArrayList; import java.util.Map; @IFMLLoadingPlugin.SortingIndex(999999999)//Load as late as possible (after fastcraft/OptiFine). @IFMLLoadingPlugin.MCVersion("1.7.10") -@IFMLLoadingPlugin.TransformerExclusions({"com.github.bartimaeusnek.ASM"}) +@IFMLLoadingPlugin.TransformerExclusions("com.github.bartimaeusnek.ASM") @IFMLLoadingPlugin.Name(BWCorePlugin.BWCORE_PLUGIN_NAME) public class BWCorePlugin implements IFMLLoadingPlugin { public static final String BWCORE_PLUGIN_NAME = "BartWorks ASM Core Plugin"; - public static File minecraftDir = null; + public static File minecraftDir; public BWCorePlugin() { //Injection Code taken from CodeChickenLib - if (minecraftDir != null) + if (BWCorePlugin.minecraftDir != null) return;//get called twice, once for IFMLCallHook - minecraftDir = (File) FMLInjectionData.data()[6]; + BWCorePlugin.minecraftDir = (File) FMLInjectionData.data()[6]; //do all the configuration already now... - new ConfigHandler(new Configuration(new File(new File(minecraftDir, "config"), "bartworks.cfg"))); + new ConfigHandler(new Configuration(new File(new File(BWCorePlugin.minecraftDir, "config"), "bartworks.cfg"))); + BWCoreTransformer.shouldTransform[2] = false; } @Override @@ -69,6 +71,14 @@ public class BWCorePlugin implements IFMLLoadingPlugin { if (data.get("runtimeDeobfuscationEnabled") != null) { BWCoreTransformer.obfs = (boolean) data.get("runtimeDeobfuscationEnabled"); } + if (data.get("coremodList") != null) { + for (Object o : (ArrayList) data.get("coremodList")) { + if (o.toString().contains("MicdoodlePlugin")) { + BWCoreTransformer.shouldTransform[2] = ConfigHandler.enabledPatches[2]; + break; + } + } + } } @Override diff --git a/src/main/java/com/github/bartimaeusnek/ASM/BWCoreTransformer.java b/src/main/java/com/github/bartimaeusnek/ASM/BWCoreTransformer.java index c40faa0c98..bcc67b18d3 100644 --- a/src/main/java/com/github/bartimaeusnek/ASM/BWCoreTransformer.java +++ b/src/main/java/com/github/bartimaeusnek/ASM/BWCoreTransformer.java @@ -23,12 +23,15 @@ package com.github.bartimaeusnek.ASM; import net.minecraft.launchwrapper.IClassTransformer; +import net.minecraft.launchwrapper.Launch; import org.objectweb.asm.ClassReader; import org.objectweb.asm.ClassWriter; import org.objectweb.asm.tree.*; +import java.io.File; import java.util.Arrays; import java.util.List; +import java.util.jar.JarFile; import static org.objectweb.asm.Opcodes.*; @@ -47,23 +50,25 @@ public class BWCoreTransformer implements IClassTransformer { public static boolean[] shouldTransform = new boolean[CLASSESBEEINGTRANSFORMED.length]; - static { - //hacky way to detect if the mods are loaded - try{ - Class.forName("com.rwtema.extrautils.worldgen.endoftime.WorldProviderEndOfTime"); - shouldTransform[0] = true; - shouldTransform[1] = true; - }catch (ClassNotFoundException e){ - shouldTransform[0] = false; - shouldTransform[1] = false; - } - try{ - Class.forName("micdoodle8.mods.galacticraft.core.client.SkyProviderOverworld"); - shouldTransform[2] = true; - }catch (ClassNotFoundException e){ - shouldTransform[2] = false; - } - } +// public void checkForMods() { +// //hacky way to detect if the mods are loaded +// try{ +// Class.forName("com.rwtema.extrautils.core.Tuple"); +// shouldTransform[0] = true; +// shouldTransform[1] = true; +// }catch (ClassNotFoundException e){ +// BWCore.BWCORE_LOG.info("Extra Utilities not found!"); +// shouldTransform[0] = false; +// shouldTransform[1] = false; +// } +// try{ +// Class.forName("micdoodle8.mods.galacticraft.core.Constants"); +// shouldTransform[2] = true; +// }catch (ClassNotFoundException e){ +// BWCore.BWCORE_LOG.info("micdoodle Core not found!"); +// shouldTransform[2] = false; +// } +// } public static byte[] transform(int id, byte[] basicClass) { if (!BWCoreTransformer.shouldTransform[id]) { diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java b/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java index 99ac6fda7e..e5ee488b2f 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java @@ -35,34 +35,50 @@ import com.github.bartimaeusnek.bartworks.common.loaders.BioLabLoader; import com.github.bartimaeusnek.bartworks.common.loaders.GTNHBlocks; import com.github.bartimaeusnek.bartworks.common.loaders.LoaderRegistry; import com.github.bartimaeusnek.bartworks.common.net.BW_Network; -import com.github.bartimaeusnek.bartworks.common.tileentities.multis.GT_TileEntity_THTR; import com.github.bartimaeusnek.bartworks.system.log.DebugLog; import com.github.bartimaeusnek.bartworks.system.material.ThreadedLoader; import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; +import com.github.bartimaeusnek.bartworks.util.BW_Util; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.event.FMLServerStartedEvent; import cpw.mods.fml.common.network.IGuiHandler; import cpw.mods.fml.common.network.NetworkRegistry; +import cpw.mods.fml.common.registry.GameData; +import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.SubTag; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Utility; import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; import net.minecraftforge.common.MinecraftForge; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.io.IOException; +import java.util.HashSet; +import java.util.Iterator; + +import static com.github.bartimaeusnek.bartworks.common.tileentities.multis.GT_TileEntity_ElectricImplosionCompressor.eicMap; @Mod( modid = MainMod.MOD_ID, name = MainMod.NAME, version = MainMod.VERSION, dependencies = "required-after:IC2; " + "required-after:gregtech; " - + "after:berriespp;" -) + + "after:berriespp; " + + "after:GalacticraftMars; " + + "after:GalacticraftCore; " + ) public final class MainMod { public static final String NAME = "BartWorks"; public static final String VERSION = "@version@"; @@ -80,12 +96,14 @@ public final class MainMod { @Mod.EventHandler public void preInit(FMLPreInitializationEvent preinit) { - //fixing BorosilicateGlass... -_-' - Materials.BorosilicateGlass.add(SubTag.CRYSTAL, SubTag.NO_SMASHING, SubTag.NO_RECYCLING, SubTag.SMELTING_TO_FLUID); + if (!(API_REFERENCE.VERSION.equals(APIVERSION))) { LOGGER.error("Something has loaded an old API. Please contact the Mod authors to update!"); } + //fixing BorosilicateGlass... -_-' + Materials.BorosilicateGlass.add(SubTag.CRYSTAL, SubTag.NO_SMASHING, SubTag.NO_RECYCLING, SubTag.SMELTING_TO_FLUID); + if (Loader.isModLoaded("dreamcraft")) { ConfigHandler.GTNH = true; } @@ -138,31 +156,43 @@ public final class MainMod { else WerkstoffLoader.INSTANCE.run(); } - ConfigHandler.setUpComments(); } -// @Mod.EventHandler -// public void onServerStarted(FMLServerStartedEvent event) { -// eicMap = new GT_Recipe.GT_Recipe_Map(new HashSet(GT_Recipe.GT_Recipe_Map.sImplosionRecipes.mRecipeList.size()), "gt.recipe.electricimplosioncompressor", "Electric Implosion Compressor", (String) null, "gregtech:textures/gui/basicmachines/Default", 1, 2, 1, 0, 1, "", 1, "", true, true); -// for (GT_Recipe recipe : GT_Recipe.GT_Recipe_Map.sImplosionRecipes.mRecipeList) { -// if (recipe == null || recipe.mInputs == null) -// continue; -// ItemStack input = recipe.mInputs[0]; -// int i = 0; -// while (checkForExplosives(input)) { -// try { -// i++; -// input = recipe.mInputs[i]; -// } catch (ArrayIndexOutOfBoundsException e) { -// LOGGER.error("CAUGHT DEFECTIVE IMPLOSION COMPRESSOR RECIPE."); -// e.printStackTrace(); -// } -// } -// eicMap.addRecipe(true, new ItemStack[]{input}, recipe.mOutputs, null, null, null, recipe.mDuration, BW_Util.getMachineVoltageFromTier(10), 0); -// } -// } -// -// private boolean checkForExplosives(ItemStack input) { -// return (GT_Utility.areStacksEqual(input, new ItemStack(Blocks.tnt)) || GT_Utility.areStacksEqual(input, GT_ModHandler.getIC2Item("industrialTnt", 1L)) || GT_Utility.areStacksEqual(input, GT_ModHandler.getIC2Item("dynamite", 1L)) || GT_Utility.areStacksEqual(input, ItemList.Block_Powderbarrel.get(1L))); -// } + @Mod.EventHandler + public void onServerStarted(FMLServerStartedEvent event) { + eicMap = new GT_Recipe.GT_Recipe_Map(new HashSet(GT_Recipe.GT_Recipe_Map.sImplosionRecipes.mRecipeList.size()), "gt.recipe.electricimplosioncompressor", "Electric Implosion Compressor", (String) null, "gregtech:textures/gui/basicmachines/Default", 1, 2, 1, 0, 1, "", 1, "", true, true); + recipeLoop: + for (GT_Recipe recipe : GT_Recipe.GT_Recipe_Map.sImplosionRecipes.mRecipeList) { + if (recipe == null || recipe.mInputs == null) + continue; + try { + ItemStack input = recipe.mInputs[0]; + int i = 0; + float durMod = 0; + if (checkForExplosives(recipe.mInputs[1])) { + if (GT_Utility.areStacksEqual(recipe.mInputs[1], GT_ModHandler.getIC2Item("industrialTnt", 1L))) + durMod += ((float) input.stackSize * 2f); + else + continue recipeLoop; + } + while (checkForExplosives(input)) { + if (GT_Utility.areStacksEqual(input, GT_ModHandler.getIC2Item("industrialTnt", 1L))) + durMod += ((float) input.stackSize * 2f); + else + continue recipeLoop; + i++; + input = recipe.mInputs[i]; + } + + eicMap.addRecipe(true, new ItemStack[]{input}, recipe.mOutputs, null, null, null, (int)Math.floor(Math.max((float)recipe.mDuration*durMod,20f)), BW_Util.getMachineVoltageFromTier(10), 0); + } catch (ArrayIndexOutOfBoundsException e) { + LOGGER.error("CAUGHT DEFECTIVE IMPLOSION COMPRESSOR RECIPE!"); + e.printStackTrace(); + } + } + } + + private boolean checkForExplosives(ItemStack input) { + return (GT_Utility.areStacksEqual(input, new ItemStack(Blocks.tnt)) || GT_Utility.areStacksEqual(input, GT_ModHandler.getIC2Item("industrialTnt", 1L)) || GT_Utility.areStacksEqual(input, GT_ModHandler.getIC2Item("dynamite", 1L)) || GT_Utility.areStacksEqual(input, ItemList.Block_Powderbarrel.get(1L))); + } } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/client/ClientEventHandler/ClientEventHandler.java b/src/main/java/com/github/bartimaeusnek/bartworks/client/ClientEventHandler/ClientEventHandler.java index 5888b88ef2..d2277817c5 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/client/ClientEventHandler/ClientEventHandler.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/client/ClientEventHandler/ClientEventHandler.java @@ -25,7 +25,7 @@ package com.github.bartimaeusnek.bartworks.client.ClientEventHandler; import com.github.bartimaeusnek.bartworks.API.BioVatLogicAdder; import com.github.bartimaeusnek.bartworks.MainMod; import com.github.bartimaeusnek.bartworks.common.blocks.BW_Blocks; -import com.github.bartimaeusnek.bartworks.system.material.OreDictHandler; +import com.github.bartimaeusnek.bartworks.system.oredict.OreDictHandler; import com.github.bartimaeusnek.bartworks.util.BW_ColorUtil; import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; import com.github.bartimaeusnek.crossmod.BartWorksCrossmod; diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/configs/ConfigHandler.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/configs/ConfigHandler.java index cce52a223d..669417a345 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/configs/ConfigHandler.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/configs/ConfigHandler.java @@ -26,6 +26,8 @@ package com.github.bartimaeusnek.bartworks.common.configs; import com.github.bartimaeusnek.ASM.BWCoreTransformer;; import net.minecraftforge.common.config.Configuration; +import java.util.Arrays; + public class ConfigHandler { private static final int IDU = 10 * 8 + 5; public static int IDOffset = 12600; @@ -44,7 +46,7 @@ public class ConfigHandler { public static boolean experimentalThreadedLoader; public static boolean GTNH; public static boolean ezmode; - + public static boolean[] enabledPatches ; public ConfigHandler(Configuration C) { ConfigHandler.c = C; @@ -67,6 +69,8 @@ public class ConfigHandler { for (int i = 0; i < BWCoreTransformer.CLASSESBEEINGTRANSFORMED.length; i++) { BWCoreTransformer.shouldTransform[i] = ConfigHandler.c.get("ASM fixes", BWCoreTransformer.DESCRIPTIONFORCONFIG[i] + " in class: " + BWCoreTransformer.CLASSESBEEINGTRANSFORMED[i], true).getBoolean(true); } + enabledPatches = new boolean[BWCoreTransformer.shouldTransform.length]; + enabledPatches = Arrays.copyOf(BWCoreTransformer.shouldTransform,BWCoreTransformer.shouldTransform.length); ConfigHandler.ross128BID = ConfigHandler.c.get("CrossMod Interactions", "DimID - Ross128b", -64, "The Dim ID for Ross128b").getInt(-64); ConfigHandler.ross128BAID = ConfigHandler.c.get("CrossMod Interactions", "DimID - Ross128ba", -63, "The Dim ID for Ross128ba (Ross128b's Moon)").getInt(-63); diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ItemRegistry.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ItemRegistry.java index ca12a39636..e5db33bc5c 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ItemRegistry.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ItemRegistry.java @@ -122,7 +122,7 @@ public class ItemRegistry { }, BWT), }; - public static ItemStack dehp; + public static ItemStack[] diode2A = new ItemStack[GT_Values.VN.length]; public static ItemStack[] diode4A = new ItemStack[GT_Values.VN.length]; public static ItemStack[] diode8A = new ItemStack[GT_Values.VN.length]; @@ -131,11 +131,14 @@ public class ItemRegistry { public static ItemStack[] energyDistributor = new ItemStack[GT_Values.VN.length]; public static ItemStack[] acidGens = new ItemStack[3]; public static ItemStack[] megaMachines = new ItemStack[2]; + public static ItemStack dehp; public static ItemStack thtr; + public static ItemStack eic; public static void run() { if (newStuff) { + eic=new GT_TileEntity_ElectricImplosionCompressor(ConfigHandler.IDOffset + GT_Values.VN.length * 8 + 6,"ElectricImplosionCompressor","Electric Implosion Compressor").getStackForm(1L); thtr=new GT_TileEntity_THTR(ConfigHandler.IDOffset + GT_Values.VN.length * 8 + 5,"THTR","Thorium High Temperature Reactor").getStackForm(1L); GT_TileEntity_THTR.THTRMaterials.registeraTHR_Materials(); GameRegistry.registerBlock(ItemRegistry.bw_glasses[0], BW_ItemBlocks.class, "BW_GlasBlocks"); diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java index 9c958e25fa..ffcddc4706 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java @@ -739,8 +739,27 @@ public class RecipeLoader implements Runnable { 'R',GT_ModHandler.getModItem("IC2","blockGenerator",1,5), 'Z',"circuitUltimate" } - ); + ); + GT_Values.RA.addAssemblylineRecipe( + ItemList.Machine_Multi_ImplosionCompressor.get(1L),24000, + new ItemStack[]{ + ItemList.Machine_Multi_ImplosionCompressor.get(1L), + Materials.Neutronium.getBlocks(5), + GT_OreDictUnificator.get(OrePrefixes.stickLong,Materials.Osmium,64), + GT_OreDictUnificator.get(OrePrefixes.ring,Materials.Osmium,64), + GT_OreDictUnificator.get(OrePrefixes.wireGt01,Materials.Superconductor,64), + ItemList.Electric_Piston_UV.get(64), + }, + new FluidStack[]{ + Materials.SolderingAlloy.getMolten(1440), + Materials.Osmium.getMolten(1440), + Materials.Neutronium.getMolten(1440) + }, + ItemRegistry.eic.copy(), + 240000, + BW_Util.getMachineVoltageFromTier(8) + ); } } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java index 74efa145e5..cd45301d4f 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_ElectricImplosionCompressor.java @@ -22,6 +22,7 @@ package com.github.bartimaeusnek.bartworks.common.tileentities.multis; +import com.github.bartimaeusnek.bartworks.util.ChatColorHelper; import gregtech.api.GregTech_API; import gregtech.api.enums.Materials; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; @@ -32,6 +33,7 @@ import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_ImplosionCo import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.StatCollector; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; @@ -186,7 +188,7 @@ public class GT_TileEntity_ElectricImplosionCompressor extends GT_MetaTileEntity IGregTechTileEntity te = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + x, y, z + zDir); if (y == -2 || y == 6) { if (!(x == 0 && z == 0)) { - if (!this.addMaintenanceToMachineList(te, 16) && !this.addMufflerToMachineList(te, 16) && !this.addInputToMachineList(te, 16) && !this.addOutputToMachineList(te, 16)) { + if (!this.addMaintenanceToMachineList(te, 16) && !this.addInputToMachineList(te, 16) && !this.addOutputToMachineList(te, 16)) { Block tBlock = aBaseMetaTileEntity.getBlockOffset(xDir + x, y, zDir + z); byte tMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + x, y, zDir + z); if ((tBlock != GregTech_API.sBlockCasings2 || tMeta != 0) && (tBlock != GregTech_API.sBlockCasings3 || tMeta != 4)) { @@ -248,6 +250,12 @@ public class GT_TileEntity_ElectricImplosionCompressor extends GT_MetaTileEntity @Override public String[] getDescription() { - return new String[0]; + String[] dsc = StatCollector.translateToLocal("tooltip.tile.eic.0.name").split(";"); + String[] mDescription = new String[dsc.length + 1]; + for (int i = 0; i < dsc.length; i++) { + mDescription[i] = dsc[i]; + mDescription[dsc.length] = StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks"; + } + return mDescription; } } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_LESU.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_LESU.java index 42eeada394..471373e3dd 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_LESU.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_LESU.java @@ -397,8 +397,9 @@ public class GT_TileEntity_LESU extends GT_MetaTileEntity_MultiBlockBase { this.getBaseMetaTileEntity().setActive(true); long finishedTime = System.nanoTime(); + //System.out.println("LESU LookUp: "+((finishedTime - startingTime) / 1000000)+"ms"); if (finishedTime - startingTime > 5000000) - MainMod.LOGGER.warn("LESU LookUp took longer than 5ms!(" + (finishedTime - startingTime) + "ns / " + ((finishedTime - startingTime) / 1000000) + "ms) Check at x:" + this.getBaseMetaTileEntity().getXCoord() + " y:" + this.getBaseMetaTileEntity().getYCoord() + " z:" + this.getBaseMetaTileEntity().getZCoord() + " DIM-ID: " + this.getBaseMetaTileEntity().getWorld().provider.dimensionId); + MainMod.LOGGER.warn("LESU LookUp took longer than 5ms!(" + (finishedTime - startingTime) + "ns / " + ((finishedTime - startingTime) / 1000000) + "ms) Owner:"+this.getBaseMetaTileEntity().getOwnerName()+" Check at x:" + this.getBaseMetaTileEntity().getXCoord() + " y:" + this.getBaseMetaTileEntity().getYCoord() + " z:" + this.getBaseMetaTileEntity().getZCoord() + " DIM-ID: " + this.getBaseMetaTileEntity().getWorld().provider.dimensionId); return true; } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_THTR.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_THTR.java index b21e97aead..193a1ffacb 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_THTR.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_THTR.java @@ -41,6 +41,7 @@ import gregtech.api.objects.XSTR; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.StatCollector; @@ -57,6 +58,7 @@ public class GT_TileEntity_THTR extends GT_MetaTileEntity_MultiBlockBase { private int HeliumSupply; private int BISOPeletSupply; private int TRISOPeletSupply; + private boolean empty; public GT_TileEntity_THTR(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -77,6 +79,7 @@ public class GT_TileEntity_THTR extends GT_MetaTileEntity_MultiBlockBase { HeliumSupply=aNBT.getInteger("HeliumSupply"); BISOPeletSupply=aNBT.getInteger("BISOPeletSupply"); TRISOPeletSupply=aNBT.getInteger("TRISOPeletSupply"); + empty=aNBT.getBoolean("EmptyMode"); } @Override @@ -85,6 +88,7 @@ public class GT_TileEntity_THTR extends GT_MetaTileEntity_MultiBlockBase { aNBT.setInteger("HeliumSupply",HeliumSupply); aNBT.setInteger("BISOPeletSupply",BISOPeletSupply); aNBT.setInteger("TRISOPeletSupply",TRISOPeletSupply); + aNBT.setBoolean("EmptyMode",empty); } @Override @@ -155,6 +159,17 @@ public class GT_TileEntity_THTR extends GT_MetaTileEntity_MultiBlockBase { @Override public boolean onRunningTick(ItemStack aStack) { + + if (empty){ + this.addOutput(Materials.Helium.getGas(HeliumSupply)); + this.addOutput(new ItemStack(GT_TileEntity_THTR.THTRMaterials.aTHTR_Materials, TRISOPeletSupply, 3)); + this.addOutput(new ItemStack(GT_TileEntity_THTR.THTRMaterials.aTHTR_Materials, BISOPeletSupply, 1)); + this.HeliumSupply = 0; + this.TRISOPeletSupply = 0; + this.BISOPeletSupply = 0; + return true; + } + long accessibleCoolant = 0; long toProduce=0; for (FluidStack fluidStack : this.getStoredFluids()) { @@ -176,7 +191,7 @@ public class GT_TileEntity_THTR extends GT_MetaTileEntity_MultiBlockBase { // 0.01f, // ExplosionIC2.Type.Nuclear // ).doExplosion(); - return false; + toProduce=accessibleCoolant; } accessibleCoolant=toProduce; @@ -198,16 +213,17 @@ public class GT_TileEntity_THTR extends GT_MetaTileEntity_MultiBlockBase { @Override public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack itemStack) { - int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX * 4; - int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ * 4; - for (int x = -4; x <= 4; x++) { - for (int z = -4; z <= 4; z++) { + final byte xz = 5; + |
