summaryrefslogtreecommitdiff
path: root/ihl/processing/invslots/InvSlotSignalProcessor.java
diff options
context:
space:
mode:
authorFoghrye4 <foghrye4@gmail.com>2017-02-12 20:43:03 +0300
committerFoghrye4 <foghrye4@gmail.com>2017-02-12 20:43:03 +0300
commit5cb4c6e24033cf337812390d99a6817d24d21eab (patch)
tree695789855920199efd4702a7bb3e4bacfe58b9f0 /ihl/processing/invslots/InvSlotSignalProcessor.java
parent8f22398517206aed21a7fd840f463332429fae35 (diff)
Removed explosion radius limitations. Explosion calculation optimized (reduced memory usage). One more detonator and explosive pack recipe. GT6 recipes for both chemical reactors and cryogenic distiller. Max stack size of muffle furnace is limited to 32. A lot of old features are removed.
Diffstat (limited to 'ihl/processing/invslots/InvSlotSignalProcessor.java')
-rw-r--r--ihl/processing/invslots/InvSlotSignalProcessor.java123
1 files changed, 0 insertions, 123 deletions
diff --git a/ihl/processing/invslots/InvSlotSignalProcessor.java b/ihl/processing/invslots/InvSlotSignalProcessor.java
deleted file mode 100644
index f66ab13..0000000
--- a/ihl/processing/invslots/InvSlotSignalProcessor.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package ihl.processing.invslots;
-
-import net.minecraft.block.Block;
-import net.minecraftforge.common.util.ForgeDirection;
-import ic2.core.Ic2Items;
-import ic2.core.block.invslot.InvSlot;
-import ihl.datanet.Contact;
-import ihl.datanet.RedstoneSignalConverterTileEntity;
-import ihl.interfaces.IDataNode;
-import ihl.utils.IHLUtils;
-
-public class InvSlotSignalProcessor extends InvSlot
-{
- private RedstoneSignalConverterTileEntity rscBase;
- public final boolean[] slotStatus;//false=normal;true=activated
- public InvSlotSignalProcessor(RedstoneSignalConverterTileEntity base1, String name1, int oldStartIndex1, Access access1, int count, int linksPerSlot) {
- super(base1, name1, oldStartIndex1, access1, count);
- rscBase = base1;
- slotStatus = new boolean[count];
- }
-
- public Contact getOppositeContact(IDataNode contact3)
- {
- for(Contact contact1 : this.rscBase.contacts)
- {
- if(contact1.attachedSlot==this &&
- contact3.getAttachedSlotNumber()==contact1.attachedSlotNumber)
- {
- switch(contact3.getType())
- {
- case 0:
- if(contact1.type==1)
- {
- return contact1;
- }
- break;
- case 1:
- if(contact1.type==0)
- {
- return contact1;
- }
- break;
- case 2:
- if(slotStatus[contact1.attachedSlotNumber])
- {
- if(contact1.type==3)
- {
- return contact1;
- }
- }
- else
- {
- if(contact1.type==4)
- {
- return contact1;
- }
- }
- break;
- case 3:
- if(slotStatus[contact1.attachedSlotNumber])
- {
- if(contact1.type==2)
- {
- return contact1;
- }
- }
- break;
- case 4:
- if(!slotStatus[contact1.attachedSlotNumber])
- {
- if(contact1.type==2)
- {
- return contact1;
- }
- }
- break;
- }
- }
- }
- return null;
- }
-
- public boolean isSlotActivated(int slot)
- {
- return this.slotStatus[slot];
- }
-
- public void notifyNeighbors()
- {
- int xyz[] = {0,0,1,0,0,-1,0,0};
- Block block;
- int x,y,z;
- for(int i=0;i<=5;i++)
- {
- x=rscBase.xCoord+xyz[i];
- y=rscBase.yCoord+xyz[i+1];
- z=rscBase.zCoord+xyz[i+2];
- block = rscBase.getWorldObj().getBlock(rscBase.xCoord,rscBase.yCoord,rscBase.zCoord);
- rscBase.getWorldObj().notifyBlockOfNeighborChange(x,y,z,block);
- }
- }
-
- public boolean isIndirectlyConnectedWithContact(Contact contact, int id)
- {
- if(this.get(contact.attachedSlotNumber)!=null)
- {
- if(IHLUtils.isItemStacksIsEqual(this.get(contact.attachedSlotNumber), Ic2Items.splitterCableItem, true))//Redstone sensor
- {
- ForgeDirection dir1 = ForgeDirection.getOrientation(contact.attachedSlotNumber);
- if(this.base.getWorldObj().getIndirectPowerOutput(base.xCoord+dir1.offsetX, base.yCoord+dir1.offsetY, base.zCoord+dir1.offsetZ, dir1.getOpposite().flag))
- {
- Contact oppositeContact = this.getOppositeContact(contact);
- if(oppositeContact.getDataGridID()!=contact.getDataGridID())
- {
- return oppositeContact.isConnectedToContact(id);
- }
- }
- }
- }
- return false;
- }
-
-} \ No newline at end of file