From 5cb4c6e24033cf337812390d99a6817d24d21eab Mon Sep 17 00:00:00 2001 From: Foghrye4 Date: Sun, 12 Feb 2017 20:43:03 +0300 Subject: 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. --- ihl/datanet/RedstoneSignalConverterTileEntity.java | 508 --------------------- 1 file changed, 508 deletions(-) delete mode 100644 ihl/datanet/RedstoneSignalConverterTileEntity.java (limited to 'ihl/datanet/RedstoneSignalConverterTileEntity.java') diff --git a/ihl/datanet/RedstoneSignalConverterTileEntity.java b/ihl/datanet/RedstoneSignalConverterTileEntity.java deleted file mode 100644 index 6d36cb2..0000000 --- a/ihl/datanet/RedstoneSignalConverterTileEntity.java +++ /dev/null @@ -1,508 +0,0 @@ -package ihl.datanet; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.server.MinecraftServer; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; -import ic2.api.network.INetworkClientTileEntityEventListener; -import ic2.core.ContainerBase; -import ic2.core.IC2; -import ic2.core.IHasGui; -import ic2.core.Ic2Items; -import ic2.core.block.TileEntityInventory; -import ic2.core.block.invslot.InvSlot.Access; -import ihl.IHLMod; -import ihl.interfaces.IDataCableHolder; -import ihl.interfaces.IDataNode; -import ihl.processing.invslots.InvSlotSignalProcessor; -import ihl.utils.IHLInvSlotDischarge; -import ihl.utils.IHLUtils; - -public class RedstoneSignalConverterTileEntity extends TileEntityInventory implements IDataCableHolder, INetworkClientTileEntityEventListener, IHasGui{ - - public final InvSlotSignalProcessor sensorEmitterSlots; - public final List cableList; - public final IHLInvSlotDischarge dischargeSlot; - public final List links = new ArrayList();//Short has 16 bits - public int prevButtonPressed=-1; - public short energy=0; - public final static short maxEnergy=Short.MAX_VALUE; - private int tick=0; - public boolean linksOrInventoryChanged=false; - private int inventoryCheckSum=0; - public final Contact[] contacts = new Contact[68]; - private NBTTagCompound nbtread; - public boolean checkcableList=true; - public short cablesAmount=0; - - /*Contacts is: - * 0 - battery slot plus - * 1 - battery slot minus - * 2-7 sensors/emitters plus - * 8-13 sensors/emitters minus - * 14-49 cableList - */ - - public RedstoneSignalConverterTileEntity() - { - sensorEmitterSlots = new InvSlotSignalProcessor(this, "sensorEmitterSlots", 0, Access.IO, 6, 2); - cableList = new ArrayList(); - dischargeSlot = new IHLInvSlotDischarge(this, 2, Access.IO, 4); - contacts[0]=new Contact(this,0,null,-1,0); - contacts[1]=new Contact(this,1,null,-1,1); - for(int i1=2;i1<8;i1++) - { - contacts[i1]=new Contact(this,i1, sensorEmitterSlots,i1-2,0); - } - for(int i1=8;i1<14;i1++) - { - sensorEmitterSlots.setStackSizeLimit(1); - contacts[i1]=new Contact(this,i1, sensorEmitterSlots,i1-8,1); - } - for(int i1=14;i1<50;i1++) - { - contacts[i1]=new Contact(this,i1,null, -1, -1); - } - for(int i1=50;i1<56;i1++) - { - contacts[i1]=new Contact(this,i1, sensorEmitterSlots,i1-50,2); - } - for(int i1=56;i1<62;i1++) - { - contacts[i1]=new Contact(this,i1, sensorEmitterSlots,i1-56,3); - } - for(int i1=62;i1<68;i1++) - { - contacts[i1]=new Contact(this,i1, sensorEmitterSlots,i1-02,4); - } - } - - @Override - public boolean wrenchCanRemove(EntityPlayer var1) - { - return this.cableList.isEmpty(); - } - - @Override - public void setFacing(short facing) - { - this.removeAttachedChains(); - } - - @Override - public void onLoaded() - { - super.onLoaded(); - if (IC2.platform.isSimulating()) - { - IC2.network.get().updateTileEntityField(this, "sensorEmitterSlots"); - if(nbtread!=null) - { - for(Contact contact1:contacts) - { - contact1.readFromNBT(nbtread); - } - } - nbtread=null; - } - } - - @Override - public List getNetworkedFields() - { - List fields = super.getNetworkedFields(); - fields.add("sensorEmitterSlots"); - return fields; - } - - @Override - public void updateEntityClient() - { - int checkSum=0; - for(int i=0;i0) - { - Set checkedGrids = new HashSet(); - Set unCheckedGrids = new HashSet(); - InvSlotSignalProcessor slots = this.sensorEmitterSlots; - for(int i=0;i ugi = unCheckedGrids.iterator(); - while(!unCheckedGrids.isEmpty()) - { - Integer dgid2 = ugi.next(); - ugi.remove(); - { - for(IDataNode contact3:IHLMod.datanet.getGrid(dgid2).telist) - { - contact3.checkAttachedSlots(); - if(contact3.getAttachedSlot()!=null) - { - Contact c4 = contact3.getAttachedSlot().getOppositeContact(contact3); - if(!checkedGrids.contains(c4.getDataGridID())) - { - unCheckedGrids.add(c4.getDataGridID()); - } - } - } - checkedGrids.add(dgid2); - } - } - this.linksOrInventoryChanged=false; - } - if(this.energy < 1) - { - this.energy += (short)(this.dischargeSlot.discharge(getDemandedEnergy(), false)*256D); - } - if(tick++ % 256==0) - { - this.energy--; - } - } - - @Override - public String getInventoryName() - { - return "redstoneSignalConverter"; - } - @Override - public boolean addDataCable(NBTTagCompound cable) - { - if(this.cableList.size()<4) - { - this.cableList.add(cable); - return true; - } - return false; - } - - - @Override - public double[] getPortPos(EntityLivingBase player) - { - ForgeDirection direction = ForgeDirection.getOrientation(IHLUtils.getFacingFromPlayerView(player, true)).getOpposite(); - return new double[] {this.xCoord+0.5d+0.5d*direction.offsetX,this.yCoord+direction.offsetY*1.0d,this.zCoord+0.5d+0.5d*direction.offsetZ}; - } - - @Override - public void onNetworkEvent(EntityPlayer player, int event) - { - if(prevButtonPressed==-1 && event < 255) - { - prevButtonPressed = event; - } - else if(prevButtonPressed!=event && event < 255) - { - int minor = Math.min(prevButtonPressed,event); - int major = Math.max(prevButtonPressed,event); - int link = ((minor<<8) | major); - this.links.add(link); - contacts[prevButtonPressed].establishLink(contacts[event]); - prevButtonPressed=-1; - } - else if(event==256 && !this.links.isEmpty()) - { - int link = this.links.remove(this.links.size()-1); - Contact contact1 = this.contacts[link >> 8]; - Contact contact2 = this.contacts[link & 255]; - contact1.removeLinkTo(contact2); - } - else if(event==257 && !this.links.isEmpty()) - { - this.links.clear(); - for(Contact contact1:contacts) - { - contact1.removeConnections(contacts); - } - } - } - - @Override - public void writeToNBT(NBTTagCompound nbt) - { - super.writeToNBT(nbt); - for(Contact contact1:contacts) - { - contact1.writeToNBT(nbt); - } - if (!links.isEmpty()) - { - NBTTagList linkList1 = new NBTTagList(); - Iterator fli = links.iterator(); - while(fli.hasNext()) - { - Integer link = fli.next(); - if(link!=null) - { - NBTTagCompound linkNBT1 = new NBTTagCompound(); - linkNBT1.setInteger("link", link); - linkList1.appendTag(linkNBT1); - } - } - nbt.setTag("links", linkList1); - } - else - { - nbt.setString("Empty", ""); - } - NBTTagList cableNBTList = new NBTTagList(); - for(NBTTagCompound cable:this.cableList) - { - cableNBTList.appendTag(cable); - } - nbt.setTag("cableList", cableNBTList); - nbt.setBoolean("checkcableList", this.checkcableList); - } - - @Override - public void readFromNBT(NBTTagCompound nbt) - { - super.readFromNBT(nbt); - NBTTagList cableNBTList=nbt.getTagList("cableList", 10); - for(int i=0;i getGuiContainer(EntityPlayer player) - { - return new RedstoneSignalConverterContainer(player, this); - } - - public int getGUIEnergy(int i) - { - if(this.energy cli = cableList.iterator(); - while(cli.hasNext()) - { - NBTTagCompound cl=cli.next(); - IHLMod.datanet.removeCableEntities(cl); - ItemStack is = IHLUtils.getThisModItemStack("dataCable"); - is.stackTagCompound=cl; - double[] pps = this.getPortPos(null); - EntityItem eitem = new EntityItem(worldObj, pps[0], pps[1], pps[2], is); - worldObj.spawnEntityInWorld(eitem); - { - int chainUID = cl.getInteger("chainUID"); - int x1 = cl.getInteger("connectorX1"); - int y1 = cl.getInteger("connectorY1"); - int z1 = cl.getInteger("connectorZ1"); - int connectorDimensionId1 = cl.getInteger("connectorDimensionId1"); - int x = cl.getInteger("connectorX"); - int y = cl.getInteger("connectorY"); - int z = cl.getInteger("connectorZ"); - int connectorDimensionId = cl.getInteger("connectorDimensionId"); - if(x1!=xCoord || y1!=yCoord || z1!=zCoord) - { - x=x1; - y=y1; - z=z1; - connectorDimensionId=connectorDimensionId1; - } - TileEntity te = MinecraftServer.getServer().worldServerForDimension(connectorDimensionId).getTileEntity(x, y, z); - if(te instanceof IDataCableHolder) - { - IDataCableHolder dch = ((IDataCableHolder)te); - Contact[] c = this.getContacts(chainUID); - Contact[] c1 = dch.getContacts(chainUID); - for(int i2=0;i2 cli = cableList.iterator(); - while(cli.hasNext()) - { - NBTTagCompound cl=cli.next(); - int chainUID1 = cl.getInteger("chainUID"); - if(chainUID1==chainUID) - { - cli.remove(); - return; - } - } - } - - @Override - public Contact getContact(int innerId1) - { - return this.contacts[innerId1]; - } - - - @Override - public boolean isCableRemoved(int chainUniqueID) { - if(!checkcableList) - { - return false; - } - for(NBTTagCompound cl:cableList) - { - if(cl.getInteger("chainUID")==chainUniqueID) - { - return false; - } - } - return true; - } - - @Override - public void setCableCheck(boolean b) - { - this.checkcableList=b; - } -} -- cgit v1.2.3