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/collector/ChargerEjectorTileEntity.java | 522 ---------------------------- 1 file changed, 522 deletions(-) delete mode 100644 ihl/collector/ChargerEjectorTileEntity.java (limited to 'ihl/collector/ChargerEjectorTileEntity.java') diff --git a/ihl/collector/ChargerEjectorTileEntity.java b/ihl/collector/ChargerEjectorTileEntity.java deleted file mode 100644 index cda75f4..0000000 --- a/ihl/collector/ChargerEjectorTileEntity.java +++ /dev/null @@ -1,522 +0,0 @@ -package ihl.collector; - -import java.util.Iterator; -import java.util.List; - -import net.minecraft.client.gui.GuiScreen; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.util.ForgeDirection; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import ic2.api.energy.event.EnergyTileLoadEvent; -import ic2.api.energy.event.EnergyTileUnloadEvent; -import ic2.api.energy.tile.IEnergySink; -import ic2.api.item.ElectricItem; -import ic2.api.network.INetworkClientTileEntityEventListener; -import ic2.core.ContainerBase; -import ic2.core.IC2; -import ic2.core.IHasGui; -import ic2.core.block.TileEntityInventory; -import ic2.core.block.invslot.InvSlot; -import ic2.core.block.invslot.InvSlot.Access; -import ihl.IHLMod; -import ihl.utils.IHLInvSlotDischarge; - -public class ChargerEjectorTileEntity extends TileEntityInventory implements IEnergySink, IHasGui, INetworkClientTileEntityEventListener { - - private int tier; - public int maxStorage=10000000; - private double energy=0D; - public final IHLInvSlotDischarge dischargeSlot; - public final InvSlotMultiCharge chargeSlot; - public boolean addedToEnergyNet = false; - public int[] chargeSlotStatus = new int[9]; - public int[] prevChargeSlotStatus = new int[9]; - public ItemStack chargeItemStack0; - public ItemStack chargeItemStack1; - public ItemStack chargeItemStack2; - public ItemStack chargeItemStack3; - public ItemStack chargeItemStack4; - public ItemStack chargeItemStack5; - public ItemStack chargeItemStack6; - public ItemStack chargeItemStack7; - public ItemStack chargeItemStack8; - private int slotNumNet=0; - public boolean isGuiScreenOpened=false; - public boolean autoEject=true; - public boolean firstTickUpdate=true; - - public ChargerEjectorTileEntity() - { - super(); - this.tier=4; - this.dischargeSlot = new IHLInvSlotDischarge(this, 0, Access.IO, this.tier, InvSlot.InvSide.BOTTOM); - this.chargeSlot = new InvSlotMultiCharge(this, 1, this.tier,9); - } - - @Override - public ItemStack getWrenchDrop(EntityPlayer entityPlayer) - { - if(this.dischargeSlot.get()!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, this.dischargeSlot.get())); - for(int i=0;i getNetworkedFields() - { - List fields = super.getNetworkedFields(); - for(int i=0;i0) - { - this.chargeSlotStatus[i]=1; - } - else - { - this.chargeSlotStatus[i]=2; - } - } - } - - } - - @Override - public void updateEntityServer() - { - if(this.firstTickUpdate && this.isGuiScreenOpened) - { - IC2.network.get().updateTileEntityField(this, "autoEject"); - this.firstTickUpdate=false; - } - if(this.energy < 1.0D && this.getActive()) - { - this.setActive(false); - } - else if(this.energy >= 1.0D && !this.getActive()) - { - this.setActive(true); - } - updateChargerSlotStatus(); - { - List eItemsList = this.getEItemsList(); - if(eItemsList!=null && eItemsList.size()>0) - { - Iterator ei = eItemsList.iterator(); - while(ei.hasNext()) - { - EntityItem entity=(EntityItem) ei.next(); - if(!entity.isDead && entity.getEntityItem()!=null && entity.getEntityItem().stackSize>0) - { - if(this.chargeSlot.addItemStackToFirstEmptyStack(entity.getEntityItem())) - { - entity.setDead(); - } - } - else - { - entity.setDead(); - } - } - } - EntityPlayer player = this.worldObj.getClosestPlayer(this.xCoord+0.5D, this.yCoord+0.5D, this.zCoord+0.5D, 1.1D); - if(player!=null && player instanceof EntityPlayerMP) - { - for(int i=0;i=0 && player.inventory.addItemStackToInventory(this.chargeSlot.get(i))) - { - this.chargeSlot.put(i, null); - } - } - } - } - - if(this.slotNumNet= 1.0D) - { - for(int i=0;i 1.0D) - { - amount = this.dischargeSlot.discharge(this.getDemandedEnergy(), false); - this.energy += amount; - } - } - - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) - { - super.readFromNBT(nbttagcompound); - try - { - this.energy = nbttagcompound.getDouble("energy"); - } - catch (Exception var3) - { - this.energy = nbttagcompound.getInteger("energy"); - - if (this.maxStorage > Integer.MAX_VALUE) - { - this.energy *= 10.0D; - } - } - this.autoEject=nbttagcompound.getBoolean("autoeject"); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) - { - super.writeToNBT(nbttagcompound); - nbttagcompound.setDouble("energy", this.energy); - nbttagcompound.setBoolean("autoeject", this.autoEject); - } - - @Override - public boolean acceptsEnergyFrom(TileEntity emitter, - ForgeDirection direction) { - return direction==ForgeDirection.DOWN; - } - - @Override - @SideOnly(Side.CLIENT) - public GuiScreen getGui(EntityPlayer arg0, boolean arg1) - { - return new ChargerEjectorGui(new ChargerEjectorContainer(arg0, this)); - } - - @Override - public ContainerBase getGuiContainer(EntityPlayer arg0) { - return new ChargerEjectorContainer(arg0, this); - } - - @Override - public void onGuiClosed(EntityPlayer arg0) - { - this.isGuiScreenOpened=false; - } - - @Override - public String getInventoryName() { - return "charger_ejector"; - } - - public int getStored() { - return Math.round((float)this.energy); - } - - public void setStored(double value) { - this.energy=value; - } - - public boolean getGui(EntityPlayer player) - { - this.isGuiScreenOpened = this instanceof IHasGui ? (IC2.platform.isSimulating() ? IC2.platform.launchGui(player, this) : true) : false; - return this.isGuiScreenOpened; - } - - private ItemStack getChargeISByNum(int num) - { - switch(num) - { - case 0: - return this.chargeItemStack0; - case 1: - return this.chargeItemStack1; - case 2: - return this.chargeItemStack2; - case 3: - return this.chargeItemStack3; - case 4: - return this.chargeItemStack4; - case 5: - return this.chargeItemStack5; - case 6: - return this.chargeItemStack6; - case 7: - return this.chargeItemStack7; - case 8: - return this.chargeItemStack8; - default: - return this.chargeItemStack0; - } - } - - private void setChargeISByNum(int num, ItemStack stack) - { - switch(num) - { - case 0: - this.chargeItemStack0=stack; - break; - case 1: - this.chargeItemStack1=stack; - break; - case 2: - this.chargeItemStack2=stack; - break; - case 3: - this.chargeItemStack3=stack; - break; - case 4: - this.chargeItemStack4=stack; - break; - case 5: - this.chargeItemStack5=stack; - break; - case 6: - this.chargeItemStack6=stack; - break; - case 7: - this.chargeItemStack7=stack; - break; - case 8: - this.chargeItemStack8=stack; - break; - default: - this.chargeItemStack0=stack; - } - } - - @SuppressWarnings("unchecked") - protected List getEItemsList() - { - double range = 0.2D; - AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.xCoord-range,this.yCoord,this.zCoord-range,this.xCoord+1.0D+range,this.yCoord+1.0D+range,this.zCoord+1.0D+range); - List eItemsList = this.worldObj.getEntitiesWithinAABB(EntityItem.class, searchArea); - return eItemsList; - } - //1.7.10 API - @Override - public double getDemandedEnergy() - { - return this.maxStorage - this.energy; - } - - @Override - public int getSinkTier() - { - return this.tier; - } - - @Override - public double injectEnergy(ForgeDirection directionFrom, double amount, double voltage) - { - if (this.energy >= this.maxStorage) - { - return amount; - } - else - { - this.energy += amount; - return 0.0D; - } - } - - @Override - public void onNetworkEvent(EntityPlayer player, int event) - { - switch(event) - { - case 0: - if(!this.autoEject) - { - this.autoEject=true; - IC2.network.get().updateTileEntityField(this, "autoEject"); - } - break; - case 1: - if(this.autoEject) - { - this.autoEject=false; - IC2.network.get().updateTileEntityField(this, "autoEject"); - } - break; - case 2: - callCollectors(); - break; - case 3: - eraseMemory(); - break; - default: - break; - } - } - - @SuppressWarnings("unchecked") - private void callCollectors() - { - double range = 64D; - AxisAlignedBB searchArea = AxisAlignedBB.getBoundingBox(this.xCoord-range,this.yCoord,this.zCoord-range,this.xCoord+1.0D+range,this.yCoord+1.0D+range,this.zCoord+1.0D+range); - List eList = this.worldObj.getEntitiesWithinAABB(CollectorEntity.class, searchArea); - if(!eList.isEmpty()) - { - Iterator eListIterator=eList.iterator(); - while(eListIterator.hasNext()) - { - CollectorEntity fbbe = eListIterator.next(); - fbbe.currentTask=CollectorEntity.Tasks.RECHARGE; - fbbe.charger=this; - } - } - } - - private void eraseMemory() - { - for(int i=0;i