diff options
10 files changed, 158 insertions, 19 deletions
diff --git a/src/main/java/com/github/technus/tectech/TecTech.java b/src/main/java/com/github/technus/tectech/TecTech.java index db8dbc4208..a903ca21dd 100644 --- a/src/main/java/com/github/technus/tectech/TecTech.java +++ b/src/main/java/com/github/technus/tectech/TecTech.java @@ -23,10 +23,15 @@ import cpw.mods.fml.relauncher.SideOnly; import eu.usrv.yamcore.auxiliary.IngameErrorLog; import eu.usrv.yamcore.auxiliary.LogHelper; import gregtech.api.GregTech_API; +import gregtech.api.enums.Materials; +import gregtech.api.util.GT_Recipe; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import java.util.HashMap; import java.util.List; @Mod(modid = Reference.MODID, name = Reference.NAME, version = Reference.VERSION, dependencies = "required-after:Forge@[10.13.4.1614,);" @@ -45,6 +50,7 @@ public class TecTech { public static TecTechConfig ModConfig; public static XSTR Rnd = null; public static CreativeTabs mainTab = null; + private static boolean oneTimeFix=false; public static boolean hasCOFH=false; @@ -105,19 +111,51 @@ public class TecTech { }; RegisterThingsInTabs(); + if (Loader.isModLoaded("dreamcraft")) ;//TODO init recipes for GTNH version else ;//TODO init recipes for NON-GTNH version } - public void RegisterThingsInTabs() { + @EventHandler + public void serverLoad(FMLServerStartingEvent pEvent) { + if(!oneTimeFix) { + if (ModConfig.NERF_FUSION) FixBrokenFusionRecipes(); + oneTimeFix=true; + } + } + + private void RegisterThingsInTabs() { QuantumGlass.INSTANCE.setCreativeTab(mainTab); GT_Container_CasingsTT.sBlockCasingsTT.setCreativeTab(mainTab); DebugContainer_EM.INSTANCE.setCreativeTab(mainTab); DebugBuilder.INSTANCE.setCreativeTab(mainTab); } - @EventHandler - public void serverLoad(FMLServerStartingEvent pEvent) { - //Be Lazy... + private void FixBrokenFusionRecipes(){ + HashMap<Fluid,Fluid> binds=new HashMap<>(); + for(Materials m:Materials.values()){ + FluidStack p=m.getPlasma(1); + if( p!=null) { + if(ModConfig.DEBUG_MODE) TecTech.Logger.info("Found Plasma of "+m.name()); + if (m.mElement != null && + (m.mElement.mProtons >= Materials.Iron.mElement.mProtons || + -m.mElement.mProtons >= Materials.Iron.mElement.mProtons || + m.mElement.mNeutrons >= Materials.Iron.mElement.mNeutrons || + -m.mElement.mNeutrons >= Materials.Iron.mElement.mNeutrons)) { + if (ModConfig.DEBUG_MODE) TecTech.Logger.info("Attempting to bind " + m.name()); + if (m.getMolten(1) != null) binds.put(p.getFluid(), m.getMolten(1).getFluid()); + else if (m.getGas(1) != null) binds.put(p.getFluid(), m.getGas(1).getFluid()); + else if (m.getFluid(1) != null) binds.put(p.getFluid(), m.getFluid(1).getFluid()); + else binds.put(p.getFluid(),Materials.Iron.getMolten(1).getFluid()); + } + } + } + for(GT_Recipe r:GT_Recipe.GT_Recipe_Map.sFusionRecipes.mRecipeList){ + Fluid f=binds.get(r.mFluidOutputs[0].getFluid()); + if(f!=null){ + if(ModConfig.DEBUG_MODE) TecTech.Logger.info("Nerfing Recipe "+r.mFluidOutputs[0].getUnlocalizedName()); + r.mFluidOutputs[0]=new FluidStack(f,r.mFluidInputs[0].amount); + } + } } } diff --git a/src/main/java/com/github/technus/tectech/auxiliary/TecTechConfig.java b/src/main/java/com/github/technus/tectech/auxiliary/TecTechConfig.java index a3b03570fa..65aec9ac19 100644 --- a/src/main/java/com/github/technus/tectech/auxiliary/TecTechConfig.java +++ b/src/main/java/com/github/technus/tectech/auxiliary/TecTechConfig.java @@ -13,12 +13,14 @@ public class TecTechConfig extends ConfigManager { public boolean DEBUG_MODE; public boolean BOOM_ENABLE; + public boolean NERF_FUSION; @Override protected void PreInit() { ModAdminErrorLogs_Enabled = false; DEBUG_MODE = false; BOOM_ENABLE = true; + NERF_FUSION = true; } @Override @@ -29,6 +31,8 @@ public class TecTechConfig extends ConfigManager { "Enables logging"); BOOM_ENABLE = _mainConfig.getBoolean("BoomEnable", "Features", BOOM_ENABLE, "Set to false to disable explosions on everything bad that you can do (this will not be available after release)"); + NERF_FUSION = _mainConfig.getBoolean("NerfFusion", "Features", NERF_FUSION, + "Set to false to disable nerfing of plasmas heavier than Fe"); } @Override diff --git a/src/main/java/com/github/technus/tectech/loader/Machines.java b/src/main/java/com/github/technus/tectech/loader/Machines.java index 58871eea66..f6604c9ebd 100644 --- a/src/main/java/com/github/technus/tectech/loader/Machines.java +++ b/src/main/java/com/github/technus/tectech/loader/Machines.java @@ -173,7 +173,7 @@ public class Machines implements Runnable { 15225, "hatch.dynamomulti64.tier.13", "UXV 64A Dynamo Hatch", 13, 64).getStackForm(1L)); // =================================================================================================== - // MULTIBLOCKS EM + // MULTIBLOCKS // =================================================================================================== Machine_Multi_Transformer.set(new GT_MetaTileEntity_EM_transformer(15300, "multimachine.em.transformer", "Active Transformer").getStackForm(1L)); @@ -184,17 +184,21 @@ public class Machines implements Runnable { Machine_Multi_EMjunction.set(new GT_MetaTileEntity_EM_junction(15342, "multimachine.em.junction", "Matter Junction").getStackForm(1L)); Machine_Multi_EMmachine.set(new GT_MetaTileEntity_EM_machine(15343, "multimachine.em.processing", "Quantum Processing Machine").getStackForm(1L)); Machine_Multi_EMCrafter.set(new GT_MetaTileEntity_EM_crafter(15344, "multimachine.em.crafter", "Matter Assembler").getStackForm(1L)); - Machine_Multi_Collider.set(new GT_MetaTileEntity_EM_collider(15345, "multimachine.em.collider", "Matter Collider").getStackForm(1L)); - Machine_Multi_BHG.set(new GT_MetaTileEntity_EM_bhg(15346, "multimachine.em.blackholegenerator", "Black Hole Generator").getStackForm(1L)); - Machine_Multi_Wormhole.set(new GT_MetaTileEntity_EM_wormhole(15347, "multimachine.em.wormhole", "Wormhole").getStackForm(1L)); - Machine_Multi_Stabilizer.set(new GT_MetaTileEntity_EM_stabilizer(15348, "multimachine.em.stabilizer", "Elemental Stabilizer").getStackForm(1L)); - Machine_Multi_Scanner.set(new GT_MetaTileEntity_EM_scanner(15349, "multimachine.em.scanner", "Elemental Scanner").getStackForm(1L)); + Machine_Multi_Scanner.set(new GT_MetaTileEntity_EM_scanner(15353, "multimachine.em.scanner", "Elemental Scanner").getStackForm(1L)); + + Machine_Multi_Collider.set(new GT_MetaTileEntity_EM_collider(15350, "multimachine.em.collider", "Matter Collider").getStackForm(1L)); + Machine_Multi_Wormhole.set(new GT_MetaTileEntity_EM_wormhole(15351, "multimachine.em.wormhole", "Wormhole").getStackForm(1L)); + Machine_Multi_Stabilizer.set(new GT_MetaTileEntity_EM_stabilizer(15352, "multimachine.em.stabilizer", "Elemental Stabilizer").getStackForm(1L)); + + Machine_Multi_Decay.set(new GT_MetaTileEntity_EM_decay(15360,"multimachine.em.decay","Decay Generator").getStackForm(1L)); + Machine_Multi_Annihilation.set(new GT_MetaTileEntity_EM_annihilation(15361,"multimachine.em.annihilation","Annihilation Generator").getStackForm(1L)); + Machine_Multi_BHG.set(new GT_MetaTileEntity_EM_bhg(15362, "multimachine.em.blackholegenerator", "Black Hole Generator").getStackForm(1L)); Machine_Multi_Computer.set(new GT_MetaTileEntity_EM_computer(15380, "multimachine.em.computer", "Quantum Computer").getStackForm(1L)); Machine_Multi_Switch.set(new GT_MetaTileEntity_EM_switch(15381, "multimachine.em.switch", "Network Switch With QoS").getStackForm(1L)); // =================================================================================================== - // Hatches EM + // Hatches // =================================================================================================== Parametrizer_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15420, "hatch.param.tier.08", "Parametrizer", 8).getStackForm(1L)); Uncertainty_Hatch.set(new GT_MetaTileEntity_Hatch_Uncertainty(15421, "hatch.certain.tier.08", "Uncertainty Resolver", 10).getStackForm(1L)); @@ -203,7 +207,7 @@ public class Machines implements Runnable { dataOut_Hatch.set(new GT_MetaTileEntity_Hatch_OutputData(15424, "hatch.dataout.tier.08", "Optical Master Connector", 8).getStackForm(1L)); // =================================================================================================== - // EM pipe + // Pipes // =================================================================================================== EMpipe.set(new GT_MetaTileEntity_Pipe_EM(15460, "pipe.elementalmatter", "Quantum Tunnel").getStackForm(1L)); DATApipe.set(new GT_MetaTileEntity_Pipe_Data(15461, "pipe.datastream", "Optical Fiber Cable").getStackForm(1L)); diff --git a/src/main/java/com/github/technus/tectech/thing/CustomItemList.java b/src/main/java/com/github/technus/tectech/thing/CustomItemList.java index c655d78fb2..33d4ba406c 100644 --- a/src/main/java/com/github/technus/tectech/thing/CustomItemList.java +++ b/src/main/java/com/github/technus/tectech/thing/CustomItemList.java @@ -33,7 +33,8 @@ public enum CustomItemList implements IItemContainer { debugBlock, Machine_Multi_MatterToEM, Machine_Multi_EMToMatter, Machine_Multi_EMjunction, Machine_Multi_Transformer, Machine_Multi_Computer, Machine_Multi_Infuser, Machine_Multi_Switch, - Machine_Multi_BHG, Machine_Multi_EMmachine, Machine_Multi_Stabilizer, Machine_Multi_Collider, Machine_Multi_Wormhole, Machine_Multi_EMCrafter, Machine_Multi_Scanner; + Machine_Multi_BHG, Machine_Multi_Annihilation, Machine_Multi_Decay, + Machine_Multi_EMmachine, Machine_Multi_Stabilizer, Machine_Multi_Collider, Machine_Multi_Wormhole, Machine_Multi_EMCrafter, Machine_Multi_Scanner; private ItemStack mStack = null; diff --git a/src/main/java/com/github/technus/tectech/thing/item/DebugBuilder.java b/src/main/java/com/github/technus/tectech/thing/item/DebugBuilder.java index 434ff91953..87ce3cd921 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/DebugBuilder.java +++ b/src/main/java/com/github/technus/tectech/thing/item/DebugBuilder.java @@ -1,17 +1,14 @@ package com.github.technus.tectech.thing.item; import com.github.technus.tectech.elementalMatter.CommonValues; -import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStackTree; import com.github.technus.tectech.thing.metaTileEntity.constructableTT; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputData.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputData.java index 7886427333..4523e94434 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputData.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputData.java @@ -1,6 +1,5 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Data; import com.github.technus.tectech.thing.metaTileEntity.pipe.iConnectsToDataPipe; import gregtech.api.interfaces.ITexture; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java new file mode 100644 index 0000000000..74d6400ed3 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_annihilation.java @@ -0,0 +1,49 @@ +package com.github.technus.tectech.thing.metaTileEntity.multi; + +import com.github.technus.tectech.elementalMatter.CommonValues; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import net.minecraft.block.Block; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +/** + * Created by danie_000 on 17.12.2016. + */ +public class GT_MetaTileEntity_EM_annihilation extends GT_MetaTileEntity_MultiblockBase_EM { + private static final String[][] shape = new String[][]{ + {"",//left to right top + "", + ""},//front + {},//behind front + {} //behind + }; + private static final Block[] blockType = new Block[]{}; + private static final byte[] blockMeta = new byte[]{}; + + public GT_MetaTileEntity_EM_annihilation(int aID, String aName, String aNameRegional) { + super(aID, aName, aNameRegional); + } + + public GT_MetaTileEntity_EM_annihilation(String aName) { + super(aName); + } + + public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { + return new GT_MetaTileEntity_EM_annihilation(this.mName); + } + + @Override + public boolean checkMachine(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { + return false; + } + + @Override + public String[] getDescription() { + return new String[]{ + CommonValues.tecMark, + "Things+Anti Things don't like each other.", + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "Matter into power!" + }; + } +} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java new file mode 100644 index 0000000000..3dec96b89c --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_decay.java @@ -0,0 +1,49 @@ +package com.github.technus.tectech.thing.metaTileEntity.multi; + +import com.github.technus.tectech.elementalMatter.CommonValues; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import net.minecraft.block.Block; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +/** + * Created by danie_000 on 17.12.2016. + */ +public class GT_MetaTileEntity_EM_decay extends GT_MetaTileEntity_MultiblockBase_EM { + private static final String[][] shape = new String[][]{ + {"",//left to right top + "", + ""},//front + {},//behind front + {} //behind + }; + private static final Block[] blockType = new Block[]{}; + private static final byte[] blockMeta = new byte[]{}; + + public GT_MetaTileEntity_EM_decay(int aID, String aName, String aNameRegional) { + super(aID, aName, aNameRegional); + } + + public GT_MetaTileEntity_EM_decay(String aName) { + super(aName); + } + + public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { + return new GT_MetaTileEntity_EM_decay(this.mName); + } + + @Override + public boolean checkMachine(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { + return false; + } + + @Override + public String[] getDescription() { + return new String[]{ + CommonValues.tecMark, + "Is life time too long?", + EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "Make ia half-life (3) instead!" + }; + } +} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java index b024f22309..8a3f4f70b8 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_switch.java @@ -6,7 +6,6 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.objects.GT_RenderedTexture; -import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java index 1d2e8de482..93b5e3756b 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java @@ -3,7 +3,6 @@ package com.github.technus.tectech.thing.metaTileEntity.pipe; import com.github.technus.tectech.elementalMatter.CommonValues; import com.github.technus.tectech.thing.machineTT; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputData; -import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OutputData; import gregtech.api.enums.Dyes; import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; |