diff --git a/changelog b/changelog index a4915ee4b..e40090aec 100644 --- a/changelog +++ b/changelog @@ -7,6 +7,11 @@ * The ZIRNOX now outputs its heat and pressure * The CCGT can output the turbine setting in percent, the turbine's RPM and the produced energy * The fusion reactor plasma vessel can output its output plasma energy and fuel consumption in percent +* Cast plate foundry molds now have a triple variant +* Zombies now have a chance to drop copper, aluminium and titanium ingots (1:200 each) +* The burner press now has nine additional storage slots for things like stamps and reserve fuel ## Fixed -* Fixed euphemium compound plate recipe not yielding four items as it should in the plasma forge \ No newline at end of file +* Fixed euphemium compound plate recipe not yielding four items as it should in the plasma forge +* Fixed NTM rare item drops ignoring the mob loot gamerule +* Fixed flamethrowers not properly igniting entities on direct hit, only via lingering fire \ No newline at end of file diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachinePress.java b/src/main/java/com/hbm/inventory/container/ContainerMachinePress.java index e21c0e963..8fda99d52 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachinePress.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachinePress.java @@ -26,15 +26,19 @@ public class ContainerMachinePress extends Container { this.addSlotToContainer(new Slot(tedf, 2, 80, 53)); // Output this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 3, 140, 35)); + // Extra Storage + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(tedf, 4 + i, 8 + i * 18, 84)); + } for(int i = 0; i < 3; i++) { for(int j = 0; j < 9; j++) { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 120 + i * 18)); } } for(int i = 0; i < 9; i++) { - this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 178)); } } @@ -47,23 +51,29 @@ public class ContainerMachinePress extends Container { ItemStack var5 = var4.getStack(); var3 = var5.copy(); - if(par2 <= 3) { - if(!this.mergeItemStack(var5, 4, this.inventorySlots.size(), true)) { + if(par2 <= 12) { + if(!this.mergeItemStack(var5, 13, this.inventorySlots.size(), true)) { return null; } } else { if(TileEntityFurnace.isItemFuel(var3)) { if(!this.mergeItemStack(var5, 0, 1, false)) { - return null; + if(!this.mergeItemStack(var5, 4, 13, false)) { + return null; + } } } else if(var3.getItem() instanceof ItemStamp) { if(!this.mergeItemStack(var5, 1, 2, false)) { - return null; + if(!this.mergeItemStack(var5, 4, 13, false)) { + return null; + } } } else { if(!this.mergeItemStack(var5, 2, 3, false)) { - return null; + if(!this.mergeItemStack(var5, 4, 13, false)) { + return null; + } } } } diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachinePress.java b/src/main/java/com/hbm/inventory/gui/GUIMachinePress.java index 63e98642b..bf5f5e39f 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachinePress.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachinePress.java @@ -22,7 +22,7 @@ public class GUIMachinePress extends GuiInfoContainer { press = tedf; this.xSize = 176; - this.ySize = 166; + this.ySize = 202; } @Override @@ -48,11 +48,11 @@ public class GUIMachinePress extends GuiInfoContainer { drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); if(press.burnTime >= 20) { - this.drawTexturedModalRect(guiLeft + 27, guiTop + 36, 176, 0, 14, 14); + this.drawTexturedModalRect(guiLeft + 27, guiTop + 36, 0, 202, 14, 14); } int k = (int) (press.renderPress * 16 / press.maxPress); - this.drawTexturedModalRect(guiLeft + 79, guiTop + 35, 194, 0, 18, k); + this.drawTexturedModalRect(guiLeft + 79, guiTop + 35, 14, 202, 18, k); double i = (double) press.speed / (double) press.maxSpeed; GaugeUtil.drawSmoothGauge(guiLeft + 34, guiTop + 25, this.zLevel, i, 5, 2, 1, 0x7f0000); diff --git a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java index 76586839d..e3bb7c440 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -100,6 +100,7 @@ public class AnvilRecipes extends SerializableRecipe { smithingRecipes.add(new AnvilSmithingMold(2, new OreDictStack(IRON.ingot()), new OreDictStack("ingot"))); smithingRecipes.add(new AnvilSmithingMold(3, new OreDictStack(IRON.plate()), new OreDictStack("plate"))); smithingRecipes.add(new AnvilSmithingMold(19, new OreDictStack(IRON.plateCast()), new OreDictStack("plateTriple"))); + smithingRecipes.add(new AnvilSmithingMold(13, new OreDictStack(IRON.plateCast(), 3), new OreDictStack("plateTriple", 3))); smithingRecipes.add(new AnvilSmithingMold(4, new OreDictStack(CU.wireFine()), new OreDictStack("wireFine"))); smithingRecipes.add(new AnvilSmithingMold(5, new ComparableStack(ModItems.blade_titanium), new ItemStack[] { new ItemStack(ModItems.blade_titanium), diff --git a/src/main/java/com/hbm/items/machine/ItemMold.java b/src/main/java/com/hbm/items/machine/ItemMold.java index b9b9cc43c..a98d5d54d 100644 --- a/src/main/java/com/hbm/items/machine/ItemMold.java +++ b/src/main/java/com/hbm/items/machine/ItemMold.java @@ -73,9 +73,9 @@ public class ItemMold extends Item { registerMold(new MoldShape( 10, L, "ingots", MaterialShapes.INGOT, 9)); registerMold(new MoldShape( 11, L, "plates", MaterialShapes.PLATE, 9)); + registerMold(new MoldShape( 13, L, "plates_cast", MaterialShapes.CASTPLATE, 3)); registerMold(new MoldShape( 21, L, "wires_dense", MaterialShapes.DENSEWIRE, 9)); registerMold(new MoldBlock( 12, L, "block", MaterialShapes.BLOCK)); - //registerMold(new MoldSingle( 13, L, "pipes", new ItemStack(ModItems.pipes_steel), Mats.MAT_STEEL, MaterialShapes.BLOCK.q(3))); registerMold(new MoldMulti( 16, S, "c9", MaterialShapes.PLATE.q(1, 4), Mats.MAT_GUNMETAL, DictFrame.fromOne(ModItems.casing, EnumCasingType.SMALL), diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryFlamer.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryFlamer.java index 556b270fb..b3e7e17dc 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryFlamer.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryFlamer.java @@ -113,13 +113,13 @@ public class XFactoryFlamer { public static void init() { flame_diesel = new BulletConfig().setItem(EnumAmmo.FLAME_DIESEL).setCasing(new ItemStack(ModItems.plate_steel, 2), 500).setupDamageClass(DamageClass.FIRE).setLife(100).setVel(1F).setGrav(0.02D).setReloadCount(500).setSelfDamageDelay(20).setKnockback(0F) - .setOnUpdate(LAMBDA_FIRE).setOnRicochet(LAMBDA_LINGER_DIESEL); + .setOnImpact(LAMBDA_IGNITE_FIRE).setOnUpdate(LAMBDA_FIRE).setOnRicochet(LAMBDA_LINGER_DIESEL); flame_gas = new BulletConfig().setItem(EnumAmmo.FLAME_GAS).setCasing(new ItemStack(ModItems.plate_steel, 2), 500).setupDamageClass(DamageClass.FIRE).setLife(10).setSpread(0.05F).setVel(1F).setGrav(0.0D).setReloadCount(500).setSelfDamageDelay(20).setKnockback(0F) - .setOnUpdate(LAMBDA_FIRE).setOnRicochet(LAMBDA_LINGER_GAS); + .setOnImpact(LAMBDA_IGNITE_FIRE).setOnUpdate(LAMBDA_FIRE).setOnRicochet(LAMBDA_LINGER_GAS); flame_napalm = new BulletConfig().setItem(EnumAmmo.FLAME_NAPALM).setCasing(new ItemStack(ModItems.plate_steel, 2), 500).setupDamageClass(DamageClass.FIRE).setLife(200).setVel(1F).setGrav(0.02D).setReloadCount(500).setSelfDamageDelay(20).setKnockback(0F) - .setOnUpdate(LAMBDA_FIRE).setOnRicochet(LAMBDA_LINGER_NAPALM); + .setOnImpact(LAMBDA_IGNITE_FIRE).setOnUpdate(LAMBDA_FIRE).setOnRicochet(LAMBDA_LINGER_NAPALM); flame_balefire = new BulletConfig().setItem(EnumAmmo.FLAME_BALEFIRE).setCasing(new ItemStack(ModItems.plate_steel, 2), 500).setupDamageClass(DamageClass.FIRE).setLife(200).setVel(1F).setGrav(0.02D).setReloadCount(500).setSelfDamageDelay(20).setKnockback(0F) - .setOnUpdate(LAMBDA_BALEFIRE).setOnRicochet(LAMBDA_LINGER_BALEFIRE); + .setOnImpact(LAMBDA_IGNITE_BALEFIRE).setOnUpdate(LAMBDA_BALEFIRE).setOnRicochet(LAMBDA_LINGER_BALEFIRE); flame_nograv = flame_diesel.clone().setGrav(0); flame_nograv_bf = flame_balefire.clone().setGrav(0).setLife(100); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index b1c0cfb04..524a2d08e 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -311,32 +311,40 @@ public class ModEventHandler { } } - if(!event.entityLiving.worldObj.isRemote) { + if(!event.entityLiving.worldObj.isRemote && event.entityLiving.worldObj.getGameRules().getGameRuleBooleanValue("doMobLoot")) { if(event.source instanceof EntityDamageSource && ((EntityDamageSource)event.source).getEntity() instanceof EntityPlayer && !(((EntityDamageSource)event.source).getEntity() instanceof FakePlayer)) { - if(event.entityLiving instanceof EntitySpider && event.entityLiving.getRNG().nextInt(500) == 0) { + Random rng = event.entityLiving.getRNG(); + + if(event.entityLiving instanceof EntitySpider && rng.nextInt(500) == 0) { event.entityLiving.dropItem(ModItems.spider_milk, 1); } - if(event.entityLiving instanceof EntityCaveSpider && event.entityLiving.getRNG().nextInt(100) == 0) { + if(event.entityLiving instanceof EntityCaveSpider && rng.nextInt(100) == 0) { event.entityLiving.dropItem(ModItems.serum, 1); } - if(event.entityLiving instanceof EntityAnimal && event.entityLiving.getRNG().nextInt(500) == 0) { + if(event.entityLiving instanceof EntityAnimal && rng.nextInt(500) == 0) { event.entityLiving.dropItem(ModItems.bandaid, 1); } if(event.entityLiving instanceof IMob) { - if(event.entityLiving.getRNG().nextInt(1000) == 0) event.entityLiving.dropItem(ModItems.heart_piece, 1); - if(event.entityLiving.getRNG().nextInt(250) == 0) event.entityLiving.dropItem(ModItems.key_red_cracked, 1); - if(event.entityLiving.getRNG().nextInt(250) == 0) event.entityLiving.dropItem(ModItems.launch_code_piece, 1); + if(rng.nextInt(1000) == 0) event.entityLiving.dropItem(ModItems.heart_piece, 1); + if(rng.nextInt(250) == 0) event.entityLiving.dropItem(ModItems.key_red_cracked, 1); + if(rng.nextInt(250) == 0) event.entityLiving.dropItem(ModItems.launch_code_piece, 1); } - if(event.entityLiving instanceof EntityCyberCrab && event.entityLiving.getRNG().nextInt(500) == 0) { + if(event.entityLiving instanceof EntityCyberCrab && rng.nextInt(500) == 0) { event.entityLiving.dropItem(ModItems.wd40, 1); } + + if(event.entityLiving instanceof EntityZombie) { + if(rng.nextInt(200) == 0) event.entityLiving.dropItem(ModItems.ingot_copper, 1); + if(rng.nextInt(200) == 0) event.entityLiving.dropItem(ModItems.ingot_aluminium, 1); + if(rng.nextInt(200) == 0) event.entityLiving.dropItem(ModItems.ingot_titanium, 1); + } } } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java index a0d1e5b8a..c7e88f9d8 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java @@ -40,7 +40,7 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU public ItemStack syncStack; public TileEntityMachinePress() { - super(4); + super(13); } @Override @@ -237,10 +237,7 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU @Override public AxisAlignedBB getRenderBoundingBox() { - - if(aabb != null) - return aabb; - + if(aabb != null) return aabb; aabb = AxisAlignedBB.getBoundingBox(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 3, zCoord + 1); return aabb; } diff --git a/src/main/resources/assets/hbm/textures/gui/gui_press.png b/src/main/resources/assets/hbm/textures/gui/gui_press.png index c1d48e764..5e98f8a54 100644 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_press.png and b/src/main/resources/assets/hbm/textures/gui/gui_press.png differ diff --git a/src/main/resources/assets/hbm/textures/items/mold_plates_cast.png b/src/main/resources/assets/hbm/textures/items/mold_plates_cast.png new file mode 100644 index 000000000..74ab06e1f Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/mold_plates_cast.png differ