From 651a8506cf8ad621d24cbea40607fb90fbd34c32 Mon Sep 17 00:00:00 2001 From: Bob Date: Thu, 10 Sep 2020 19:31:35 +0200 Subject: [PATCH] some ammo related items --- .../hbm/textures/items/pellets_canister.png | Bin 0 -> 355 bytes .../hbm/textures/items/pellets_charged.png | Bin 0 -> 129 bytes .../textures/items/pellets_chlorophyte.png | Bin 0 -> 205 bytes .../hbm/textures/items/pellets_mercury.png | Bin 0 -> 176 bytes .../hbm/textures/items/pellets_meteorite.png | Bin 0 -> 188 bytes src/main/java/com/hbm/items/ModItems.java | 15 ++++++++ .../TileEntityMachineLargeTurbine.java | 34 ++++++++---------- 7 files changed, 29 insertions(+), 20 deletions(-) create mode 100644 src/main/java/assets/hbm/textures/items/pellets_canister.png create mode 100644 src/main/java/assets/hbm/textures/items/pellets_charged.png create mode 100644 src/main/java/assets/hbm/textures/items/pellets_chlorophyte.png create mode 100644 src/main/java/assets/hbm/textures/items/pellets_mercury.png create mode 100644 src/main/java/assets/hbm/textures/items/pellets_meteorite.png diff --git a/src/main/java/assets/hbm/textures/items/pellets_canister.png b/src/main/java/assets/hbm/textures/items/pellets_canister.png new file mode 100644 index 0000000000000000000000000000000000000000..a443f38c393d5604376ceb59624024c449668a62 GIT binary patch literal 355 zcmV-p0i6DcP)RkbziSPG&y!TAggtb-yR8=KqSpqOk6XQ6l)e2f` zX_|)P@fdf0wK|TY+U<5^Sr&&Qz!)QK+s4$(vSe8n9*+kpf!A-14pONLJu9FBz zrGC5JR#sC2->U06d6H9a&N&%|VYBDQdMEII^##Lqw1P2Kr2PN@002ovPDHLkV1g|a BkPH9- literal 0 HcmV?d00001 diff --git a/src/main/java/assets/hbm/textures/items/pellets_charged.png b/src/main/java/assets/hbm/textures/items/pellets_charged.png new file mode 100644 index 0000000000000000000000000000000000000000..873bb810ddd33af07f9b3ac01baa288437227f6f GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfUIEGmC zCMPT~{ShDkfBvhsYxDo~-wyb7+k@}GE3cI37s<-844!7fi)UmdI)8OgyVcg%&0E93 YQ0}9BUM$+r5@-g4r>mdKI;Vst0Mero9{|a$yJqf`MSe^C($Xq=j<}?>3W89ZdJ5y@SWU$ z?XUk_xexMp)dFqxcnl>H6pt;tK7F6zqwVuJW^1tRIMkk?bHL3tU$XKRKzf|EOBvTF}~nYl&f)S4Hb8lAVzq)bcZZ(lBXajk${saw_*%@|(I W)T{&h-YNmDWbkzLb6Mw<&;$U7L_4kk literal 0 HcmV?d00001 diff --git a/src/main/java/assets/hbm/textures/items/pellets_meteorite.png b/src/main/java/assets/hbm/textures/items/pellets_meteorite.png new file mode 100644 index 0000000000000000000000000000000000000000..99931efa584f75adb5148186342f4d0f304675d8 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfxYEEH}-#&M3u$+}C jtmky&71Q%oHcir*E1b>GiAPNVTF>C=>gTe~DWM4fVzom* literal 0 HcmV?d00001 diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 844d49622..8fadba783 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -871,6 +871,11 @@ public class ModItems { public static Item magnetron; public static Item pellet_buckshot; public static Item pellet_flechette; + public static Item pellet_chlorophyte; + public static Item pellet_mercury; + public static Item pellet_meteorite; + public static Item pellet_canister; + public static Item pellet_charged; public static Item designator; public static Item designator_range; @@ -2729,6 +2734,11 @@ public class ModItems { magnetron = new ItemCustomLore().setUnlocalizedName("magnetron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":magnetron_alt"); pellet_buckshot = new Item().setUnlocalizedName("pellet_buckshot").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_lead"); pellet_flechette = new Item().setUnlocalizedName("pellet_flechette").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_flechette"); + pellet_chlorophyte = new Item().setUnlocalizedName("pellet_chlorophyte").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_chlorophyte"); + pellet_mercury = new Item().setUnlocalizedName("pellet_mercury").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_mercury"); + pellet_meteorite = new Item().setUnlocalizedName("pellet_meteorite").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_meteorite"); + pellet_canister = new Item().setUnlocalizedName("pellet_canister").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_canister"); + pellet_charged = new Item().setUnlocalizedName("pellet_charged").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":pellets_charged"); pellet_schrabidium = new WatzFuel(25F, true, 50000, 140000, 0.975F, 200, 1.05F, 1.05F).setUnlocalizedName("pellet_schrabidium").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_schrabidium").setMaxStackSize(1); pellet_hes = new WatzFuel(20F, true, 108000, 65000, 1F, 85, 1, 1.025F).setUnlocalizedName("pellet_hes").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pellet_hes").setMaxStackSize(1); @@ -4440,6 +4450,11 @@ public class ModItems { GameRegistry.registerItem(pellet_cluster, pellet_cluster.getUnlocalizedName()); GameRegistry.registerItem(pellet_buckshot, pellet_buckshot.getUnlocalizedName()); GameRegistry.registerItem(pellet_flechette, pellet_flechette.getUnlocalizedName()); + GameRegistry.registerItem(pellet_chlorophyte, pellet_chlorophyte.getUnlocalizedName()); + GameRegistry.registerItem(pellet_mercury, pellet_mercury.getUnlocalizedName()); + GameRegistry.registerItem(pellet_meteorite, pellet_meteorite.getUnlocalizedName()); + GameRegistry.registerItem(pellet_canister, pellet_canister.getUnlocalizedName()); + GameRegistry.registerItem(pellet_charged, pellet_charged.getUnlocalizedName()); GameRegistry.registerItem(pellet_gas, pellet_gas.getUnlocalizedName()); GameRegistry.registerItem(magnetron, magnetron.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java index 90350c0ce..5524521ec 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java @@ -10,6 +10,7 @@ import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.IFluidSource; import com.hbm.interfaces.ISource; +import com.hbm.interfaces.Untested; import com.hbm.inventory.FluidTank; import com.hbm.inventory.MachineRecipes; import com.hbm.lib.Library; @@ -17,8 +18,6 @@ import com.hbm.tileentity.TileEntityMachineBase; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; @@ -50,6 +49,7 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme return "container.machineLargeTurbine"; } + @Untested @Override public void updateEntity() { @@ -77,25 +77,19 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme } else { tanks[1].setTankType((FluidType) outs[0]); - int processMax = (int) Math.ceil(tanks[0].getFill() / 10F); + int processMax = (int) Math.ceil(tanks[0].getFill() / 10F) / (Integer)outs[2]; //the maximum amount of cycles based on the 10% cap + int processSteam = tanks[0].getFill() / (Integer)outs[2]; //the maximum amount of cycles depending on steam + int processWater = (tanks[1].getMaxFill() - tanks[1].getFill()) / (Integer)outs[1]; //the maximum amount of cycles depending on water - //TODO: handle this dynamically instead of a 16k iteration for loop - for(int i = 0; i < processMax; i++) { - if(tanks[0].getFill() >= (Integer)outs[2] && tanks[1].getFill() + (Integer)outs[1] <= tanks[1].getMaxFill()) { - - operational = true; - - tanks[0].setFill(tanks[0].getFill() - (Integer)outs[2]); - tanks[1].setFill(tanks[1].getFill() + (Integer)outs[1]); - - power += (Integer)outs[3]; - - if(power > maxPower) - power = maxPower; - } else { - break; - } - } + int cycles = Math.min(processMax, Math.min(processSteam, processWater)); + + tanks[0].setFill(tanks[0].getFill() - (Integer)outs[2] * cycles); + tanks[1].setFill(tanks[1].getFill() + (Integer)outs[1] * cycles); + + power += (Integer)outs[3] * cycles; + + if(power > maxPower) + power = maxPower; } tanks[1].unloadTank(5, 6, slots);