From dc3df3edd5843bde0c1335d6a8e460b2c832aa48 Mon Sep 17 00:00:00 2001 From: Foghrye4 Date: Sat, 17 Jun 2017 08:12:18 +0300 Subject: full project files --- .../metallurgy/InjectionMoldTileEntity.java | 201 --------------------- 1 file changed, 201 deletions(-) delete mode 100644 ihl/processing/metallurgy/InjectionMoldTileEntity.java (limited to 'ihl/processing/metallurgy/InjectionMoldTileEntity.java') diff --git a/ihl/processing/metallurgy/InjectionMoldTileEntity.java b/ihl/processing/metallurgy/InjectionMoldTileEntity.java deleted file mode 100644 index e5fee82..0000000 --- a/ihl/processing/metallurgy/InjectionMoldTileEntity.java +++ /dev/null @@ -1,201 +0,0 @@ -package ihl.processing.metallurgy; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -import ic2.core.IC2; -import ihl.metallurgy.constants.Details; -import ihl.recipes.UniversalRecipeInput; -import ihl.recipes.UniversalRecipeManager; -import ihl.recipes.UniversalRecipeOutput; -import ihl.utils.IHLUtils; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.FluidTank; -import net.minecraftforge.fluids.FluidTankInfo; -import net.minecraftforge.fluids.IFluidHandler; -import net.minecraftforge.oredict.OreDictionary; - - -public class InjectionMoldTileEntity extends TileEntity implements IFluidHandler -{ - public short timer = 100; - public String resultSuffix; - public boolean isContainStearin = false; - public short maxAmount=Short.MAX_VALUE; - public ItemStack result; - public ItemStack result2; - private final FluidTank fluidTank; - protected static final UniversalRecipeManager recipeManager = new UniversalRecipeManager("injectionmold"); - - public InjectionMoldTileEntity() - { - this.fluidTank = new FluidTank(864);//144 mB per ingot 1300 EU with 100% efficiency - } - - public static void addRecipe(FluidStack input, ItemStack input1, ItemStack output) - { - recipeManager.addRecipe(new UniversalRecipeInput((new FluidStack[] {input}),(new ItemStack[] {input1})), new UniversalRecipeOutput(null,(new ItemStack[]{output}),20)); - } - - @Override - public void readFromNBT(NBTTagCompound nbttagcompound) - { - super.readFromNBT(nbttagcompound); - this.fluidTank.readFromNBT(nbttagcompound.getCompoundTag("fluidTank")); - resultSuffix=nbttagcompound.getString("resultSuffix"); - } - - @Override - public void writeToNBT(NBTTagCompound nbttagcompound) - { - super.writeToNBT(nbttagcompound); - NBTTagCompound fluidTankTag = new NBTTagCompound(); - this.fluidTank.writeToNBT(fluidTankTag); - nbttagcompound.setTag("fluidTank", fluidTankTag); - nbttagcompound.setString("resultSuffix",resultSuffix); - } - - public boolean enableUpdateEntity() - { - return IC2.platform.isSimulating(); - } - - @Override - public void updateEntity() - { - if(this.getFluidStackfromTank()!=null && this.getFluidStackfromTank().amount>16) - { - if(this.timer--==0) - { - String formattedFluidName=this.getFormattedMaterialName(this.getFluidfromTank().getName()); - if(formattedFluidName!="") - { - int fluidAmountPerItem = Details.getMeltingFluidAmount(this.resultSuffix); - ArrayList resultList = OreDictionary.getOres(this.resultSuffix+formattedFluidName); - if(resultList.isEmpty() || fluidAmountPerItem<=0) - { - resultList=new ArrayList(); - List fi = Arrays.asList(new FluidStack[] {this.fluidTank.getFluid()}); - List ii = Arrays.asList(new ItemStack[] {IHLUtils.getThisModItemStackWithDamage("injectionMold", this.resultSuffix.hashCode() & Integer.MAX_VALUE)}); - UniversalRecipeOutput ro = recipeManager.getOutputFor(fi, ii); - if(ro!=null) - { - ItemStack stack = ro.getItemOutputs().get(0).itemStack.copy(); - stack.stackSize=Math.round(ro.getItemOutputs().get(0).quantity); - resultList.add(stack); - UniversalRecipeInput ri = recipeManager.getRecipeInput(fi, ii); - fluidAmountPerItem = ri.getFluidInputs().get(0).getAmount(); - } - } - int fluidAmountPerItem2 = Details.getMeltingFluidAmount("nugget"); - ArrayList resultList2 = OreDictionary.getOres("nugget"+formattedFluidName); - if(!resultList.isEmpty()) - { - if(fluidAmountPerItem>0) - { - int stackSize1=Math.min(this.maxAmount,this.getFluidStackfromTank().amount/fluidAmountPerItem); - if(stackSize1>0) - { - result=resultList.get(0).copy(); - result.stackSize=stackSize1; - } - } - } - if(!resultList2.isEmpty()) - { - int stackSize1=this.getFluidStackfromTank().amount/fluidAmountPerItem2; - if(result!=null) - { - stackSize1=(this.getFluidStackfromTank().amount % fluidAmountPerItem)/fluidAmountPerItem2; - } - if(stackSize1>0) - { - result2=resultList2.get(0).copy(); - result2.stackSize=stackSize1; - } - } - } - } - } - } - - @Override - public boolean canDrain(ForgeDirection arg0, Fluid arg1) { - return false; - } - - @Override - public boolean canFill(ForgeDirection direction, Fluid fluid1) { - return direction==ForgeDirection.UP && !isContainStearin; - } - - public String getInventoryName() { - return "injectionMold"; - } - - private String getFormattedMaterialName(String input) - { - String input2 = input.replace("molten.", "").replace(".molten", ""); - String firstletter = String.valueOf(input2.charAt(0)).toUpperCase(); - input2 = input2.replaceFirst(".", firstletter); - return input2; - } - - public FluidTank getFluidTank() - { - return this.fluidTank; - } - - public FluidStack getFluidStackfromTank() - { - return this.getFluidTank().getFluid(); - } - - public Fluid getFluidfromTank() - { - return this.getFluidStackfromTank().getFluid(); - } - - @Override - public int fill(ForgeDirection from, FluidStack resource, boolean doFill) - { - return this.canFill(from, resource.getFluid()) ? this.getFluidTank().fill(resource, doFill) : 0; - } - - @Override - public FluidStack drain(ForgeDirection from, FluidStack resource, boolean doDrain) - { - return null; - } - - @Override - public FluidStack drain(ForgeDirection from, int maxDrain, boolean doDrain) - { - return this.getFluidTank().drain(maxDrain, doDrain); - } - - @Override - public FluidTankInfo[] getTankInfo(ForgeDirection from) - { - return new FluidTankInfo[] {this.getFluidTank().getInfo()}; - } - - public void dropContents() - { - if(result!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, result)); - if(result2!=null)this.worldObj.spawnEntityInWorld(new EntityItem(this.worldObj, this.xCoord, this.yCoord+1, this.zCoord, result2)); - } - - public static Map getRecipes() - { - return recipeManager.getRecipes(); - } -} \ No newline at end of file -- cgit v1.2.3