aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTec <daniel112092@gmail.com>2018-03-19 21:16:57 +0100
committerTec <daniel112092@gmail.com>2018-03-19 21:16:57 +0100
commit0ba40893414b104ea562bfb26bce750ffee5de63 (patch)
treec2b635e10f31ab143f09cde6e0cfc53c157a8103 /src
parentf4ebcb9c7e057ded50f4532c033583f48cacd75b (diff)
downloadGT5-Unofficial-0ba40893414b104ea562bfb26bce750ffee5de63.tar.gz
GT5-Unofficial-0ba40893414b104ea562bfb26bce750ffee5de63.tar.bz2
GT5-Unofficial-0ba40893414b104ea562bfb26bce750ffee5de63.zip
Cleanup data pipe api
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_DataConnector.java9
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_ElementalContainer.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputData.java23
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java40
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputData.java43
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java36
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java23
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_Data.java76
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java8
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/IConnectsToDataPipe.java14
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/IConnectsToEMpipe.java (renamed from src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/iConnectsToEMpipe.java)2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/iConnectsToDataPipe.java12
12 files changed, 170 insertions, 120 deletions
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 623d5c95c5..22c2ac2e2b 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
@@ -2,7 +2,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch;
import com.github.technus.tectech.CommonValues;
import com.github.technus.tectech.dataFramework.DataPacket;
-import com.github.technus.tectech.thing.metaTileEntity.pipe.iConnectsToDataPipe;
+import com.github.technus.tectech.thing.metaTileEntity.pipe.IConnectsToDataPipe;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.enums.Dyes;
@@ -24,7 +24,7 @@ import static gregtech.api.enums.Dyes.MACHINE_METAL;
/**
* Created by danie_000 on 11.12.2016.
*/
-public abstract class GT_MetaTileEntity_Hatch_DataConnector<T extends DataPacket> extends GT_MetaTileEntity_Hatch implements iConnectsToDataPipe {
+public abstract class GT_MetaTileEntity_Hatch_DataConnector<T extends DataPacket> extends GT_MetaTileEntity_Hatch implements IConnectsToDataPipe {
public static Textures.BlockIcons.CustomIcon EM_D_SIDES;
public static Textures.BlockIcons.CustomIcon EM_D_ACTIVE;
public static Textures.BlockIcons.CustomIcon EM_D_CONN;
@@ -161,4 +161,9 @@ public abstract class GT_MetaTileEntity_Hatch_DataConnector<T extends DataPacket
EnumChatFormatting.AQUA + "Must be painted to work"
};
}
+
+ @Override
+ public byte getColorization() {
+ return getBaseMetaTileEntity().getColorization();
+ }
}
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 0f78875bcc..3bd011342c 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
@@ -4,7 +4,7 @@ import com.github.technus.tectech.TecTech;
import com.github.technus.tectech.elementalMatter.core.cElementalInstanceStackMap;
import com.github.technus.tectech.elementalMatter.core.iElementalInstanceContainer;
import com.github.technus.tectech.elementalMatter.core.tElementalException;
-import com.github.technus.tectech.thing.metaTileEntity.pipe.iConnectsToEMpipe;
+import com.github.technus.tectech.thing.metaTileEntity.pipe.IConnectsToEMpipe;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.enums.Dyes;
@@ -29,7 +29,7 @@ import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Mult
/**
* Created by danie_000 on 11.12.2016.
*/
-public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_MetaTileEntity_Hatch implements iElementalInstanceContainer, iConnectsToEMpipe {
+public abstract class GT_MetaTileEntity_Hatch_ElementalContainer extends GT_MetaTileEntity_Hatch implements iElementalInstanceContainer, IConnectsToEMpipe {
private static Textures.BlockIcons.CustomIcon EM_T_SIDES;
private static Textures.BlockIcons.CustomIcon EM_T_ACTIVE;
private static Textures.BlockIcons.CustomIcon EM_T_CONN;
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputData.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputData.java
index c441efcf1f..6f3bad775e 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputData.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputData.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.thing.metaTileEntity.pipe.iConnectsToDataPipe;
+import com.github.technus.tectech.thing.metaTileEntity.pipe.IConnectsToDataPipe;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
@@ -11,7 +11,7 @@ import net.minecraft.nbt.NBTTagCompound;
* Created by danie_000 on 27.10.2016.
*/
public class GT_MetaTileEntity_Hatch_InputData extends GT_MetaTileEntity_Hatch_DataConnector<QuantumDataPacket> {
- public boolean delDelay = true;
+ private boolean delDelay = true;
public GT_MetaTileEntity_Hatch_InputData(int aID, String aName, String aNameRegional, int aTier) {
super(aID, aName, aNameRegional, aTier, "Quantum Data Input for Multiblocks");
@@ -52,21 +52,34 @@ public class GT_MetaTileEntity_Hatch_InputData extends GT_MetaTileEntity_Hatch_D
}
@Override
- public boolean canConnect(byte side) {
+ public boolean canConnectData(byte side) {
return isInputFacing(side);
}
@Override
- public iConnectsToDataPipe getNext(iConnectsToDataPipe source) {
+ public IConnectsToDataPipe getNext(IConnectsToDataPipe source) {
return null;
}
+ public void setContents(QuantumDataPacket qIn){
+ if(qIn==null){
+ this.q=null;
+ }else{
+ if(qIn.getContent()>0) {
+ this.q = qIn;
+ delDelay=true;
+ }else{
+ this.q=null;
+ }
+ }
+ }
+
@Override
public void moveAround(IGregTechTileEntity aBaseMetaTileEntity) {
if (delDelay) {
delDelay = false;
} else {
- q = null;
+ setContents(null);
}
}
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java
index 229ddc863b..51f3a6c21c 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_InputDataItems.java
@@ -2,7 +2,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch;
import com.github.technus.tectech.CommonValues;
import com.github.technus.tectech.dataFramework.InventoryDataPacket;
-import com.github.technus.tectech.thing.metaTileEntity.pipe.iConnectsToDataPipe;
+import com.github.technus.tectech.thing.metaTileEntity.pipe.IConnectsToDataPipe;
import gregtech.api.enums.Dyes;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -23,7 +23,7 @@ import static com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileE
import static com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DataConnector.EM_D_SIDES;
import static gregtech.api.enums.Dyes.MACHINE_METAL;
-public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Hatch_DataAccess implements iConnectsToDataPipe {
+public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Hatch_DataAccess implements IConnectsToDataPipe {
private final String mDescription;
public boolean delDelay = true;
private ItemStack[] stacks;
@@ -114,21 +114,21 @@ public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Ha
}
@Override
- public boolean canConnect(byte side) {
+ public boolean canConnectData(byte side) {
return isInputFacing(side);
}
@Override
- public iConnectsToDataPipe getNext(iConnectsToDataPipe source) {
+ public IConnectsToDataPipe getNext(IConnectsToDataPipe source) {
return null;
}
- public void setContents(InventoryDataPacket q){
- if(q==null){
+ public void setContents(InventoryDataPacket iIn){
+ if(iIn==null){
stacks=null;
}else{
- if(q.getContent().length>0) {
- stacks = q.getContent();
+ if(iIn.getContent().length>0) {
+ stacks = iIn.getContent();
delDelay=true;
}else{
stacks=null;
@@ -145,7 +145,7 @@ public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Ha
public void saveNBTData(NBTTagCompound aNBT) {
super.saveNBTData(aNBT);
NBTTagCompound stacksTag=new NBTTagCompound();
- if(stacks!=null && stacks.length>0){
+ if(stacks!=null){
stacksTag.setInteger("count",stacks.length);
for(int i=0;i<stacks.length;i++){
stacksTag.setTag(Integer.toString(i),stacks[i].writeToNBT(new NBTTagCompound()));
@@ -187,12 +187,16 @@ public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Ha
public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
super.onPreTick(aBaseMetaTileEntity,aTick);
if(MOVE_AT == aTick % 20) {
- if (delDelay) {
- delDelay = false;
+ if(stacks==null){
+ getBaseMetaTileEntity().setActive(false);
} else {
- setContents(null);
+ getBaseMetaTileEntity().setActive(true);
+ if (delDelay) {
+ delDelay = false;
+ } else {
+ setContents(null);
+ }
}
- aBaseMetaTileEntity.setActive(stacks!=null && stacks.length>0);
}
}
@@ -207,9 +211,19 @@ public class GT_MetaTileEntity_Hatch_InputDataItems extends GT_MetaTileEntity_Ha
}
@Override
+ public boolean isGivingInformation() {
+ return true;
+ }
+
+ @Override
public String[] getInfoData() {
return new String[]{
"Content: Stack Count: "+(stacks==null?0:stacks.length)
};
}
+
+ @Override
+ public byte getColorization() {
+ return getBaseMetaTileEntity().getColorization();
+ }
}
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 f53826667d..64de93f1d7 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
@@ -2,7 +2,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch;
import com.github.technus.tectech.dataFramework.QuantumDataPacket;
import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Data;
-import com.github.technus.tectech.thing.metaTileEntity.pipe.iConnectsToDataPipe;
+import com.github.technus.tectech.thing.metaTileEntity.pipe.IConnectsToDataPipe;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -28,11 +28,6 @@ public class GT_MetaTileEntity_Hatch_OutputData extends GT_MetaTileEntity_Hatch_
}
@Override
- protected QuantumDataPacket loadPacketFromNBT(NBTTagCompound nbt) {
- return new QuantumDataPacket(nbt);
- }
-
- @Override
public boolean isOutputFacing(byte aSide) {
return aSide == getBaseMetaTileEntity().getFrontFacing();
}
@@ -43,28 +38,32 @@ public class GT_MetaTileEntity_Hatch_OutputData extends GT_MetaTileEntity_Hatch_
}
@Override
+ public boolean isSimpleMachine() {
+ return true;
+ }
+
+ @Override
public boolean isDataInputFacing(byte side) {
return isInputFacing(side);
}
@Override
- public boolean isSimpleMachine() {
- return true;
+ protected QuantumDataPacket loadPacketFromNBT(NBTTagCompound nbt) {
+ return new QuantumDataPacket(nbt);
}
@Override
- public boolean canConnect(byte side) {
+ public boolean canConnectData(byte side) {
return isOutputFacing(side);
}
@Override
public void moveAround(IGregTechTileEntity aBaseMetaTileEntity) {
- iConnectsToDataPipe current = this, source = this, next;
+ IConnectsToDataPipe current = this, source = this, next;
int range = 0;
while ((next = current.getNext(source)) != null && range++ < 1000) {
if (next instanceof GT_MetaTileEntity_Hatch_InputData) {
- ((GT_MetaTileEntity_Hatch_InputData) next).q = q;
- ((GT_MetaTileEntity_Hatch_InputData) next).delDelay = true;
+ ((GT_MetaTileEntity_Hatch_InputData) next).setContents(q);
break;
}
source = current;
@@ -74,27 +73,23 @@ public class GT_MetaTileEntity_Hatch_OutputData extends GT_MetaTileEntity_Hatch_
}
@Override
- public iConnectsToDataPipe getNext(iConnectsToDataPipe source/*==this*/) {
+ public IConnectsToDataPipe getNext(IConnectsToDataPipe source/*==this*/) {
IGregTechTileEntity base = getBaseMetaTileEntity();
byte color = base.getColorization();
if (color < 0) {
return null;
}
IGregTechTileEntity next = base.getIGregTechTileEntityAtSide(base.getFrontFacing());
- if (next == null || color != base.getColorization()) {
+ if (next == null) {
return null;
}
IMetaTileEntity meta = next.getMetaTileEntity();
- if (meta instanceof iConnectsToDataPipe) {
- if (meta instanceof GT_MetaTileEntity_Hatch_InputData
- && GT_Utility.getOppositeSide(next.getFrontFacing()) == base.getFrontFacing()) {
- return (iConnectsToDataPipe) meta;
- }
- if (meta instanceof GT_MetaTileEntity_Pipe_Data
- /*&& ((GT_MetaTileEntity_Pipe_Data) meta).connectionCount==2*/)//Checked later
- {
- return (iConnectsToDataPipe) meta;
- }
+ if (meta instanceof GT_MetaTileEntity_Pipe_Data){
+ return (IConnectsToDataPipe) meta;
+ }else if (meta instanceof GT_MetaTileEntity_Hatch_InputData &&
+ ((GT_MetaTileEntity_Hatch_InputData) meta).getColorization()==color &&
+ ((GT_MetaTileEntity_Hatch_InputData) meta).canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) {
+ return (IConnectsToDataPipe) meta;
}
return null;
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java
index 330c19d391..1cf0bd4f09 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/hatch/GT_MetaTileEntity_Hatch_OutputDataItems.java
@@ -2,7 +2,7 @@ package com.github.technus.tectech.thing.metaTileEntity.hatch;
import com.github.technus.tectech.dataFramework.InventoryDataPacket;
import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Data;
-import com.github.technus.tectech.thing.metaTileEntity.pipe.iConnectsToDataPipe;
+import com.github.technus.tectech.thing.metaTileEntity.pipe.IConnectsToDataPipe;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -83,18 +83,23 @@ public class GT_MetaTileEntity_Hatch_OutputDataItems extends GT_MetaTileEntity_H
}
@Override
+ protected InventoryDataPacket loadPacketFromNBT(NBTTagCompound nbt) {
+ return new InventoryDataPacket(nbt);
+ }
+
+ @Override
public boolean isDataInputFacing(byte side) {
return isInputFacing(side);
}
@Override
- public boolean canConnect(byte side) {
+ public boolean canConnectData(byte side) {
return isOutputFacing(side);
}
@Override
public void moveAround(IGregTechTileEntity aBaseMetaTileEntity) {
- iConnectsToDataPipe current = this, source = this, next;
+ IConnectsToDataPipe current = this, source = this, next;
int range = 0;
while ((next = current.getNext(source)) != null && range++ < 1000) {
if (next instanceof GT_MetaTileEntity_Hatch_InputDataItems) {
@@ -108,33 +113,24 @@ public class GT_MetaTileEntity_Hatch_OutputDataItems extends GT_MetaTileEntity_H
}
@Override
- public iConnectsToDataPipe getNext(iConnectsToDataPipe source/*==this*/) {
+ public IConnectsToDataPipe getNext(IConnectsToDataPipe source/*==this*/) {
IGregTechTileEntity base = getBaseMetaTileEntity();
byte color = base.getColorization();
if (color < 0) {
return null;
}
IGregTechTileEntity next = base.getIGregTechTileEntityAtSide(base.getFrontFacing());
- if (next == null || color != base.getColorization()) {
+ if (next == null) {
return null;
}
IMetaTileEntity meta = next.getMetaTileEntity();
- if (meta instanceof iConnectsToDataPipe) {
- if (meta instanceof GT_MetaTileEntity_Hatch_InputDataItems
- && GT_Utility.getOppositeSide(next.getFrontFacing()) == base.getFrontFacing()) {
- return (iConnectsToDataPipe) meta;
- }
- if (meta instanceof GT_MetaTileEntity_Pipe_Data
- /*&& ((GT_MetaTileEntity_Pipe_Data) meta).connectionCount==2*/)//Checked later
- {
- return (iConnectsToDataPipe) meta;
- }
+ if (meta instanceof GT_MetaTileEntity_Pipe_Data){
+ return (IConnectsToDataPipe) meta;
+ }else if (meta instanceof GT_MetaTileEntity_Hatch_InputDataItems &&
+ ((GT_MetaTileEntity_Hatch_InputDataItems) meta).getColorization()==color &&
+ ((GT_MetaTileEntity_Hatch_InputDataItems) meta).canConnectData(GT_Utility.getOppositeSide(base.getFrontFacing()))) {
+ return (IConnectsToDataPipe) meta;
}
return null;
}
-
- @Override
- protected InventoryDataPacket loadPacketFromNBT(NBTTagCompound nbt) {
- return new InventoryDataPacket(nbt);
- }
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java
index 1a6c776949..6e977b12e6 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_dataBank.java
@@ -7,6 +7,8 @@ import com.github.technus.tectech.dataFramework.InventoryDataPacket;
import com.github.technus.tectech.thing.metaTileEntity.IConstructable;
import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_InputDataItems;
import com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_OutputDataItems;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_Container_MultiMachineEM;
+import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_GUIContainer_MultiMachineEM;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM;
import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedTexture;
import cpw.mods.fml.relauncher.Side;
@@ -18,6 +20,7 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_DataAccess;
import net.minecraft.block.Block;
+import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.ResourceLocation;
@@ -83,6 +86,16 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB
}
@Override
+ public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
+ return new GT_Container_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, true, false, true);
+ }
+
+ @Override
+ public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
+ return new GT_GUIContainer_MultiMachineEM(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "EMDisplay.png", true, false, true);//todo texture
+ }
+
+ @Override
public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) {
eDataAccessHatches.clear();
eStacksDataOutputs.clear();
@@ -100,6 +113,16 @@ public class GT_MetaTileEntity_EM_dataBank extends GT_MetaTileEntity_MultiblockB
}
@Override
+ protected void parametersLoadDefault_EM() {
+ for(int i=0;i<10;i++){
+ setStatusOfParameterIn(i,0,STATUS_UNUSED);
+ setStatusOfParameterIn(i,1,STATUS_UNUSED);
+ setStatusOfParameterOut(i,0,STATUS_UNUSED);
+ setStatusOfParameterOut(i,1,STATUS_UNUSED);
+ }
+ }
+
+ @Override
public boolean checkRecipe_EM(ItemStack itemStack) {
if (eDataAccessHatches.size() > 0 && eStacksDataOutputs.size() > 0) {
mEUt = -(int) V[7];
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 4e50b7f4dc..5234de7129 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
@@ -8,7 +8,6 @@ import gregtech.api.enums.Dyes;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
-import gregtech.api.interfaces.tileentity.IColoredTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.BaseMetaPipeEntity;
import gregtech.api.metatileentity.MetaPipeEntity;
@@ -29,7 +28,7 @@ import static gregtech.api.enums.Dyes.MACHINE_METAL;
/**
* Created by Tec on 26.02.2017.
*/
-public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements iConnectsToDataPipe {
+public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements IConnectsToDataPipe {
private static Textures.BlockIcons.CustomIcon EMpipe;
private static Textures.BlockIcons.CustomIcon EMbar;
public byte connectionCount = 0;
@@ -110,54 +109,49 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements iConn
if ((aTick & 31) == 31) {
mConnections = 0;
connectionCount = 0;
+ byte myColor=aBaseMetaTileEntity.getColorization();
if (aBaseMetaTileEntity.getColorization() < 0) {
return;
}
for (byte b0 = 0, b1; b0 < 6; b0++) {
b1 = GT_Utility.getOppositeSide(b0);
- //if (!aBaseMetaTileEntity.getCoverBehaviorAtSide(b0).alwaysLookConnected(b0, aBaseMetaTileEntity.getCoverIDAtSide(b0), aBaseMetaTileEntity.getCoverDataAtSide(b0), aBaseMetaTileEntity)) {
TileEntity tTileEntity = aBaseMetaTileEntity.getTileEntityAtSide(b0);
- if (tTileEntity instanceof IColoredTileEntity) {
- //if (aBaseMetaTileEntity.getColorization() >= 0) {
- byte tColor = ((IColoredTileEntity) tTileEntity).getColorization();
- if (tColor != aBaseMetaTileEntity.getColorization()) {
+ if (tTileEntity instanceof IConnectsToDataPipe) {
+ byte tColor = ((IConnectsToDataPipe) tTileEntity).getColorization();
+ if (tColor != myColor) {
continue;
}
- //}
- }
- if (tTileEntity instanceof iConnectsToDataPipe && ((iConnectsToDataPipe) tTileEntity).canConnect(b1)) {
- mConnections |= 1 << b0;
- connectionCount++;
- } else if (tTileEntity instanceof IGregTechTileEntity && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() instanceof iConnectsToDataPipe) {
- if (//((IGregTechTileEntity) tTileEntity).getCoverBehaviorAtSide(b1).alwaysLookConnected(b1, ((IGregTechTileEntity) tTileEntity).getCoverIDAtSide(b1), ((IGregTechTileEntity) tTileEntity).getCoverDataAtSide(b1), ((IGregTechTileEntity) tTileEntity)) ||
- ((iConnectsToDataPipe) ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()).canConnect(b1)) {
+ if(((IConnectsToDataPipe) tTileEntity).canConnectData(b1)){
mConnections |= 1 << b0;
connectionCount++;
}
+ }else if(tTileEntity instanceof IGregTechTileEntity){
+ IMetaTileEntity meta=((IGregTechTileEntity) tTileEntity).getMetaTileEntity();
+ if(meta instanceof IConnectsToDataPipe){
+ byte tColor = ((IConnectsToDataPipe) meta).getColorization();
+ if (tColor != myColor) {
+ continue;
+ }
+ if(((IConnectsToDataPipe) meta).canConnectData(b1)){
+ mConnections |= 1 << b0;
+ connectionCount++;
+ }
+ }
}
- //}
- //else {
- // mConnections |= (1 << b0);
- // if (mOld != mConnections) {
- // connectionCount++;
- // mOld = mConnections;
- // }
- //}
}
}
-
} else if (aBaseMetaTileEntity.isClientSide() && GT_Client.changeDetected == 4) {
aBaseMetaTileEntity.issueTextureUpdate();
}
}
@Override
- public boolean canConnect(byte side) {
+ public boolean canConnectData(byte side) {
return true;
}
@Override
- public iConnectsToDataPipe getNext(iConnectsToDataPipe source) {
+ public IConnectsToDataPipe getNext(IConnectsToDataPipe source) {
if (connectionCount != 2) {
return null;
}
@@ -165,18 +159,21 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements iConn
if ((mConnections & 1 << b) == 0) {
continue;//if not connected continue
}
- IGregTechTileEntity next = getBaseMetaTileEntity().getIGregTechTileEntityAtSide(b);
- if (next == null) {
- continue;
- }
- IMetaTileEntity meta = next.getMetaTileEntity();
- if (meta instanceof iConnectsToDataPipe && meta != source) {
- if (meta instanceof GT_MetaTileEntity_Pipe_Data &&
- ((GT_MetaTileEntity_Pipe_Data) meta).connectionCount == 2) {
- return (iConnectsToDataPipe) meta;
+ TileEntity next = getBaseMetaTileEntity().getTileEntityAtSide(b);
+ if (next instanceof IConnectsToDataPipe && next != source) {
+ if(((IConnectsToDataPipe) next).isDataInputFacing(GT_Utility.getOppositeSide(b))){
+ return (IConnectsToDataPipe) next;
}
- if(((iConnectsToDataPipe) meta).isDataInputFacing(GT_Utility.getOppositeSide(b))){
- return (iConnectsToDataPipe) meta;
+ }else if(next instanceof IGregTechTileEntity) {
+ IMetaTileEntity meta = ((IGregTechTileEntity) next).getMetaTileEntity();
+ if (meta instanceof IConnectsToDataPipe && meta != source) {
+ if (meta instanceof GT_MetaTileEntity_Pipe_Data &&
+ ((GT_MetaTileEntity_Pipe_Data) meta).connectionCount == 2) {
+ return (IConnectsToDataPipe) meta;
+ }
+ if (((IConnectsToDataPipe) meta).isDataInputFacing(GT_Utility.getOppositeSide(b))) {
+ return (IConnectsToDataPipe) meta;
+ }
}
}
}
@@ -235,4 +232,9 @@ public class GT_MetaTileEntity_Pipe_Data extends MetaPipeEntity implements iConn
public boolean isDataInputFacing(byte side) {
return true;
}
+
+ @Override
+ public byte getColorization() {
+ return getBaseMetaTileEntity().getColorization();
+ }
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java
index 3d1b5f6fb9..6c339bdc59 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/GT_MetaTileEntity_Pipe_EM.java
@@ -29,7 +29,7 @@ import static gregtech.api.enums.Dyes.MACHINE_METAL;
/**
* Created by Tec on 26.02.2017.
*/
-public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements iConnectsToEMpipe {
+public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements IConnectsToEMpipe {
private static Textures.BlockIcons.CustomIcon EMpipe;
private static Textures.BlockIcons.CustomIcon EMcandy;
public byte connectionCount = 0;
@@ -125,12 +125,12 @@ public class GT_MetaTileEntity_Pipe_EM extends MetaPipeEntity implements iConnec
}
//}
}
- if (tTileEntity instanceof iConnectsToEMpipe && ((iConnectsToEMpipe) tTileEntity).canConnect(b1)) {
+ if (tTileEntity instanceof IConnectsToEMpipe && ((IConnectsToEMpipe) tTileEntity).canConnect(b1)) {
mConnections |= 1 << b0;
connectionCount++;
- } else if (tTileEntity instanceof IGregTechTileEntity && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() instanceof iConnectsToEMpipe) {
+ } else if (tTileEntity instanceof IGregTechTileEntity && ((IGregTechTileEntity) tTileEntity).getMetaTileEntity() instanceof IConnectsToEMpipe) {
if (//((IGregTechTileEntity) tTileEntity).getCoverBehaviorAtSide(b1).alwaysLookConnected(b1, ((IGregTechTileEntity) tTileEntity).getCoverIDAtSide(b1), ((IGregTechTileEntity) tTileEntity).getCoverDataAtSide(b1), ((IGregTechTileEntity) tTileEntity)) ||
- ((iConnectsToEMpipe) ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()).canConnect(b1)) {
+ ((IConnectsToEMpipe) ((IGregTechTileEntity) tTileEntity).getMetaTileEntity()).canConnect(b1)) {
mConnections |= 1 << b0;
connectionCount++;
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/IConnectsToDataPipe.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/IConnectsToDataPipe.java
new file mode 100644
index 0000000000..def0795ba3
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/IConnectsToDataPipe.java
@@ -0,0 +1,14 @@
+package com.github.technus.tectech.thing.metaTileEntity.pipe;
+
+/**
+ * Created by Tec on 26.02.2017.
+ */
+public interface IConnectsToDataPipe {
+ boolean canConnectData(byte side);
+
+ IConnectsToDataPipe getNext(IConnectsToDataPipe source);
+
+ boolean isDataInputFacing(byte side);
+
+ byte getColorization();
+}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/iConnectsToEMpipe.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/IConnectsToEMpipe.java
index d8fd912455..cacdb41500 100644
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/iConnectsToEMpipe.java
+++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/IConnectsToEMpipe.java
@@ -3,6 +3,6 @@ package com.github.technus.tectech.thing.metaTileEntity.pipe;
/**
* Created by Tec on 26.02.2017.
*/
-public interface iConnectsToEMpipe {
+public interface IConnectsToEMpipe {
boolean canConnect(byte side);
}
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/iConnectsToDataPipe.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/iConnectsToDataPipe.java
deleted file mode 100644
index 95043b2ae1..0000000000
--- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/pipe/iConnectsToDataPipe.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.github.technus.tectech.thing.metaTileEntity.pipe;
-
-/**
- * Created by Tec on 26.02.2017.
- */
-public interface iConnectsToDataPipe {
- boolean canConnect(byte side);
-
- iConnectsToDataPipe getNext(iConnectsToDataPipe source);
-
- boolean isDataInputFacing(byte side);
-}