diff options
29 files changed, 250 insertions, 86 deletions
diff --git a/src/main/java/com/github/technus/tectech/TecTech.java b/src/main/java/com/github/technus/tectech/TecTech.java index 0e6088832c..b8abed2abf 100644 --- a/src/main/java/com/github/technus/tectech/TecTech.java +++ b/src/main/java/com/github/technus/tectech/TecTech.java @@ -4,9 +4,6 @@ import com.github.technus.tectech.auxiliary.Reference; import com.github.technus.tectech.auxiliary.TecTechConfig; import com.github.technus.tectech.loader.MainLoader; import com.github.technus.tectech.proxy.CommonProxy; -import com.github.technus.tectech.thing.block.QuantumGlass; -import com.github.technus.tectech.thing.casing.GT_Container_CasingsTT; -import com.github.technus.tectech.thing.item.DebugBuilder; import com.github.technus.tectech.thing.item.DebugContainer_EM; import com.github.technus.tectech.thing.machineTT; import cpw.mods.fml.common.Loader; diff --git a/src/main/java/com/github/technus/tectech/dataFramework/quantumDataPacket.java b/src/main/java/com/github/technus/tectech/dataFramework/quantumDataPacket.java index 7b14a8535e..78229bd6a1 100644 --- a/src/main/java/com/github/technus/tectech/dataFramework/quantumDataPacket.java +++ b/src/main/java/com/github/technus/tectech/dataFramework/quantumDataPacket.java @@ -1,7 +1,6 @@ package com.github.technus.tectech.dataFramework; import com.github.technus.tectech.vec3pos; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.nbt.NBTTagCompound; import java.util.TreeSet; diff --git a/src/main/java/com/github/technus/tectech/loader/MainLoader.java b/src/main/java/com/github/technus/tectech/loader/MainLoader.java index e3000759b3..34a831147c 100644 --- a/src/main/java/com/github/technus/tectech/loader/MainLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/MainLoader.java @@ -1,7 +1,7 @@ package com.github.technus.tectech.loader; import com.github.technus.tectech.TecTech; -import com.github.technus.tectech.thing.block.QuantumGlass; +import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.casing.GT_Container_CasingsTT; import com.github.technus.tectech.thing.item.DebugBuilder; import com.github.technus.tectech.thing.item.DebugContainer_EM; @@ -35,7 +35,7 @@ public class MainLoader { } public void registerThingsInTabs(){ - QuantumGlass.INSTANCE.setCreativeTab(mainTab); + QuantumGlassBlock.INSTANCE.setCreativeTab(mainTab); GT_Container_CasingsTT.sBlockCasingsTT.setCreativeTab(mainTab); DebugContainer_EM.INSTANCE.setCreativeTab(mainTab); DebugBuilder.INSTANCE.setCreativeTab(mainTab); diff --git a/src/main/java/com/github/technus/tectech/loader/ThingsLoader.java b/src/main/java/com/github/technus/tectech/loader/ThingsLoader.java index d08fbba709..c16172b11e 100644 --- a/src/main/java/com/github/technus/tectech/loader/ThingsLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/ThingsLoader.java @@ -1,22 +1,15 @@ package com.github.technus.tectech.loader; -import com.github.technus.tectech.TecTech; -import com.github.technus.tectech.elementalMatter.classes.cElementalPrimitive; -import com.github.technus.tectech.elementalMatter.definitions.*; -import com.github.technus.tectech.thing.block.QuantumGlass; +import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.item.DebugBuilder; import com.github.technus.tectech.thing.item.DebugContainer_EM; -import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_Rack; -import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_computer; -import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_quantizer; -import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_MultiblockBase_EM; /** * Created by danie_000 on 16.11.2016. */ public class ThingsLoader implements Runnable { public void run() { - QuantumGlass.run(); + QuantumGlassBlock.run(); DebugContainer_EM.run(); DebugBuilder.run(); } diff --git a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlass.java b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassBlock.java index 39a8951d21..39b8d4bae8 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlass.java +++ b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassBlock.java @@ -15,11 +15,11 @@ import static com.github.technus.tectech.auxiliary.Reference.MODID; /** * Created by danie_000 on 17.12.2016. */ -public final class QuantumGlass extends BlockBase { +public final class QuantumGlassBlock extends BlockBase { public static IIcon stuff; - public static QuantumGlass INSTANCE; + public static QuantumGlassBlock INSTANCE; - public QuantumGlass() { + public QuantumGlassBlock() { super(Material.iron); this.setBlockBounds(0, 0, 0, 1, 1, 1); setBlockName("quantumGlass"); @@ -83,7 +83,7 @@ public final class QuantumGlass extends BlockBase { } public static void run(){ - INSTANCE=new QuantumGlass(); - GameRegistry.registerBlock(INSTANCE, INSTANCE.getUnlocalizedName()); + INSTANCE=new QuantumGlassBlock(); + GameRegistry.registerBlock(INSTANCE,QuantumGlassItem.class,INSTANCE.getUnlocalizedName()); } } diff --git a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassItem.java b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassItem.java new file mode 100644 index 0000000000..45931cabc6 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassItem.java @@ -0,0 +1,29 @@ +package com.github.technus.tectech.thing.block; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +import java.util.List; + +import static com.github.technus.tectech.CommonValues.tecMark; + +/** + * Created by Tec on 11.04.2017. + */ +public class QuantumGlassItem extends ItemBlock { + public static QuantumGlassItem INSTANCE; + + public QuantumGlassItem(Block b){ + super(b); + } + + @Override + public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { + aList.add(tecMark); + aList.add("Dense yet transparent"); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "Glassy & Classy"); + } +} diff --git a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassRender.java b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassRender.java index 6169f142b3..e6da9a499e 100644 --- a/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassRender.java +++ b/src/main/java/com/github/technus/tectech/thing/block/QuantumGlassRender.java @@ -23,7 +23,7 @@ public final class QuantumGlassRender implements ISimpleBlockRenderingHandler { Tessellator tessellator = Tessellator.instance; //Get icons from custom register (useful for renderers and fluids) - IIcon side = QuantumGlass.stuff; + IIcon side = QuantumGlassBlock.stuff; tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, side); @@ -61,46 +61,46 @@ public final class QuantumGlassRender implements ISimpleBlockRenderingHandler { tes.setNormal(0F, 1F, 0F); tes.setBrightness(15728880); tes.setColorOpaque_F(0F, 1F, 1F); - IIcon side = QuantumGlass.stuff; + IIcon side = QuantumGlassBlock.stuff; GL11.glDisable(GL11.GL_CULL_FACE); //South - if (world.getBlock(x, y, z + 1).getClass() != QuantumGlass.class) { + if (world.getBlock(x, y, z + 1).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x, y, z + 0.999, side.getMinU(), side.getMaxV()); //0.999 instead of 1 for fighting (textures overlapping) tes.addVertexWithUV(x, y + 1, z + 0.999, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x + 1, y + 1, z + 0.999, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x + 1, y, z + 0.999, side.getMaxU(), side.getMaxV()); } //East - if (world.getBlock(x + 1, y, z).getClass() != QuantumGlass.class) { + if (world.getBlock(x + 1, y, z).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x + 0.999, y, z + 1, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x + 0.999, y + 1, z + 1, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x + 0.999, y + 1, z, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x + 0.999, y, z, side.getMaxU(), side.getMaxV()); } //North - if (world.getBlock(x, y, z - 1).getClass() != QuantumGlass.class) { + if (world.getBlock(x, y, z - 1).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x + 1, y, z + 0.001, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x + 1, y + 1, z + 0.001, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x, y + 1, z + 0.001, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x, y, z + 0.001, side.getMaxU(), side.getMaxV()); } //West - if (world.getBlock(x - 1, y, z).getClass() != QuantumGlass.class) { + if (world.getBlock(x - 1, y, z).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x + 0.001, y, z, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x + 0.001, y + 1, z, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x + 0.001, y + 1, z + 1, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x + 0.001, y, z + 1, side.getMaxU(), side.getMaxV()); } //Top - if (world.getBlock(x, y + 1, z).getClass() != QuantumGlass.class) { + if (world.getBlock(x, y + 1, z).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x, y + 0.999, z + 1, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x, y + 0.999, z, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x + 1, y + 0.999, z, side.getMaxU(), side.getMinV()); tes.addVertexWithUV(x + 1, y + 0.999, z + 1, side.getMaxU(), side.getMaxV()); } //Bottom - if (world.getBlock(x, y - 1, z).getClass() != QuantumGlass.class) { + if (world.getBlock(x, y - 1, z).getClass() != QuantumGlassBlock.class) { tes.addVertexWithUV(x, y + 0.001, z, side.getMinU(), side.getMaxV()); tes.addVertexWithUV(x, y + 0.001, z + 1, side.getMinU(), side.getMinV()); tes.addVertexWithUV(x + 1, y + 0.001, z + 1, side.getMaxU(), side.getMinV()); diff --git a/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsTT.java b/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsTT.java index e8e8fc8f17..bdc7b6e340 100644 --- a/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsTT.java +++ b/src/main/java/com/github/technus/tectech/thing/casing/GT_Item_CasingsTT.java @@ -2,6 +2,13 @@ package com.github.technus.tectech.thing.casing; import gregtech.common.blocks.GT_Item_Casings_Abstract; import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +import java.util.List; + +import static com.github.technus.tectech.CommonValues.tecMark; /** * Created by danie_000 on 03.10.2016. @@ -11,4 +18,58 @@ public class GT_Item_CasingsTT public GT_Item_CasingsTT(Block par1) { super(par1); } + + @Override + public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { + aList.add(tecMark); + switch(aStack.getItemDamage()){ + case 0: + aList.add("Nice and clean casing."); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "Dust can break it!?"); + break; + case 1: + aList.add("Contains high bandwidth bus"); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "couple thousand qubits wide."); + break; + case 2: + aList.add("Air vent with a filter."); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "Perfectly muffled sound!"); + break; + case 3: + aList.add("Stops elemental things."); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "Radiation and emotions too..."); + break; + case 4: + aList.add("Creates a field that..."); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "can stop even force carriers."); + break; + case 5: + aList.add("Cooling and stabilization."); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "Like a comfortable bed."); + break; + case 6: + aList.add("Well it does things too..."); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "[use this coil]"); + break; + case 7: + aList.add("Remote connection."); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "Better use a stick."); + break; + case 8: + aList.add("C is no longer the limit."); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "Wibbly wobbly timey wimey stuff."); + break; + case 9: + aList.add("Reinforced accelerator tunnel."); + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + "Most advanced pipe ever."); + break; + case 10: + aList.add("Lazy man way of determining sides."); + aList.add(EnumChatFormatting.BLUE.toString() + "0, 1, 2, 3, 4, 5, 6?!"); + break; + default: + aList.add("Damn son where did you get that."); + aList.add(EnumChatFormatting.BLUE.toString() + "From outer space..."); + } + } } 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 cb085867e4..87df7d05ad 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 @@ -10,6 +10,7 @@ import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import java.util.List; @@ -33,11 +34,10 @@ public class DebugBuilder extends Item { public boolean onItemUseFirst(ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) { TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); if (aPlayer instanceof EntityPlayerMP) { - aStack.stackSize = 1; if (tTileEntity != null && tTileEntity instanceof IGregTechTileEntity) { IMetaTileEntity metaTE = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity(); if (metaTE != null && metaTE instanceof constructableTT) { - ((constructableTT) metaTE).construct(); + ((constructableTT) metaTE).construct(aStack.stackSize); return true; } } @@ -49,6 +49,7 @@ public class DebugBuilder extends Item { public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) { aList.add(CommonValues.tecMark); aList.add("Constructs Multiblocks"); + aList.add(EnumChatFormatting.BLUE+"Quantity Matters"); } public static void run(){ diff --git a/src/main/java/com/github/technus/tectech/thing/item/DebugContainer_EM.java b/src/main/java/com/github/technus/tectech/thing/item/DebugContainer_EM.java index cefd90daec..aaf7272a49 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/DebugContainer_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/item/DebugContainer_EM.java @@ -1,7 +1,7 @@ package com.github.technus.tectech.thing.item; -import com.github.technus.tectech.TecTech; import com.github.technus.tectech.CommonValues; +import com.github.technus.tectech.TecTech; import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStackTree; import com.github.technus.tectech.elementalMatter.classes.tElementalException; import com.github.technus.tectech.elementalMatter.interfaces.iElementalInstanceContainer; @@ -15,6 +15,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import java.util.Collections; @@ -76,7 +77,10 @@ public class DebugContainer_EM extends Item { if (tNBT!=null && tNBT.hasKey("info")) { aList.add("Contains:"); Collections.addAll(aList, cElementalInstanceStackTree.infoFromNBT(tNBT.getCompoundTag("info"))); - }else aList.add("Container for elemental matter"); + }else { + aList.add("Container for elemental matter"); + aList.add(EnumChatFormatting.BLUE+"Right click on elemental hatches"); + } } catch (Exception e) { aList.add("---Unexpected Termination---"); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/constructableTT.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/constructableTT.java index 9e737e2aa4..79e61da747 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/constructableTT.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/constructableTT.java @@ -4,5 +4,5 @@ package com.github.technus.tectech.thing.metaTileEntity; * Created by Tec on 24.03.2017. */ public interface constructableTT { - void construct(); + void construct(int qty); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DataConnector.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DataConnector.java index 8f34e15e1e..dbc2d94a2a 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DataConnector.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DataConnector.java @@ -1,7 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import com.github.technus.tectech.dataFramework.quantumDataPacket; import com.github.technus.tectech.CommonValues; +import com.github.technus.tectech.dataFramework.quantumDataPacket; import com.github.technus.tectech.thing.machineTT; import com.github.technus.tectech.thing.metaTileEntity.pipe.iConnectsToDataPipe; import gregtech.api.enums.Dyes; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ElementalContainer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ElementalContainer.java index 830d19ebfe..db3b4a77c5 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ElementalContainer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ElementalContainer.java @@ -1,7 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import com.github.technus.tectech.TecTech; import com.github.technus.tectech.CommonValues; +import com.github.technus.tectech.TecTech; import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStackTree; import com.github.technus.tectech.elementalMatter.classes.tElementalException; import com.github.technus.tectech.elementalMatter.interfaces.iElementalInstanceContainer; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_MufflerElemental.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_MufflerElemental.java index 7b3a8bae26..5f0044bab9 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_MufflerElemental.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_MufflerElemental.java @@ -1,7 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import com.github.technus.tectech.TecTech; import com.github.technus.tectech.CommonValues; +import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.machineTT; import gregtech.api.enums.Dyes; import gregtech.api.enums.Textures; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java index ddd68639e4..190726a634 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Rack.java @@ -127,16 +127,15 @@ public class GT_MetaTileEntity_Hatch_Rack extends GT_MetaTileEntity_Hatch implem @Override public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { if (aBaseMetaTileEntity.isClientSide()) return true; - if(aBaseMetaTileEntity.isActive()) - aPlayer.addChatComponentMessage(new ChatComponentText("It is still active...")); - else if(heat>0) - aPlayer.addChatComponentMessage(new ChatComponentText("It is still warm...")); - else + //if(aBaseMetaTileEntity.isActive()) + // aPlayer.addChatComponentMessage(new ChatComponentText("It is still active...")); + //else if(heat>0) + // aPlayer.addChatComponentMessage(new ChatComponentText("It is still warm...")); + //else aBaseMetaTileEntity.openGUI(aPlayer); return true; } - //TODO implement: glitches with OC, random component burning with OC private int getComputationPower(float overclock, float overvolt, boolean tickingComponents){ float computation=0,heat=0; for(int i=0;i<mInventory.length;i++){ diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java index 042b2cf49d..b412326167 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_Uncertainty.java @@ -1,7 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch; -import com.github.technus.tectech.TecTech; import com.github.technus.tectech.CommonValues; +import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.machineTT; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_Container_Uncertainty; import com.github.technus.tectech.thing.metaTileEntity.hatch.gui.GT_GUIContainer_Uncertainty; @@ -258,9 +258,10 @@ public class GT_MetaTileEntity_Hatch_Uncertainty extends GT_MetaTileEntity_Hatch return status = (byte) result; } - private void shift() {//TODO MAKE IT MORE EVIL - final int i = TecTech.Rnd.nextInt(16); - matrix[i] += (((matrix[i] & 1) == 0) ? 2 : -2) * TecTech.Rnd.nextInt(5); + private void shift() { + final int i = TecTech.Rnd.nextInt(16),j=TecTech.Rnd.nextInt(128); + matrix[i] += (((matrix[i] & 1) == 0) ? 2 : -2) * j>>5; + matrix[i] += j==0?1:0; if(matrix[i]<0) matrix[i]=0; else if (matrix[i]>1000) matrix[i]=999; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Rack.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Rack.java index 5f1889c215..747c962ad8 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Rack.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_Container_Rack.java @@ -5,10 +5,11 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.gui.GT_ContainerMetaTile_Machine; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.client.Minecraft; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; import java.util.Iterator; @@ -60,6 +61,43 @@ public class GT_Container_Rack extends GT_ContainerMetaTile_Machine { this.heat = par2!=0; return; } - if(heat || mActive!=0) Minecraft.getMinecraft().displayGuiScreen(null); + //TODO TEST!!! + //if(heat || mActive!=0) Minecraft.getMinecraft().displayGuiScreen(null); + } + + @Override + public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer) { + if(heat || mActive!=0) return null; + return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer aPlayer, int aSlotIndex) { + if(heat || mActive!=0) return null; + return super.transferStackInSlot(aPlayer, aSlotIndex); + } + + @Override + public boolean canDragIntoSlot(Slot par1Slot) { + if(heat || mActive!=0) return false; + return super.canDragIntoSlot(par1Slot); + } + + @Override + public void putStacksInSlots(ItemStack[] par1ArrayOfItemStack) { + if(heat || mActive!=0) return; + super.putStacksInSlots(par1ArrayOfItemStack); + } + + @Override + protected boolean mergeItemStack(ItemStack aStack, int aStartIndex, int aSlotCount, boolean par4) { + if(heat || mActive!=0) return false; + return super.mergeItemStack(aStack, aStartIndex, aSlotCount, par4); + } + + @Override + public void putStackInSlot(int par1, ItemStack par2ItemStack) { + if(heat || mActive!=0) return; + super.putStackInSlot(par1, par2ItemStack); } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Rack.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Rack.java index c5aa1cf8a3..d232cfa80d 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Rack.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/gui/GT_GUIContainer_Rack.java @@ -24,5 +24,11 @@ public class GT_GUIContainer_Rack extends GT_GUIContainerMetaTile_Machine { int x = (this.width - this.xSize) / 2; int y = (this.height - this.ySize) / 2; this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize); + if (this.mContainer != null) { + if(((GT_Container_Rack)mContainer).mActive==1) + drawTexturedModalRect(x + 151, y + 23, 183, 23, 18, 18); + if(((GT_Container_Rack)mContainer).heat) + drawTexturedModalRect(x + 151, y + 41, 183, 41, 18, 18); + } } } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java index dc4d4d7eff..bc9db6a8b9 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java @@ -1,7 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; import com.github.technus.tectech.CommonValues; -import com.github.technus.tectech.thing.block.QuantumGlass; +import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.casing.GT_Container_CasingsTT; import com.github.technus.tectech.thing.metaTileEntity.constructableTT; import gregtech.api.enums.Textures; @@ -50,7 +50,7 @@ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_E GT_Container_CasingsTT.sBlockCasingsTT, GT_Container_CasingsTT.sBlockCasingsTT, GT_Container_CasingsTT.sBlockCasingsTT, - QuantumGlass.INSTANCE}; + QuantumGlassBlock.INSTANCE}; private static final byte[] blockMeta = new byte[]{3, 4, 5, 6, 7, 0}; public GT_MetaTileEntity_EM_bhg(int aID, String aName, String aNameRegional) { @@ -66,7 +66,7 @@ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_E } @Override - public void construct() { + public void construct(int qty) { StructureBuilder(shape,blockType,blockMeta,7,7,0,this.getBaseMetaTileEntity()); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_collider.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_collider.java index de05c46fd8..e3f875a46a 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_collider.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_collider.java @@ -1,8 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import com.github.technus.tectech.TecTech; import com.github.technus.tectech.CommonValues; -import com.github.technus.tectech.thing.block.QuantumGlass; +import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.casing.GT_Container_CasingsTT; import com.github.technus.tectech.thing.metaTileEntity.constructableTT; import gregtech.api.GregTech_API; @@ -97,7 +96,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB private static final Block[] blockType = new Block[]{ GT_Container_CasingsTT.sBlockCasingsTT, GregTech_API.sBlockCasings4, - QuantumGlass.INSTANCE, + QuantumGlassBlock.INSTANCE, GT_Container_CasingsTT.sBlockCasingsTT, GT_Container_CasingsTT.sBlockCasingsTT, GT_Container_CasingsTT.sBlockCasingsTT @@ -107,7 +106,7 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB private static final Block[] blockType2 = new Block[]{ GT_Container_CasingsTT.sBlockCasingsTT, GT_Container_CasingsTT.sBlockCasingsTT, - QuantumGlass.INSTANCE, + QuantumGlassBlock.INSTANCE, GT_Container_CasingsTT.sBlockCasingsTT, GT_Container_CasingsTT.sBlockCasingsTT, GT_Container_CasingsTT.sBlockCasingsTT @@ -180,8 +179,8 @@ public class GT_MetaTileEntity_EM_collider extends GT_MetaTileEntity_MultiblockB } @Override - public void construct() { - if(TecTech.Rnd.nextBoolean()) + public void construct(int qty) { + if((qty&1)==0) StructureBuilder(shape,blockType,blockMeta,0,-2,28,this.getBaseMetaTileEntity()); else StructureBuilder(shape,blockType2,blockMeta2,0,-2,28,this.getBaseMetaTileEntity()); } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java index 391d8c2b31..700241e6e6 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_computer.java @@ -1,8 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; +import com.github.technus.tectech.CommonValues; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.Util; -import com.github.technus.tectech.CommonValues; import com.github.technus.tectech.dataFramework.quantumDataPacket; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputData; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OutputData; @@ -67,7 +67,6 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[96]}; } - //TODO implement uncertainty, unstability @Override public boolean EM_checkRecipe(ItemStack itemStack) { eAvailableData=0; @@ -76,6 +75,7 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB int rackComputation; for (GT_MetaTileEntity_Hatch_Rack r : eRacks) { + if(!isValidMetaTileEntity(r))continue; if(r.heat>maxTemp)maxTemp=r.heat; rackComputation= r.tickComponents(eParamsIn[0],eParamsIn[10]); if(rackComputation>0){ @@ -180,15 +180,15 @@ public class GT_MetaTileEntity_EM_computer extends GT_MetaTileEntity_MultiblockB eRacks.clear(); if(!EM_StructureCheckAdvanced(front,blockType,blockMeta,addingMethods,casingTextures,blockTypeFallback,blockMetaFallback,1,2,0))return false; if(!EM_StructureCheckAdvanced(cap,blockType,blockMeta,addingMethods,casingTextures,blockTypeFallback,blockMetaFallback,1,2,-1))return false; - byte i,slices=4; - for(i=-2;i>-16;){ + byte i=-2,slices=4; + for(;i>-16;){ if(!EM_StructureCheckAdvanced(slice,blockType,blockMeta,addingMethods,casingTextures,blockTypeFallback,blockMetaFallback,1,2,i))break; slices++; i--; } if(!EM_StructureCheckAdvanced(cap,blockType,blockMeta,addingMethods,casingTextures,blockTypeFallback,blockMetaFallback,1,2,++i))return false; if(!EM_StructureCheckAdvanced(terminator,blockType,blockMeta,addingMethods,casingTextures,blockTypeFallback,blockMetaFallback,1,2,--i))return false; - eCertainMode=(byte)(slices/3); + eCertainMode=(byte)Math.min(slices/3,5); return eUncertainHatches.size() == 1; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java index 6e822b663d..f443c2a03b 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dequantizer.java @@ -1,7 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; import com.github.technus.tectech.CommonValues; -import com.github.technus.tectech.thing.block.QuantumGlass; +import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.casing.GT_Container_CasingsTT; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -31,7 +31,7 @@ public class GT_MetaTileEntity_EM_dequantizer extends GT_MetaTileEntity_Multiblo int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX; int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY; int zDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetZ; - if (iGregTechTileEntity.getBlockOffset(xDir, yDir, zDir) != QuantumGlass.INSTANCE) return false; + if (iGregTechTileEntity.getBlockOffset(xDir, yDir, zDir) != QuantumGlassBlock.INSTANCE) return false; for (int i = -1; i < 2; i++) { for (int j = -1; j < 2; j++) { for (int h = -1; h < 2; h++) { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java index 4ae48e9d62..f24b713f75 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_infuser.java @@ -1,8 +1,8 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; import cofh.api.energy.IEnergyContainerItem; -import com.github.technus.tectech.TecTech; import com.github.technus.tectech.CommonValues; +import com.github.technus.tectech.TecTech; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import ic2.api.item.ElectricItem; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java index 0ecb3b45ec..9aa53f64df 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_junction.java @@ -1,7 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; import com.github.technus.tectech.CommonValues; -import com.github.technus.tectech.thing.block.QuantumGlass; +import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.casing.GT_Container_CasingsTT; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputElemental; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OutputElemental; @@ -34,7 +34,7 @@ public class GT_MetaTileEntity_EM_junction extends GT_MetaTileEntity_MultiblockB int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX; int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY; int zDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetZ; - if (iGregTechTileEntity.getBlockOffset(xDir, yDir, zDir) != QuantumGlass.INSTANCE) return false; + if (iGregTechTileEntity.getBlockOffset(xDir, yDir, zDir) != QuantumGlassBlock.INSTANCE) return false; for (int i = -1; i < 2; i++) { for (int j = -1; j < 2; j++) { for (int h = -1; h < 2; h++) { diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java index a7ccd39061..82882d6a88 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_quantizer.java @@ -1,7 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import com.github.technus.tectech.TecTech; import com.github.technus.tectech.CommonValues; +import com.github.technus.tectech.TecTech; import com.github.technus.tectech.elementalMatter.classes.cElementalDefinitionStack; import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStack; import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStackTree; @@ -9,7 +9,7 @@ import com.github.technus.tectech.elementalMatter.classes.tElementalException; import com.github.technus.tectech.elementalMatter.definitions.dAtomDefinition; import com.github.technus.tectech.elementalMatter.definitions.dHadronDefinition; import com.github.technus.tectech.elementalMatter.definitions.eLeptonDefinition; -import com.github.technus.tectech.thing.block.QuantumGlass; +import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.casing.GT_Container_CasingsTT; import gregtech.api.GregTech_API; import gregtech.api.enums.Materials; @@ -54,7 +54,7 @@ public class GT_MetaTileEntity_EM_quantizer extends GT_MetaTileEntity_Multiblock int xDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetX; int yDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetY; int zDir = ForgeDirection.getOrientation(iGregTechTileEntity.getBackFacing()).offsetZ; - if (iGregTechTileEntity.getBlockOffset(xDir, yDir, zDir) != QuantumGlass.INSTANCE) return false; + if (iGregTechTileEntity.getBlockOffset(xDir, yDir, zDir) != QuantumGlassBlock.INSTANCE) return false; for (int i = -1; i < 2; i++) { for (int j = -1; j < 2; j++) { for (int h = -1; h < 2; h++) { 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 3bf24e67dc..2725dd82fa 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 @@ -3,9 +3,7 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; import com.github.technus.tectech.CommonValues; import com.github.technus.tectech.dataFramework.quantumDataPacket; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputData; -import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputElemental; import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OutputData; -import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OutputElemental; import com.github.technus.tectech.vec3pos; import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; @@ -13,7 +11,6 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.objects.GT_RenderedTexture; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; @@ -109,12 +106,23 @@ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBas if (pack == null) return; } + long remaining=pack.computation; + for (int i = 0; i < 10; i++) { if (eParamsIn[i] > 0) { final int outIndex = (int) (eParamsIn[i + 10]) - 1; if (outIndex < 0 || outIndex > eOutputData.size()) continue; GT_MetaTileEntity_Hatch_OutputData out = eOutputData.get(outIndex); - out.q = new quantumDataPacket(pack, (long) ((pack.computation * eParamsIn[i]) / total)); + final long part=(long) ((pack.computation * eParamsIn[i]) / total); + if(part>0) { + remaining-=part; + if (remaining > 0) + out.q = new quantumDataPacket(pack, part); + else if (part + remaining > 0) { + out.q = new quantumDataPacket(pack, part + remaining); + break; + } else break; + } } } } @@ -122,7 +130,21 @@ public class GT_MetaTileEntity_EM_switch extends GT_MetaTileEntity_MultiblockBas @Override public void EM_checkParams() { - + for (int i = 0; i < 10; i++) { + if (eParamsIn[i] < 0) eParamsInStatus[i] = PARAM_TOO_LOW; + else if (eParamsIn[i] == 0) eParamsInStatus[i] = PARAM_UNUSED; + else if (eParamsIn[i] == Float.POSITIVE_INFINITY) eParamsInStatus[i] = PARAM_TOO_HIGH; + else eParamsInStatus[i] = PARAM_OK; + } + for (int i = 10; i < 20; i++) { + if (eParamsInStatus[i - 10] == PARAM_OK) { + if ((int) eParamsIn[i] <= 0) eParamsInStatus[i] = PARAM_LOW; + else if ((int) eParamsIn[i] > eOutputData.size()) eParamsInStatus[i] = PARAM_TOO_HIGH; + else eParamsInStatus[i] = PARAM_OK; + } else { + eParamsInStatus[i] = PARAM_UNUSED; + } + } } @Override diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java index 1d37a5f0a8..761b00041f 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_MultiblockBase_EM.java @@ -1,7 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; -import com.github.technus.tectech.TecTech; import com.github.technus.tectech.CommonValues; +import com.github.technus.tectech.TecTech; import com.github.technus.tectech.elementalMatter.classes.cElementalDefinitionStack; import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStack; import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStackTree; @@ -15,6 +15,7 @@ import gregtech.api.enums.Textures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.metatileentity.BaseTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.*; import gregtech.api.objects.GT_RenderedTexture; @@ -35,9 +36,9 @@ import java.lang.reflect.Method; import java.util.ArrayList; import java.util.TreeMap; +import static com.github.technus.tectech.CommonValues.*; import static com.github.technus.tectech.Util.StructureChecker; import static com.github.technus.tectech.Util.StructureCheckerAdvanced; -import static com.github.technus.tectech.CommonValues.*; import static gregtech.api.enums.GT_Values.V; import static gregtech.api.enums.GT_Values.VN; @@ -106,7 +107,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt // (Well it can be overflowed if machine didn't finished, soft-hammered/disabled/not enough EU) // Setting available data processing - protected void EM_extraHatchHookInit(){}//For extra types of hatches initiation + protected void EM_extraHatchInitHook(){}//For extra types of hatches initiation, LOOK HOW IT IS CALLED! onPostTick protected void EM_extraExplosions(){}//For that extra hatches explosions, and maybe some MOORE EXPLOSIONS protected void EM_stopMachine(){}//On machine stop @@ -297,12 +298,19 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return 0; } + private boolean cyclicUpdate(){ + if(mUpdate<-1000){ + mUpdate=0; + return true; + } + return false; + } + @Override public final void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { if (aBaseMetaTileEntity.isServerSide()) { if (mEfficiency < 0) mEfficiency = 0; - if (--mUpdate == 0 || --mStartUpCheck == 0) { - + if (--mUpdate == 0 || --mStartUpCheck == 0 || cyclicUpdate() || aBaseMetaTileEntity.hasWorkJustBeenEnabled()) { mInputHatches.clear(); mInputBusses.clear(); mOutputHatches.clear(); @@ -337,6 +345,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt eOutputData.clear(); eInputData.clear(); + if ((getBaseMetaTileEntity() instanceof BaseTileEntity)) + ((BaseTileEntity) getBaseMetaTileEntity()).ignoreUnloadedChunks = mMachine; mMachine = checkMachine(aBaseMetaTileEntity, mInventory[1]); if (!mMachine) @@ -403,7 +413,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt eMaxAmpereFlow = 0; this.setEUVar(0); } - EM_extraHatchHookInit(); + EM_extraHatchInitHook(); } if (mStartUpCheck < 0) {//E @@ -924,6 +934,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return eMufflerHatches.add((GT_MetaTileEntity_Hatch_MufflerElemental) aMetaTileEntity); if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_EnergyMulti) return eEnergyMulti.add((GT_MetaTileEntity_Hatch_EnergyMulti) aMetaTileEntity); + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_DynamoMulti) + return eDynamoMulti.add((GT_MetaTileEntity_Hatch_DynamoMulti) aMetaTileEntity); if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputData) return eInputData.add((GT_MetaTileEntity_Hatch_InputData) aMetaTileEntity); if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_OutputData) @@ -1216,7 +1228,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt " Efficiency: " + EnumChatFormatting.YELLOW + Float.toString(mEfficiency / 100.0F) + EnumChatFormatting.RESET + " %", "PowerPass: " + EnumChatFormatting.BLUE + ePowerPass + EnumChatFormatting.RESET + " SafeVoid: " + EnumChatFormatting.BLUE + eSafeVoid, - "Computation: " + EnumChatFormatting.GREEN + eAvailableData + EnumChatFormatting.RESET +" TFLOPS / "+EnumChatFormatting.YELLOW+eRequiredData+EnumChatFormatting.RESET+" TFLOPS" + "Computation: " + EnumChatFormatting.GREEN + eAvailableData + EnumChatFormatting.RESET +" / "+EnumChatFormatting.YELLOW+eRequiredData+EnumChatFormatting.RESET }; } diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java index 36e0ff6f66..0b785004c2 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/single/GT_MetaTileEntity_DebugStructureWriter.java @@ -1,7 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.single; -import com.github.technus.tectech.TecTech; import com.github.technus.tectech.CommonValues; +import com.github.technus.tectech.TecTech; import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_Container_DebugStructureWriter; import com.github.technus.tectech.thing.metaTileEntity.single.gui.GT_GUIContainer_DebugStructureWriter; import gregtech.api.enums.Textures; @@ -15,6 +15,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; import static com.github.technus.tectech.Util.StructureWriter; @@ -117,7 +118,9 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti @Override public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { if (aBaseMetaTileEntity.isClientSide()) return true; - aBaseMetaTileEntity.openGUI(aPlayer); + aBaseMetaTileEntity.openGUI(aPlayer); + if(TecTech.ModConfig.DEBUG_MODE && aPlayer.getHeldItem()!=null) + TecTech.Logger.info("UnlocalizedName: "+aPlayer.getHeldItem().getUnlocalizedName()); return true; } @@ -141,8 +144,8 @@ public class GT_MetaTileEntity_DebugStructureWriter extends GT_MetaTileEntity_Ti return new String[]{ CommonValues.tecMark, this.mDescription, - "Prints Multiblock NonTE structure check code", - "ABC axises aligned to machine front" + EnumChatFormatting.BLUE+"Prints Multiblock NonTE structure check code", + EnumChatFormatting.BLUE+"ABC axises aligned to machine front" }; } diff --git a/src/main/resources/assets/gregtech/textures/gui/rack.png b/src/main/resources/assets/gregtech/textures/gui/rack.png Binary files differindex 006c373183..e6ce2d6efd 100644 --- a/src/main/resources/assets/gregtech/textures/gui/rack.png +++ b/src/main/resources/assets/gregtech/textures/gui/rack.png |