diff --git a/changelog b/changelog index e03539fb7..ec78b2193 100644 --- a/changelog +++ b/changelog @@ -1,6 +1,14 @@ +## Added +* Nitra + * Dropped by the painsaw ability when killing a mob + * Can be used to quickly craft standard ammo types in the 2x2 crafting grid + * Can also refill empty syringes, making stimpaks + ## Changed * Light oil and cracked light oil can now be refomred into large quantities of aromatic hydrocarbons a well as some reformate gas +* The painsaw ability no longer drops ammo and syringes, instead it drops nitra ## Fixed * Fixed thorium bedrock ore using the wrong ore dict key, making it unable to be processed via centrifuge or acidizer -* Fixed custom machine NEI slots going out of bounds after the third slot \ No newline at end of file +* Fixed custom machine NEI slots going out of bounds after the third slot +* Fixed bismuth billets not being oredicted, making BFB PWR rods uncraftable \ No newline at end of file diff --git a/src/main/java/com/hbm/crafting/ConsumableRecipes.java b/src/main/java/com/hbm/crafting/ConsumableRecipes.java index 971b29fa1..57c95d9b7 100644 --- a/src/main/java/com/hbm/crafting/ConsumableRecipes.java +++ b/src/main/java/com/hbm/crafting/ConsumableRecipes.java @@ -105,6 +105,7 @@ public class ConsumableRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.syringe_awesome, 1), new Object[] { "SNS", "PCP", "SNS", 'C', ModItems.syringe_empty, 'S', S.dust(), 'P', PU239.nugget(), 'N', PU238.nugget() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.syringe_metal_empty, 6), new Object[] { "P", "C", "B", 'B', Blocks.iron_bars, 'C', ModItems.rod_empty, 'P', IRON.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.syringe_metal_stimpak, 1), new Object[] { " N ", "NSN", " N ", 'N', Items.nether_wart, 'S', ModItems.syringe_metal_empty }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.syringe_metal_stimpak, 1), new Object[] { ModItems.nitra_small, ModItems.nitra_small, ModItems.nitra_small, ModItems.syringe_metal_empty }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.syringe_metal_medx, 1), new Object[] { " N ", "NSN", " N ", 'N', Items.quartz, 'S', ModItems.syringe_metal_empty }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.syringe_metal_psycho, 1), new Object[] { " N ", "NSN", " N ", 'N', Items.glowstone_dust, 'S', ModItems.syringe_metal_empty }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.syringe_metal_super, 1), new Object[] { " N ", "PSP", "L L", 'N', ModItems.bottle_nuka, 'P', STEEL.plate(), 'S', ModItems.syringe_metal_stimpak, 'L', Items.leather }); diff --git a/src/main/java/com/hbm/crafting/MineralRecipes.java b/src/main/java/com/hbm/crafting/MineralRecipes.java index 45e58b454..49b00e0d4 100644 --- a/src/main/java/com/hbm/crafting/MineralRecipes.java +++ b/src/main/java/com/hbm/crafting/MineralRecipes.java @@ -418,6 +418,8 @@ public class MineralRecipes { GameRegistry.addRecipe(new ItemStack(ModItems.ingot_mercury, 8), new Object[] { "#", '#', ModItems.bottle_mercury }); GameRegistry.addRecipe(new ItemStack(ModItems.egg_balefire, 1), new Object[] { "###", "###", "###", '#', ModItems.egg_balefire_shard }); GameRegistry.addRecipe(new ItemStack(ModItems.egg_balefire_shard, 9), new Object[] { "#", '#', ModItems.egg_balefire }); + GameRegistry.addRecipe(new ItemStack(ModItems.nitra, 1), new Object[] { "##", "##", '#', ModItems.nitra_small }); + GameRegistry.addRecipe(new ItemStack(ModItems.nitra_small, 9), new Object[] { "#", '#', ModItems.nitra }); add1To9Pair(ModItems.powder_paleogenite, ModItems.powder_paleogenite_tiny); add1To9Pair(ModItems.ingot_osmiridium, ModItems.nugget_osmiridium); diff --git a/src/main/java/com/hbm/crafting/WeaponRecipes.java b/src/main/java/com/hbm/crafting/WeaponRecipes.java index 003f4c7e3..60c6823c0 100644 --- a/src/main/java/com/hbm/crafting/WeaponRecipes.java +++ b/src/main/java/com/hbm/crafting/WeaponRecipes.java @@ -166,6 +166,20 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_coilgun, 16, 0), new Object[] { " T ", "TST", " T ", 'T', W.ingot(), 'S', BIGMT.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_coilgun, 16, 1), new Object[] { " T ", "TST", " T ", 'T', FERRO.ingot(), 'S', BIGMT.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_coilgun, 16, 2), new Object[] { " T ", "TST", " T ", 'T', RUBBER.ingot(), 'S', ANY_PLASTIC.ingot() }); + + //TODO: somehow add more variance, 4 gauge is still missing + CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_22lr, 16), new Object[] { ModItems.nitra_small }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_9mm, 16), new Object[] { ModItems.nitra_small, ModItems.nitra_small }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_5mm, 16), new Object[] { ModItems.nitra_small, ModItems.nitra_small, ModItems.nitra_small }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_357, 16, Ammo357Magnum.LEAD.ordinal()), new Object[] { ModItems.nitra, ModItems.nitra_small }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_44, 16), new Object[] { ModItems.nitra, ModItems.nitra_small, ModItems.nitra_small }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_45, 16), new Object[] { ModItems.nitra, ModItems.nitra_small, ModItems.nitra_small, ModItems.nitra_small }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_50ae, 16), new Object[] { ModItems.nitra, ModItems.nitra }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_556, 16), new Object[] { ModItems.nitra, ModItems.nitra, ModItems.nitra_small }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_20gauge, 16), new Object[] { ModItems.nitra, ModItems.nitra, ModItems.nitra_small, ModItems.nitra_small }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_12gauge, 16), new Object[] { ModItems.nitra, ModItems.nitra, ModItems.nitra }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_762, 16), new Object[] { ModItems.nitra, ModItems.nitra, ModItems.nitra, ModItems.nitra_small }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.ammo_50bmg, 16), new Object[] { ModItems.nitra, ModItems.nitra, ModItems.nitra, ModItems.nitra }); //Ammo assemblies CraftingManager.addRecipeAuto(new ItemStack(ModItems.pellet_flechette, 1), new Object[] { " L ", " L ", "LLL", 'L', PB.nugget() }); diff --git a/src/main/java/com/hbm/handler/WeaponAbility.java b/src/main/java/com/hbm/handler/WeaponAbility.java index 919b149a2..11e2621b3 100644 --- a/src/main/java/com/hbm/handler/WeaponAbility.java +++ b/src/main/java/com/hbm/handler/WeaponAbility.java @@ -2,14 +2,12 @@ package com.hbm.handler; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockBobble.BobbleType; -import com.hbm.items.ItemAmmoEnums.*; import com.hbm.items.ModItems; import com.hbm.items.tool.IItemAbility; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; import com.hbm.potion.HbmPotion; import com.hbm.util.ContaminationUtil; -import com.hbm.util.WeightedRandomObject; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -36,7 +34,6 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.DamageSource; -import net.minecraft.util.WeightedRandom; import net.minecraft.world.World; public abstract class WeaponAbility { @@ -208,28 +205,10 @@ public abstract class WeaponAbility { if(living.getHealth() <= 0.0F) { - WeightedRandomObject[] ammo = new WeightedRandomObject[] { - new WeightedRandomObject(ModItems.ammo_12gauge.stackFromEnum(Ammo12Gauge.STOCK), 10), - new WeightedRandomObject(ModItems.ammo_12gauge.stackFromEnum(Ammo12Gauge.SHRAPNEL), 5), - new WeightedRandomObject(ModItems.ammo_20gauge.stackFromEnum(Ammo20Gauge.STOCK), 10), - new WeightedRandomObject(ModItems.ammo_20gauge.stackFromEnum(Ammo20Gauge.FLECHETTE), 5), - new WeightedRandomObject(ModItems.ammo_20gauge.stackFromEnum(Ammo20Gauge.SLUG), 5), - new WeightedRandomObject(ModItems.ammo_9mm.stackFromEnum(Ammo9mm.STOCK), 10), - new WeightedRandomObject(ModItems.ammo_5mm.stackFromEnum(Ammo5mm.STOCK), 10), - new WeightedRandomObject(ModItems.ammo_556.stackFromEnum(Ammo556mm.STOCK), 10), - new WeightedRandomObject(ModItems.ammo_556.stackFromEnum(Ammo556mm.FLECHETTE), 10), - new WeightedRandomObject(ModItems.ammo_50bmg.stackFromEnum(Ammo50BMG.STOCK), 3), - new WeightedRandomObject(ModItems.ammo_grenade.stackFromEnum(AmmoGrenade.STOCK), 3), - new WeightedRandomObject(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.STOCK), 1), - new WeightedRandomObject(ModItems.ammo_rocket.stackFromEnum(AmmoRocket.GLARE), 1), - new WeightedRandomObject(new ItemStack(ModItems.syringe_metal_stimpak), 20), - }; - int count = Math.min((int)Math.ceil(living.getMaxHealth() / divider), 250); //safeguard to prevent funnies from bosses with obscene health for(int i = 0; i < count; i++) { - - living.entityDropItem(((WeightedRandomObject)WeightedRandom.getRandomItem(living.getRNG(), ammo)).asStack(), 1); + living.entityDropItem(new ItemStack(ModItems.nitra_small), 1); world.spawnEntityInWorld(new EntityXPOrb(world, living.posX, living.posY, living.posZ, 1)); } diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 4ac445aa0..f195610ed 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -356,7 +356,7 @@ public class OreDictManager { TCALLOY .ingot(ingot_tcalloy) .dust(powder_tcalloy) .block(block_tcalloy); CDALLOY .ingot(ingot_cdalloy) .block(block_cdalloy); PB .nugget(nugget_lead) .ingot(ingot_lead) .dust(powder_lead) .plate(plate_lead) .block(block_lead) .ore(ore_lead, ore_meteor_lead); - BI .nugget(nugget_bismuth) .ingot(ingot_bismuth) .dust(powder_bismuth); + BI .nugget(nugget_bismuth) .billet(billet_bismuth) .ingot(ingot_bismuth) .dust(powder_bismuth); AS .nugget(nugget_arsenic) .ingot(ingot_arsenic); CA .ingot(ingot_calcium) .dust(powder_calcium); CD .ingot(ingot_cadmium) .dust(powder_cadmium) .block(block_cadmium); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 4609fed6d..21b01c816 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -103,6 +103,8 @@ public class ModItems { public static Item ingot_titanium; public static Item ingot_cobalt; public static Item sulfur; + public static Item nitra; + public static Item nitra_small; public static Item coke; public static Item lignite; @@ -2524,6 +2526,8 @@ public class ModItems { ingot_firebrick = new Item().setUnlocalizedName("ingot_firebrick").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_firebrick"); ingot_smore = new ItemFood(10, 20F, false).setUnlocalizedName("ingot_smore").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_smore"); sulfur = new Item().setUnlocalizedName("sulfur").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":sulfur"); + nitra = new Item().setUnlocalizedName("nitra").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nitra"); + nitra_small = new Item().setUnlocalizedName("nitra_small").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nitra_small"); ingot_uranium_fuel = new Item().setUnlocalizedName("ingot_uranium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_uranium_fuel"); ingot_plutonium_fuel = new Item().setUnlocalizedName("ingot_plutonium_fuel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_plutonium_fuel"); @@ -5721,6 +5725,8 @@ public class ModItems { GameRegistry.registerItem(briquette, briquette.getUnlocalizedName()); GameRegistry.registerItem(sulfur, sulfur.getUnlocalizedName()); GameRegistry.registerItem(niter, niter.getUnlocalizedName()); + GameRegistry.registerItem(nitra, nitra.getUnlocalizedName()); + GameRegistry.registerItem(nitra_small, nitra_small.getUnlocalizedName()); GameRegistry.registerItem(fluorite, fluorite.getUnlocalizedName()); GameRegistry.registerItem(powder_coal, powder_coal.getUnlocalizedName()); GameRegistry.registerItem(powder_coal_tiny, powder_coal_tiny.getUnlocalizedName()); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 770d3d540..56baffc69 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -2464,6 +2464,8 @@ item.n2_charge.name=Große Sprengladung item.neutrino_lens.name=Neutrinolinse item.neutron_reflector.name=Neutronenreflektor item.niter.name=Salpeter +item.nitra.name=Nitra +item.nitra_small.name=Kleines Stück Nitra item.no9.name=Bergbauhelm item.nossy_hat.name=Fabulöser Hut item.nothing.name=Leer diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 19cb1bd86..deb978aef 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -3214,6 +3214,8 @@ item.night_vision.name=Night Vision Goggles item.night_vision.description.item=Grants you night vision (requires full electric set) item.night_vision.description.in_armor=%s (grants night vision) item.niter.name=Niter +item.nitra.name=Nitra +item.nitra_small.name=Small Pile of Nitra item.no9.name=Mining Helmet item.nossy_hat.name=Fabulous Hat item.nothing.name=Nothing diff --git a/src/main/resources/assets/hbm/textures/gui/gui_inserter.png b/src/main/resources/assets/hbm/textures/gui/gui_inserter.png deleted file mode 100644 index a38ebf127..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_inserter.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/gui_turbofan.png b/src/main/resources/assets/hbm/textures/gui/gui_turbofan.png deleted file mode 100644 index 89631642e..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/gui_turbofan.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/gui/machine/gui_pattern.png b/src/main/resources/assets/hbm/textures/gui/machine/gui_pattern.png deleted file mode 100644 index 306cf24f7..000000000 Binary files a/src/main/resources/assets/hbm/textures/gui/machine/gui_pattern.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/nitra.png b/src/main/resources/assets/hbm/textures/items/nitra.png new file mode 100644 index 000000000..8dcc2e36a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/nitra.png differ diff --git a/src/main/resources/assets/hbm/textures/items/nitra_small.png b/src/main/resources/assets/hbm/textures/items/nitra_small.png new file mode 100644 index 000000000..856147709 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/nitra_small.png differ diff --git a/src/main/resources/assets/hbm/textures/items/pattern.png b/src/main/resources/assets/hbm/textures/items/pattern.png deleted file mode 100644 index 9a263db7b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/pattern.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/items/pattern_drawn.png b/src/main/resources/assets/hbm/textures/items/pattern_drawn.png deleted file mode 100644 index ca8a8505a..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/pattern_drawn.png and /dev/null differ