diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index adad59101..a47c6a32b 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -829,8 +829,9 @@ public class ModBlocks { public static Block machine_refinery; public static final int guiID_machine_refinery = 43; - + public static Block machine_fraction_tower; + public static Block fraction_spacer; public static Block machine_boiler_off; public static Block machine_boiler_on; @@ -1915,6 +1916,7 @@ public class ModBlocks { machine_flare = new MachineGasFlare(Material.iron).setBlockName("machine_flare").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_flare"); machine_refinery = new MachineRefinery(Material.iron).setBlockName("machine_refinery").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_refinery"); machine_fraction_tower = new MachineFractionTower(Material.iron).setBlockName("machine_fraction_tower").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_fraction_tower"); + fraction_spacer = new FractionSpacer(Material.iron).setBlockName("fraction_spacer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fraction_spacer"); machine_drill = new MachineMiningDrill(Material.iron).setBlockName("machine_drill").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_drill"); drill_pipe = new BlockNoDrop(Material.iron).setBlockName("drill_pipe").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":drill_pipe"); machine_mining_laser = new MachineMiningLaser(Material.iron).setBlockName("machine_mining_laser").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_mining_laser"); @@ -2774,6 +2776,8 @@ public class ModBlocks { GameRegistry.registerBlock(machine_pumpjack, machine_pumpjack.getUnlocalizedName()); GameRegistry.registerBlock(machine_flare, machine_flare.getUnlocalizedName()); GameRegistry.registerBlock(machine_refinery, machine_refinery.getUnlocalizedName()); + GameRegistry.registerBlock(machine_fraction_tower, machine_fraction_tower.getUnlocalizedName()); + GameRegistry.registerBlock(fraction_spacer, fraction_spacer.getUnlocalizedName()); GameRegistry.registerBlock(machine_drill, machine_drill.getUnlocalizedName()); GameRegistry.registerBlock(machine_mining_laser, ItemBlockLore.class, machine_mining_laser.getUnlocalizedName()); GameRegistry.registerBlock(barricade, barricade.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/FractionSpacer.java b/src/main/java/com/hbm/blocks/machine/FractionSpacer.java new file mode 100644 index 000000000..899578f52 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/FractionSpacer.java @@ -0,0 +1,30 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.tileentity.machine.TileEntitySpacer; + +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class FractionSpacer extends BlockDummyable { + + public FractionSpacer(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntitySpacer(); + } + + @Override + public int[] getDimensions() { + return new int[] {0, 0, 1, 1, 1, 1}; + } + + @Override + public int getOffset() { + return 1; + } +} diff --git a/src/main/java/com/hbm/handler/indexing/AmmoIndex.java b/src/main/java/com/hbm/handler/indexing/AmmoIndex.java new file mode 100644 index 000000000..19b6ce67b --- /dev/null +++ b/src/main/java/com/hbm/handler/indexing/AmmoIndex.java @@ -0,0 +1,60 @@ +package com.hbm.handler.indexing; + +import java.util.HashMap; +import java.util.Set; + +import com.google.common.collect.Sets; +import com.hbm.inventory.RecipesCommon.ComparableStack; + +import net.minecraft.item.Item; + +public class AmmoIndex { + + private static final HashMap> ammo = new HashMap(); + + public static void registerAmmo(Item ammo, AmmoTrait... traits) { + registerAmmo(new ComparableStack(ammo), traits); + } + + public static void registerAmmo(ComparableStack ammo, AmmoTrait... traits) { + AmmoIndex.ammo.put(ammo, Sets.newHashSet(traits)); + } + + public static enum AmmoTrait { + //calibers + CALIBER_357, + CALIBER_44, + CALIBER_22LR, + CALIBER_9MM, + CALIBER_556MM, + CALIBER_50BMG, + CALIBER_50AE, + CALIBER_4GA, + CALIBER_12GA, + CALIBER_20GA, + CALIBER_240MM, + + //types + BULLET, + FLECHETTE, + PELLET, + SLUG, + SHELL, //tank or arty shells + GRENADE, //from grenade launchers + ROCKET, + CATAPULT, //large payloads from the M42 + DART, + + //projectile traits + EXPLOSIVE, + INCENDIARY, + POISONOUS, + NUCLEAR, + + //meta + NO_CONTAINER, //not obtainable via the ammo container + NO_HANDHELD, //only for turrets + RARE, + VERY_RARE + } +} diff --git a/src/main/java/com/hbm/handler/HbmMaterials.java b/src/main/java/com/hbm/handler/indexing/HbmMaterials.java similarity index 97% rename from src/main/java/com/hbm/handler/HbmMaterials.java rename to src/main/java/com/hbm/handler/indexing/HbmMaterials.java index 33e6354e3..515f74d7e 100644 --- a/src/main/java/com/hbm/handler/HbmMaterials.java +++ b/src/main/java/com/hbm/handler/indexing/HbmMaterials.java @@ -1,4 +1,4 @@ -package com.hbm.handler; +package com.hbm.handler.indexing; import java.util.ArrayList; import java.util.Arrays; diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 533764b5d..999915d33 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -7,6 +7,7 @@ import com.hbm.handler.ToolAbility.LuckAbility; import com.hbm.handler.WeaponAbility; import com.hbm.handler.FluidTypeHandler.FluidType; import com.hbm.handler.guncfg.*; +import static com.hbm.handler.indexing.AmmoIndex.AmmoTrait.*; import com.hbm.items.armor.*; import com.hbm.items.bomb.*; import com.hbm.items.food.*; @@ -3879,150 +3880,150 @@ public class ModItems { missile_skin_soviet_stank = new ItemCustomLore().setUnlocalizedName("missile_skin_soviet_stank").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_soviet_stank"); missile_skin_metal = new ItemCustomLore().setUnlocalizedName("missile_skin_metal").setMaxStackSize(1).setCreativeTab(MainRegistry.missileTab).setTextureName(RefStrings.MODID + ":missile_skin_metal"); - ammo_12gauge = new ItemAmmo().setUnlocalizedName("ammo_12gauge").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_12gauge"); - ammo_12gauge_incendiary = new ItemAmmo().setUnlocalizedName("ammo_12gauge_incendiary").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_12gauge_incendiary"); - ammo_12gauge_shrapnel = new ItemAmmo().setUnlocalizedName("ammo_12gauge_shrapnel").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_12gauge_shrapnel"); - ammo_12gauge_du = new ItemAmmo().setUnlocalizedName("ammo_12gauge_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_12gauge_du"); - ammo_12gauge_sleek = new ItemAmmo().setUnlocalizedName("ammo_12gauge_sleek").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_12gauge_sleek"); - ammo_12gauge_marauder = new ItemAmmo().setUnlocalizedName("ammo_12gauge_marauder").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_12gauge_marauder"); - ammo_20gauge = new ItemAmmo().setUnlocalizedName("ammo_20gauge").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge"); - ammo_20gauge_slug = new ItemAmmo().setUnlocalizedName("ammo_20gauge_slug").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_slug"); - ammo_20gauge_flechette = new ItemAmmo().setUnlocalizedName("ammo_20gauge_flechette").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_flechette"); - ammo_20gauge_incendiary = new ItemAmmo().setUnlocalizedName("ammo_20gauge_incendiary").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_incendiary"); - ammo_20gauge_shrapnel = new ItemAmmo().setUnlocalizedName("ammo_20gauge_shrapnel").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_shrapnel"); - ammo_20gauge_explosive = new ItemAmmo().setUnlocalizedName("ammo_20gauge_explosive").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_explosive"); - ammo_20gauge_caustic = new ItemAmmo().setUnlocalizedName("ammo_20gauge_caustic").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_caustic"); - ammo_20gauge_shock = new ItemAmmo().setUnlocalizedName("ammo_20gauge_shock").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_shock"); - ammo_20gauge_wither = new ItemAmmo().setUnlocalizedName("ammo_20gauge_wither").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_wither"); - ammo_20gauge_sleek = new ItemAmmo().setUnlocalizedName("ammo_20gauge_sleek").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_20gauge_sleek"); - ammo_4gauge = new ItemAmmo().setUnlocalizedName("ammo_4gauge").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_4gauge"); - ammo_4gauge_slug = new ItemAmmo().setUnlocalizedName("ammo_4gauge_slug").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_4gauge_slug"); - ammo_4gauge_flechette = new ItemAmmo().setUnlocalizedName("ammo_4gauge_flechette").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_4gauge_flechette"); - ammo_4gauge_flechette_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_4gauge_flechette_phosphorus").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_4gauge_flechette_phosphorus"); - ammo_4gauge_explosive = new ItemAmmo().setUnlocalizedName("ammo_4gauge_explosive").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_4gauge_explosive"); - ammo_4gauge_semtex = new ItemAmmo().setUnlocalizedName("ammo_4gauge_semtex").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_4gauge_semtex"); - ammo_4gauge_balefire = new ItemAmmo().setUnlocalizedName("ammo_4gauge_balefire").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_4gauge_balefire"); - ammo_4gauge_kampf = new ItemAmmo().setUnlocalizedName("ammo_4gauge_kampf").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_4gauge_kampf"); - ammo_4gauge_canister = new ItemAmmo().setUnlocalizedName("ammo_4gauge_canister").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_4gauge_canister"); - ammo_4gauge_claw = new ItemAmmo().setUnlocalizedName("ammo_4gauge_claw").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_4gauge_claw"); - ammo_4gauge_vampire = new ItemAmmo().setUnlocalizedName("ammo_4gauge_vampire").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_4gauge_vampire"); - ammo_4gauge_void = new ItemAmmo().setUnlocalizedName("ammo_4gauge_void").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_4gauge_void"); - ammo_4gauge_sleek = new ItemAmmo().setUnlocalizedName("ammo_4gauge_sleek").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_4gauge_sleek"); - ammo_5mm = new ItemAmmo().setUnlocalizedName("ammo_5mm").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_5mm"); - ammo_5mm_explosive = new ItemAmmo().setUnlocalizedName("ammo_5mm_explosive").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_5mm_explosive"); - ammo_5mm_du = new ItemAmmo().setUnlocalizedName("ammo_5mm_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_5mm_du"); - ammo_5mm_star = new ItemAmmo().setUnlocalizedName("ammo_5mm_star").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_5mm_star"); - ammo_5mm_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_5mm_chlorophyte").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_5mm_chlorophyte"); - ammo_9mm = new ItemAmmo().setUnlocalizedName("ammo_9mm").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_9mm"); - ammo_9mm_ap = new ItemAmmo().setUnlocalizedName("ammo_9mm_ap").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_9mm_ap"); - ammo_9mm_du = new ItemAmmo().setUnlocalizedName("ammo_9mm_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_9mm_du"); - ammo_9mm_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_9mm_chlorophyte").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_9mm_chlorophyte"); - ammo_9mm_rocket = new ItemAmmo().setUnlocalizedName("ammo_9mm_rocket").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_9mm_rocket"); - ammo_556 = new ItemAmmo().setUnlocalizedName("ammo_556").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_556"); - ammo_556_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_556_phosphorus").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_556_phosphorus"); - ammo_556_ap = new ItemAmmo().setUnlocalizedName("ammo_556_ap").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_556_ap"); - ammo_556_du = new ItemAmmo().setUnlocalizedName("ammo_556_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_556_du"); - ammo_556_star = new ItemAmmo().setUnlocalizedName("ammo_556_star").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_556_star"); - ammo_556_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_556_chlorophyte").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_556_chlorophyte"); - ammo_556_sleek = new ItemAmmo().setUnlocalizedName("ammo_556_sleek").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_556_sleek"); - ammo_556_tracer = new ItemAmmo().setUnlocalizedName("ammo_556_tracer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_556_tracer"); - ammo_556_flechette = new ItemAmmo().setUnlocalizedName("ammo_556_flechette").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_556_flechette"); - ammo_556_flechette_incendiary = new ItemAmmo().setUnlocalizedName("ammo_556_flechette_incendiary").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_556_flechette_incendiary"); - ammo_556_flechette_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_556_flechette_phosphorus").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_556_flechette_phosphorus"); - ammo_556_flechette_du = new ItemAmmo().setUnlocalizedName("ammo_556_flechette_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_556_flechette_du"); - ammo_556_flechette_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_556_flechette_chlorophyte").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_556_flechette_chlorophyte"); - ammo_556_flechette_sleek = new ItemAmmo().setUnlocalizedName("ammo_556_flechette_sleek").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_556_flechette_sleek"); - ammo_556_k = new ItemAmmo().setUnlocalizedName("ammo_556_k").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_556_k"); - ammo_50ae = new ItemAmmo().setUnlocalizedName("ammo_50ae").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50ae"); - ammo_50ae_ap = new ItemAmmo().setUnlocalizedName("ammo_50ae_ap").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50ae_ap"); - ammo_50ae_du = new ItemAmmo().setUnlocalizedName("ammo_50ae_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50ae_du"); - ammo_50ae_star = new ItemAmmo().setUnlocalizedName("ammo_50ae_star").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50ae_star"); - ammo_50ae_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_50ae_chlorophyte").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50ae_chlorophyte"); - ammo_50bmg = new ItemAmmo().setUnlocalizedName("ammo_50bmg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg"); - ammo_50bmg_incendiary = new ItemAmmo().setUnlocalizedName("ammo_50bmg_incendiary").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_incendiary"); - ammo_50bmg_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_50bmg_phosphorus").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_phosphorus"); - ammo_50bmg_explosive = new ItemAmmo().setUnlocalizedName("ammo_50bmg_explosive").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_explosive"); - ammo_50bmg_ap = new ItemAmmo().setUnlocalizedName("ammo_50bmg_ap").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_ap"); - ammo_50bmg_du = new ItemAmmo().setUnlocalizedName("ammo_50bmg_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_du"); - ammo_50bmg_star = new ItemAmmo().setUnlocalizedName("ammo_50bmg_star").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_star"); - ammo_50bmg_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_50bmg_chlorophyte").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_chlorophyte"); - ammo_50bmg_flechette = new ItemAmmo().setUnlocalizedName("ammo_50bmg_flechette").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_flechette"); - ammo_50bmg_flechette_am = new ItemAmmo().setUnlocalizedName("ammo_50bmg_flechette_am").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_flechette_am"); - ammo_50bmg_flechette_po = new ItemAmmo().setUnlocalizedName("ammo_50bmg_flechette_po").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_flechette_po"); - ammo_50bmg_sleek = new ItemAmmo().setUnlocalizedName("ammo_50bmg_sleek").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_50bmg_sleek"); - ammo_75bolt = new ItemAmmo().setUnlocalizedName("ammo_75bolt").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(8).setTextureName(RefStrings.MODID + ":ammo_75bolt"); - ammo_75bolt_incendiary = new ItemAmmo().setUnlocalizedName("ammo_75bolt_incendiary").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(8).setTextureName(RefStrings.MODID + ":ammo_75bolt_incendiary"); - ammo_75bolt_he = new ItemAmmo().setUnlocalizedName("ammo_75bolt_he").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(8).setTextureName(RefStrings.MODID + ":ammo_75bolt_he"); - ammo_357_desh = new ItemAmmo().setUnlocalizedName("ammo_357_desh").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_357_desh"); - ammo_44 = new ItemAmmo().setUnlocalizedName("ammo_44").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44"); - ammo_44_ap = new ItemAmmo().setUnlocalizedName("ammo_44_ap").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_ap"); - ammo_44_du = new ItemAmmo().setUnlocalizedName("ammo_44_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_du"); - ammo_44_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_44_phosphorus").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_phosphorus"); - ammo_44_star = new ItemAmmo().setUnlocalizedName("ammo_44_star").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_star"); - ammo_44_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_44_chlorophyte").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_chlorophyte"); - ammo_44_pip = new ItemAmmo().setUnlocalizedName("ammo_44_pip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_pip"); - ammo_44_bj = new ItemAmmo().setUnlocalizedName("ammo_44_bj").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_bj"); - ammo_44_silver = new ItemAmmo().setUnlocalizedName("ammo_44_silver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_silver"); - ammo_44_rocket = new ItemAmmo().setUnlocalizedName("ammo_44_rocket").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_44_rocket"); - ammo_22lr = new ItemAmmo().setUnlocalizedName("ammo_22lr").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_22lr"); - ammo_22lr_ap = new ItemAmmo().setUnlocalizedName("ammo_22lr_ap").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_22lr_ap"); - ammo_22lr_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_22lr_chlorophyte").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_22lr_chlorophyte"); - ammo_folly = new ItemAmmo().setUnlocalizedName("ammo_folly").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_folly"); - ammo_folly_nuclear = new ItemAmmo().setUnlocalizedName("ammo_folly_nuclear").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_folly_nuclear"); - ammo_folly_du = new ItemAmmo().setUnlocalizedName("ammo_folly_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_folly_du"); - ammo_rocket = new ItemAmmo().setUnlocalizedName("ammo_rocket").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket"); - ammo_rocket_he = new ItemAmmo().setUnlocalizedName("ammo_rocket_he").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_he"); - ammo_rocket_incendiary = new ItemAmmo().setUnlocalizedName("ammo_rocket_incendiary").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_incendiary"); - ammo_rocket_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_rocket_phosphorus").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_phosphorus"); - ammo_rocket_shrapnel = new ItemAmmo().setUnlocalizedName("ammo_rocket_shrapnel").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_shrapnel"); - ammo_rocket_emp = new ItemAmmo().setUnlocalizedName("ammo_rocket_emp").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_emp"); - ammo_rocket_glare = new ItemAmmo().setUnlocalizedName("ammo_rocket_glare").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_glare"); - ammo_rocket_toxic = new ItemAmmo().setUnlocalizedName("ammo_rocket_toxic").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_toxic"); - ammo_rocket_canister = new ItemAmmo().setUnlocalizedName("ammo_rocket_canister").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_canister"); - ammo_rocket_sleek = new ItemAmmo().setUnlocalizedName("ammo_rocket_sleek").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_sleek"); - ammo_rocket_nuclear = new ItemAmmo().setUnlocalizedName("ammo_rocket_nuclear").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_nuclear"); - ammo_rocket_rpc = new ItemAmmo().setUnlocalizedName("ammo_rocket_rpc").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_rpc"); - ammo_rocket_digamma = new ItemAmmo().setUnlocalizedName("ammo_rocket_digamma").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_rocket_digamma"); - ammo_grenade = new ItemAmmo().setUnlocalizedName("ammo_grenade").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade"); - ammo_grenade_he = new ItemAmmo().setUnlocalizedName("ammo_grenade_he").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_he"); - ammo_grenade_incendiary = new ItemAmmo().setUnlocalizedName("ammo_grenade_incendiary").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_incendiary"); - ammo_grenade_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_grenade_phosphorus").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_phosphorus"); - ammo_grenade_toxic = new ItemAmmo().setUnlocalizedName("ammo_grenade_toxic").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_toxic"); - ammo_grenade_concussion = new ItemAmmo().setUnlocalizedName("ammo_grenade_concussion").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_concussion"); - ammo_grenade_finned = new ItemAmmo().setUnlocalizedName("ammo_grenade_finned").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_finned"); - ammo_grenade_sleek = new ItemAmmo().setUnlocalizedName("ammo_grenade_sleek").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_sleek"); - ammo_grenade_nuclear = new ItemAmmo().setUnlocalizedName("ammo_grenade_nuclear").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_nuclear"); - ammo_grenade_tracer = new ItemAmmo().setUnlocalizedName("ammo_grenade_tracer").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_tracer"); - ammo_grenade_kampf = new ItemAmmo().setUnlocalizedName("ammo_grenade_kampf").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_grenade_kampf"); - ammo_shell = new ItemAmmo().setUnlocalizedName("ammo_shell").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_shell"); - ammo_shell_explosive = new ItemAmmo().setUnlocalizedName("ammo_shell_explosive").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_shell_explosive"); - ammo_shell_apfsds_t = new ItemAmmo().setUnlocalizedName("ammo_shell_apfsds_t").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_shell_apfsds-t"); - ammo_shell_apfsds_du = new ItemAmmo().setUnlocalizedName("ammo_shell_apfsds_du").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_shell_apfsds-du"); - ammo_shell_w9 = new ItemAmmo().setUnlocalizedName("ammo_shell_w9").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_shell_w9"); - ammo_dgk = new ItemAmmo().setUnlocalizedName("ammo_dgk").setMaxStackSize(1).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_dgk"); - ammo_nuke = new ItemAmmo().setUnlocalizedName("ammo_nuke").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_nuke"); - ammo_nuke_low = new ItemAmmo().setUnlocalizedName("ammo_nuke_low").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_nuke_low"); - ammo_nuke_high = new ItemAmmo().setUnlocalizedName("ammo_nuke_high").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_nuke_high"); - ammo_nuke_tots = new ItemAmmo().setUnlocalizedName("ammo_nuke_tots").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_nuke_tots"); - ammo_nuke_safe = new ItemAmmo().setUnlocalizedName("ammo_nuke_safe").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_nuke_safe"); - ammo_nuke_pumpkin = new ItemAmmo().setUnlocalizedName("ammo_nuke_pumpkin").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_nuke_pumpkin"); - ammo_mirv = new ItemAmmo().setUnlocalizedName("ammo_mirv").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_mirv"); - ammo_mirv_low = new ItemAmmo().setUnlocalizedName("ammo_mirv_low").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_mirv_low"); - ammo_mirv_high = new ItemAmmo().setUnlocalizedName("ammo_mirv_high").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_mirv_high"); - ammo_mirv_safe = new ItemAmmo().setUnlocalizedName("ammo_mirv_safe").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":ammo_mirv_safe"); - ammo_mirv_special = new ItemAmmo().setUnlocalizedName("ammo_mirv_special").setCreativeTab(null).setTextureName(RefStrings.MODID + ":ammo_mirv_special"); - ammo_fuel = new ItemAmmo().setUnlocalizedName("ammo_fuel").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ammo_fuel"); - ammo_fuel_napalm = new ItemAmmo().setUnlocalizedName("ammo_fuel_napalm").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ammo_fuel_napalm"); - ammo_fuel_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_fuel_phosphorus").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ammo_fuel_phosphorus"); - ammo_fuel_vaporizer = new ItemAmmo().setUnlocalizedName("ammo_fuel_vaporizer").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ammo_fuel_vaporizer"); - ammo_fuel_gas = new ItemAmmo().setUnlocalizedName("ammo_fuel_gas").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ammo_fuel_gas"); - ammo_fireext = new ItemAmmo().setUnlocalizedName("ammo_fireext").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ammo_fireext"); - ammo_fireext_foam = new ItemAmmo().setUnlocalizedName("ammo_fireext_foam").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ammo_fireext_foam"); - ammo_fireext_sand = new ItemAmmo().setUnlocalizedName("ammo_fireext_sand").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(1).setTextureName(RefStrings.MODID + ":ammo_fireext_sand"); - ammo_cell = new ItemAmmo().setUnlocalizedName("ammo_cell").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(16).setTextureName(RefStrings.MODID + ":ammo_cell"); - ammo_dart = new ItemAmmo().setUnlocalizedName("ammo_dart").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(16).setTextureName(RefStrings.MODID + ":ammo_dart"); - ammo_dart_nuclear = new ItemAmmo().setUnlocalizedName("ammo_dart_nuclear").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(16).setTextureName(RefStrings.MODID + ":ammo_dart_nuclear"); - ammo_dart_nerf = new ItemAmmo().setUnlocalizedName("ammo_dart_nerf").setCreativeTab(MainRegistry.weaponTab).setMaxStackSize(16).setTextureName(RefStrings.MODID + ":ammo_dart_nerf"); + ammo_12gauge = new ItemAmmo().setUnlocalizedName("ammo_12gauge"); + ammo_12gauge_incendiary = new ItemAmmo().setUnlocalizedName("ammo_12gauge_incendiary"); + ammo_12gauge_shrapnel = new ItemAmmo().setUnlocalizedName("ammo_12gauge_shrapnel"); + ammo_12gauge_du = new ItemAmmo().setUnlocalizedName("ammo_12gauge_du"); + ammo_12gauge_sleek = new ItemAmmo().setUnlocalizedName("ammo_12gauge_sleek"); + ammo_12gauge_marauder = new ItemAmmo().setUnlocalizedName("ammo_12gauge_marauder"); + ammo_20gauge = new ItemAmmo().setUnlocalizedName("ammo_20gauge"); + ammo_20gauge_slug = new ItemAmmo().setUnlocalizedName("ammo_20gauge_slug"); + ammo_20gauge_flechette = new ItemAmmo().setUnlocalizedName("ammo_20gauge_flechette"); + ammo_20gauge_incendiary = new ItemAmmo().setUnlocalizedName("ammo_20gauge_incendiary"); + ammo_20gauge_shrapnel = new ItemAmmo().setUnlocalizedName("ammo_20gauge_shrapnel"); + ammo_20gauge_explosive = new ItemAmmo().setUnlocalizedName("ammo_20gauge_explosive"); + ammo_20gauge_caustic = new ItemAmmo().setUnlocalizedName("ammo_20gauge_caustic"); + ammo_20gauge_shock = new ItemAmmo().setUnlocalizedName("ammo_20gauge_shock"); + ammo_20gauge_wither = new ItemAmmo().setUnlocalizedName("ammo_20gauge_wither"); + ammo_20gauge_sleek = new ItemAmmo().setUnlocalizedName("ammo_20gauge_sleek"); + ammo_4gauge = new ItemAmmo().setUnlocalizedName("ammo_4gauge"); + ammo_4gauge_slug = new ItemAmmo().setUnlocalizedName("ammo_4gauge_slug"); + ammo_4gauge_flechette = new ItemAmmo().setUnlocalizedName("ammo_4gauge_flechette"); + ammo_4gauge_flechette_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_4gauge_flechette_phosphorus"); + ammo_4gauge_explosive = new ItemAmmo().setUnlocalizedName("ammo_4gauge_explosive"); + ammo_4gauge_semtex = new ItemAmmo().setUnlocalizedName("ammo_4gauge_semtex"); + ammo_4gauge_balefire = new ItemAmmo().setUnlocalizedName("ammo_4gauge_balefire"); + ammo_4gauge_kampf = new ItemAmmo().setUnlocalizedName("ammo_4gauge_kampf"); + ammo_4gauge_canister = new ItemAmmo().setUnlocalizedName("ammo_4gauge_canister"); + ammo_4gauge_claw = new ItemAmmo().setUnlocalizedName("ammo_4gauge_claw"); + ammo_4gauge_vampire = new ItemAmmo().setUnlocalizedName("ammo_4gauge_vampire"); + ammo_4gauge_void = new ItemAmmo().setUnlocalizedName("ammo_4gauge_void"); + ammo_4gauge_sleek = new ItemAmmo().setUnlocalizedName("ammo_4gauge_sleek"); + ammo_5mm = new ItemAmmo().setUnlocalizedName("ammo_5mm"); + ammo_5mm_explosive = new ItemAmmo().setUnlocalizedName("ammo_5mm_explosive"); + ammo_5mm_du = new ItemAmmo().setUnlocalizedName("ammo_5mm_du"); + ammo_5mm_star = new ItemAmmo().setUnlocalizedName("ammo_5mm_star"); + ammo_5mm_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_5mm_chlorophyte"); + ammo_9mm = new ItemAmmo().setUnlocalizedName("ammo_9mm"); + ammo_9mm_ap = new ItemAmmo().setUnlocalizedName("ammo_9mm_ap"); + ammo_9mm_du = new ItemAmmo().setUnlocalizedName("ammo_9mm_du"); + ammo_9mm_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_9mm_chlorophyte"); + ammo_9mm_rocket = new ItemAmmo().setUnlocalizedName("ammo_9mm_rocket"); + ammo_556 = new ItemAmmo().setUnlocalizedName("ammo_556"); + ammo_556_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_556_phosphorus"); + ammo_556_ap = new ItemAmmo().setUnlocalizedName("ammo_556_ap"); + ammo_556_du = new ItemAmmo().setUnlocalizedName("ammo_556_du"); + ammo_556_star = new ItemAmmo().setUnlocalizedName("ammo_556_star"); + ammo_556_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_556_chlorophyte"); + ammo_556_sleek = new ItemAmmo().setUnlocalizedName("ammo_556_sleek"); + ammo_556_tracer = new ItemAmmo().setUnlocalizedName("ammo_556_tracer"); + ammo_556_flechette = new ItemAmmo().setUnlocalizedName("ammo_556_flechette"); + ammo_556_flechette_incendiary = new ItemAmmo().setUnlocalizedName("ammo_556_flechette_incendiary"); + ammo_556_flechette_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_556_flechette_phosphorus"); + ammo_556_flechette_du = new ItemAmmo().setUnlocalizedName("ammo_556_flechette_du"); + ammo_556_flechette_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_556_flechette_chlorophyte"); + ammo_556_flechette_sleek = new ItemAmmo().setUnlocalizedName("ammo_556_flechette_sleek"); + ammo_556_k = new ItemAmmo().setUnlocalizedName("ammo_556_k"); + ammo_50ae = new ItemAmmo().setUnlocalizedName("ammo_50ae"); + ammo_50ae_ap = new ItemAmmo().setUnlocalizedName("ammo_50ae_ap"); + ammo_50ae_du = new ItemAmmo().setUnlocalizedName("ammo_50ae_du"); + ammo_50ae_star = new ItemAmmo().setUnlocalizedName("ammo_50ae_star"); + ammo_50ae_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_50ae_chlorophyte"); + ammo_50bmg = new ItemAmmo().setUnlocalizedName("ammo_50bmg"); + ammo_50bmg_incendiary = new ItemAmmo().setUnlocalizedName("ammo_50bmg_incendiary"); + ammo_50bmg_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_50bmg_phosphorus"); + ammo_50bmg_explosive = new ItemAmmo().setUnlocalizedName("ammo_50bmg_explosive"); + ammo_50bmg_ap = new ItemAmmo().setUnlocalizedName("ammo_50bmg_ap"); + ammo_50bmg_du = new ItemAmmo().setUnlocalizedName("ammo_50bmg_du"); + ammo_50bmg_star = new ItemAmmo().setUnlocalizedName("ammo_50bmg_star"); + ammo_50bmg_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_50bmg_chlorophyte"); + ammo_50bmg_flechette = new ItemAmmo().setUnlocalizedName("ammo_50bmg_flechette"); + ammo_50bmg_flechette_am = new ItemAmmo().setUnlocalizedName("ammo_50bmg_flechette_am"); + ammo_50bmg_flechette_po = new ItemAmmo().setUnlocalizedName("ammo_50bmg_flechette_po"); + ammo_50bmg_sleek = new ItemAmmo().setUnlocalizedName("ammo_50bmg_sleek"); + ammo_75bolt = new ItemAmmo().setUnlocalizedName("ammo_75bolt"); + ammo_75bolt_incendiary = new ItemAmmo().setUnlocalizedName("ammo_75bolt_incendiary"); + ammo_75bolt_he = new ItemAmmo().setUnlocalizedName("ammo_75bolt_he"); + ammo_357_desh = new ItemAmmo().setUnlocalizedName("ammo_357_desh"); + ammo_44 = new ItemAmmo().setUnlocalizedName("ammo_44"); + ammo_44_ap = new ItemAmmo().setUnlocalizedName("ammo_44_ap"); + ammo_44_du = new ItemAmmo().setUnlocalizedName("ammo_44_du"); + ammo_44_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_44_phosphorus"); + ammo_44_star = new ItemAmmo().setUnlocalizedName("ammo_44_star"); + ammo_44_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_44_chlorophyte"); + ammo_44_pip = new ItemAmmo().setUnlocalizedName("ammo_44_pip"); + ammo_44_bj = new ItemAmmo().setUnlocalizedName("ammo_44_bj"); + ammo_44_silver = new ItemAmmo().setUnlocalizedName("ammo_44_silver"); + ammo_44_rocket = new ItemAmmo().setUnlocalizedName("ammo_44_rocket"); + ammo_22lr = new ItemAmmo().setUnlocalizedName("ammo_22lr"); + ammo_22lr_ap = new ItemAmmo().setUnlocalizedName("ammo_22lr_ap"); + ammo_22lr_chlorophyte = new ItemAmmo().setUnlocalizedName("ammo_22lr_chlorophyte"); + ammo_folly = new ItemAmmo().setUnlocalizedName("ammo_folly"); + ammo_folly_nuclear = new ItemAmmo().setUnlocalizedName("ammo_folly_nuclear"); + ammo_folly_du = new ItemAmmo().setUnlocalizedName("ammo_folly_du"); + ammo_rocket = new ItemAmmo().setUnlocalizedName("ammo_rocket"); + ammo_rocket_he = new ItemAmmo().setUnlocalizedName("ammo_rocket_he"); + ammo_rocket_incendiary = new ItemAmmo().setUnlocalizedName("ammo_rocket_incendiary"); + ammo_rocket_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_rocket_phosphorus"); + ammo_rocket_shrapnel = new ItemAmmo().setUnlocalizedName("ammo_rocket_shrapnel"); + ammo_rocket_emp = new ItemAmmo().setUnlocalizedName("ammo_rocket_emp"); + ammo_rocket_glare = new ItemAmmo().setUnlocalizedName("ammo_rocket_glare"); + ammo_rocket_toxic = new ItemAmmo().setUnlocalizedName("ammo_rocket_toxic"); + ammo_rocket_canister = new ItemAmmo().setUnlocalizedName("ammo_rocket_canister"); + ammo_rocket_sleek = new ItemAmmo().setUnlocalizedName("ammo_rocket_sleek"); + ammo_rocket_nuclear = new ItemAmmo().setUnlocalizedName("ammo_rocket_nuclear"); + ammo_rocket_rpc = new ItemAmmo().setUnlocalizedName("ammo_rocket_rpc"); + ammo_rocket_digamma = new ItemAmmo().setUnlocalizedName("ammo_rocket_digamma"); + ammo_grenade = new ItemAmmo().setUnlocalizedName("ammo_grenade"); + ammo_grenade_he = new ItemAmmo().setUnlocalizedName("ammo_grenade_he"); + ammo_grenade_incendiary = new ItemAmmo().setUnlocalizedName("ammo_grenade_incendiary"); + ammo_grenade_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_grenade_phosphorus"); + ammo_grenade_toxic = new ItemAmmo().setUnlocalizedName("ammo_grenade_toxic"); + ammo_grenade_concussion = new ItemAmmo().setUnlocalizedName("ammo_grenade_concussion"); + ammo_grenade_finned = new ItemAmmo().setUnlocalizedName("ammo_grenade_finned"); + ammo_grenade_sleek = new ItemAmmo().setUnlocalizedName("ammo_grenade_sleek"); + ammo_grenade_nuclear = new ItemAmmo().setUnlocalizedName("ammo_grenade_nuclear"); + ammo_grenade_tracer = new ItemAmmo().setUnlocalizedName("ammo_grenade_tracer"); + ammo_grenade_kampf = new ItemAmmo().setUnlocalizedName("ammo_grenade_kampf"); + ammo_shell = new ItemAmmo().setUnlocalizedName("ammo_shell"); + ammo_shell_explosive = new ItemAmmo().setUnlocalizedName("ammo_shell_explosive"); + ammo_shell_apfsds_t = new ItemAmmo().setUnlocalizedName("ammo_shell_apfsds_t"); + ammo_shell_apfsds_du = new ItemAmmo().setUnlocalizedName("ammo_shell_apfsds_du"); + ammo_shell_w9 = new ItemAmmo().setUnlocalizedName("ammo_shell_w9"); + ammo_dgk = new ItemAmmo().setUnlocalizedName("ammo_dgk"); + ammo_nuke = new ItemAmmo().setUnlocalizedName("ammo_nuke"); + ammo_nuke_low = new ItemAmmo().setUnlocalizedName("ammo_nuke_low"); + ammo_nuke_high = new ItemAmmo().setUnlocalizedName("ammo_nuke_high"); + ammo_nuke_tots = new ItemAmmo().setUnlocalizedName("ammo_nuke_tots"); + ammo_nuke_safe = new ItemAmmo().setUnlocalizedName("ammo_nuke_safe"); + ammo_nuke_pumpkin = new ItemAmmo().setUnlocalizedName("ammo_nuke_pumpkin"); + ammo_mirv = new ItemAmmo().setUnlocalizedName("ammo_mirv"); + ammo_mirv_low = new ItemAmmo().setUnlocalizedName("ammo_mirv_low"); + ammo_mirv_high = new ItemAmmo().setUnlocalizedName("ammo_mirv_high"); + ammo_mirv_safe = new ItemAmmo().setUnlocalizedName("ammo_mirv_safe"); + ammo_mirv_special = new ItemAmmo().setUnlocalizedName("ammo_mirv_special").setCreativeTab(null); + ammo_fuel = new ItemAmmo().setUnlocalizedName("ammo_fuel"); + ammo_fuel_napalm = new ItemAmmo().setUnlocalizedName("ammo_fuel_napalm"); + ammo_fuel_phosphorus = new ItemAmmo().setUnlocalizedName("ammo_fuel_phosphorus"); + ammo_fuel_vaporizer = new ItemAmmo().setUnlocalizedName("ammo_fuel_vaporizer"); + ammo_fuel_gas = new ItemAmmo().setUnlocalizedName("ammo_fuel_gas"); + ammo_fireext = new ItemAmmo().setUnlocalizedName("ammo_fireext"); + ammo_fireext_foam = new ItemAmmo().setUnlocalizedName("ammo_fireext_foam"); + ammo_fireext_sand = new ItemAmmo().setUnlocalizedName("ammo_fireext_sand"); + ammo_cell = new ItemAmmo().setUnlocalizedName("ammo_cell"); + ammo_dart = new ItemAmmo().setUnlocalizedName("ammo_dart"); + ammo_dart_nuclear = new ItemAmmo().setUnlocalizedName("ammo_dart_nuclear"); + ammo_dart_nerf = new ItemAmmo().setUnlocalizedName("ammo_dart_nerf"); gun_rpg = new ItemGunBase(GunRocketFactory.getGustavConfig()).setUnlocalizedName("gun_rpg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_rpg"); gun_karl = new ItemGunBase(GunRocketFactory.getKarlConfig()).setUnlocalizedName("gun_karl").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_karl"); diff --git a/src/main/java/com/hbm/items/weapon/ItemAmmo.java b/src/main/java/com/hbm/items/weapon/ItemAmmo.java index b80048be4..258ba55db 100644 --- a/src/main/java/com/hbm/items/weapon/ItemAmmo.java +++ b/src/main/java/com/hbm/items/weapon/ItemAmmo.java @@ -3,7 +3,11 @@ package com.hbm.items.weapon; import java.util.List; import java.util.Random; +import com.hbm.handler.indexing.AmmoIndex; +import com.hbm.handler.indexing.AmmoIndex.AmmoTrait; import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -11,10 +15,112 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; public class ItemAmmo extends Item { + + //TODO: implement all this + public enum AmmoItemTrait { + CON_ACCURACY2, + CON_DAMAGE, + CON_HEAVY_WEAR, + CON_LING_FIRE, + CON_NN, + CON_NO_DAMAGE, + CON_NO_EXPLODE1, + CON_NO_EXPLODE2, + CON_NO_EXPLODE3, + CON_NO_FIRE, + CON_NO_MIRV, + CON_PENETRATION, + CON_RADIUS, + CON_RANGE2, + CON_SING_PROJECTILE, + CON_SPEED, + CON_SUPER_WEAR, + CON_WEAR, + NEU_40MM, + NEU_BLANK, + NEU_BOAT, + NEU_BOXCAR, + NEU_BUILDING, + NEU_CHLOROPHYTE, + NEU_ERASER, + NEU_FUN, + NEU_HEAVY_METAL, + NEU_HOMING, + NEU_JOLT, + NEU_LESS_BOUNCY, + NEU_MASKMAN_FLECHETTE, + NEU_MASKMAN_METEORITE, + NEU_MORE_BOUNCY, + NEU_NO_BOUNCE, + NEU_NO_CON, + NEU_STARMETAL, + NEU_TRACER, + NEU_UHH, + NEU_WARCRIME1, + NEU_WARCRIME2, + PRO_ACCURATE1, + PRO_ACCURATE2, + PRO_BALEFIRE, + PRO_BOMB_COUNT, + PRO_CAUSTIC, + PRO_CHAINSAW, + PRO_CHLORINE, + PRO_DAMAGE, + PRO_DAMAGE_SLIGHT, + PRO_EMP, + PRO_EXPLOSIVE, + PRO_FALLOUT, + PRO_FIT_357, + PRO_FLAMES, + PRO_GRAVITY, + PRO_HEAVY_DAMAGE, + PRO_INCENDIARY, + PRO_LUNATIC, + PRO_MARAUDER, + PRO_MINING, + PRO_NO_GRAVITY, + PRO_NUCLEAR, + PRO_PENETRATION, + PRO_PHOSPHORUS, + PRO_PHOSPHORUS_SPLASH, + PRO_POISON_GAS, + PRO_RADIUS, + PRO_RADIUS_HIGH, + PRO_RANGE, + PRO_ROCKET, + PRO_ROCKET_PROPELLED, + PRO_SHRAPNEL, + PRO_SPEED, + PRO_STUNNING, + PRO_TOXIC, + PRO_WEAR, + PRO_WITHERING; + + public String key = "desc.item.ammo."; + + private AmmoItemTrait() { + key += this.toString().toLowerCase(); + } + } + + private AmmoItemTrait[] traits; + + public ItemAmmo(AmmoItemTrait... traits) { + this.traits = traits; + this.setCreativeTab(MainRegistry.weaponTab); + this.setTextureName(RefStrings.MODID + ":"+ this.getUnlocalizedName().substring(5)); + } + + public ItemAmmo index(AmmoTrait... traits) { + AmmoIndex.registerAmmo(this, traits); + return this; + } @Override - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) - { + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + + + //12 GAUGE if(this == ModItems.ammo_12gauge_incendiary) { list.add(EnumChatFormatting.BLUE + "+ Incendiary"); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 844f67c83..b62d3109a 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -487,6 +487,7 @@ public class MainRegistry { GameRegistry.registerTileEntity(TileEntityMachineBAT9000.class, "tileentity_bat9000"); GameRegistry.registerTileEntity(TileEntityMachineOrbus.class, "tileentity_orbus"); GameRegistry.registerTileEntity(TileEntityMachineFractionTower.class, "tileentity_fraction_tower"); + GameRegistry.registerTileEntity(TileEntitySpacer.class, "tileentity_fraction_spacer"); GameRegistry.registerTileEntity(TileEntityRBMKRod.class, "tileentity_rbmk_rod"); GameRegistry.registerTileEntity(TileEntityRBMKRodReaSim.class, "tileentity_rbmk_rod_reasim"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java index 537720bc1..e20d61255 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasCent.java @@ -294,8 +294,10 @@ public class TileEntityMachineGasCent extends TileEntity implements ISidedInvent this.power -= 200; - if(this.power < 0) + if(this.power < 0) { power = 0; + this.progress = 0; + } if(progress >= processingSpeed) { process(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySpacer.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySpacer.java new file mode 100644 index 000000000..ddd30d8e1 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySpacer.java @@ -0,0 +1,11 @@ +package com.hbm.tileentity.machine; + +import net.minecraft.tileentity.TileEntity; + +public class TileEntitySpacer extends TileEntity { + + @Override + public boolean canUpdate() { + return false; + } +} diff --git a/src/main/resources/assets/hbm/models/machines/fraction_tower.obj b/src/main/resources/assets/hbm/models/machines/fraction_tower.obj new file mode 100644 index 000000000..cf93f647e --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/fraction_tower.obj @@ -0,0 +1,156 @@ +# Blender v2.79 (sub 0) OBJ File: 'fraction_tower.blend' +# www.blender.org +o Plane +v -1.375000 0.125000 0.562500 +v 1.375000 0.125000 0.562500 +v -1.375000 0.125000 -0.562500 +v 1.375000 0.125000 -0.562500 +v 0.562500 0.125000 1.375000 +v 0.562500 0.125000 -1.375000 +v -0.562500 0.125000 1.375000 +v -0.562500 0.125000 -1.375000 +v -1.375000 2.875000 0.562500 +v 1.375000 2.875000 0.562500 +v -1.375000 2.875000 -0.562500 +v 1.375000 2.875000 -0.562500 +v 0.562500 2.875000 1.375000 +v 0.562500 2.875000 -1.375000 +v -0.562500 2.875000 1.375000 +v -0.562500 2.875000 -1.375000 +v 1.500000 0.125000 0.625000 +v 1.500000 0.125000 -0.625000 +v -1.500000 0.125000 0.625000 +v -1.500000 0.125000 -0.625000 +v 0.625000 0.125000 -1.500000 +v -0.625000 0.125000 -1.500000 +v 0.625000 0.125000 1.500000 +v -0.625000 0.125000 1.500000 +v 1.500000 0.000000 0.625000 +v 1.500000 0.000000 -0.625000 +v -1.500000 0.000000 0.625000 +v -1.500000 0.000000 -0.625000 +v 0.625000 0.000000 -1.500000 +v -0.625000 0.000000 -1.500000 +v 0.625000 0.000000 1.500000 +v -0.625000 0.000000 1.500000 +v 1.500000 3.000000 0.625000 +v 1.500000 3.000000 -0.625000 +v -1.500000 3.000000 0.625000 +v -1.500000 3.000000 -0.625000 +v 0.625000 3.000000 -1.500000 +v -0.625000 3.000000 -1.500000 +v 0.625000 3.000000 1.500000 +v -0.625000 3.000000 1.500000 +v 1.500000 2.875000 0.625000 +v 1.500000 2.875000 -0.625000 +v -1.500000 2.875000 0.625000 +v -1.500000 2.875000 -0.625000 +v 0.625000 2.875000 -1.500000 +v -0.625000 2.875000 -1.500000 +v 0.625000 2.875000 1.500000 +v -0.625000 2.875000 1.500000 +v -0.187500 0.312500 -1.375000 +v -0.187500 0.687500 -1.375000 +v -0.187500 0.312500 -1.500000 +v -0.187500 0.687500 -1.500000 +v 0.187500 0.312500 -1.375000 +v 0.187500 0.687500 -1.375000 +v 0.187500 0.312500 -1.500000 +v 0.187500 0.687500 -1.500000 +v 0.187500 0.312500 1.375000 +v 0.187500 0.687500 1.375000 +v 0.187500 0.312500 1.500000 +v 0.187500 0.687500 1.500000 +v -0.187500 0.312500 1.375000 +v -0.187500 0.687500 1.375000 +v -0.187500 0.312500 1.500000 +v -0.187500 0.687500 1.500000 +v -1.375000 0.312500 0.187500 +v -1.375000 0.687500 0.187500 +v -1.500000 0.312500 0.187500 +v -1.500000 0.687500 0.187500 +v -1.375000 0.312500 -0.187500 +v -1.375000 0.687500 -0.187500 +v -1.500000 0.312500 -0.187500 +v -1.500000 0.687500 -0.187500 +v 1.375000 0.312500 -0.187500 +v 1.375000 0.687500 -0.187500 +v 1.500000 0.312500 -0.187500 +v 1.500000 0.687500 -0.187500 +v 1.375000 0.312500 0.187500 +v 1.375000 0.687500 0.187500 +v 1.500000 0.312500 0.187500 +v 1.500000 0.687500 0.187500 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.0000 -1.0000 0.0000 +s off +f 35//1 36//1 44//1 43//1 +f 4//2 2//2 17//2 18//2 +f 6//3 8//3 16//3 14//3 +f 7//4 5//4 13//4 15//4 +f 2//5 4//5 12//5 10//5 +f 3//1 1//1 9//1 11//1 +f 5//6 2//6 10//6 13//6 +f 4//7 6//7 14//7 12//7 +f 8//8 3//8 11//8 16//8 +f 1//9 7//9 15//9 9//9 +f 1//2 3//2 20//2 19//2 +f 8//2 6//2 21//2 22//2 +f 5//2 7//2 24//2 23//2 +f 7//2 1//2 19//2 24//2 +f 5//2 23//2 17//2 2//2 +f 6//2 4//2 18//2 21//2 +f 8//2 22//2 20//2 3//2 +f 18//5 17//5 25//5 26//5 +f 23//4 24//4 32//4 31//4 +f 21//7 18//7 26//7 29//7 +f 19//1 20//1 28//1 27//1 +f 24//9 19//9 27//9 32//9 +f 22//3 21//3 29//3 30//3 +f 20//8 22//8 30//8 28//8 +f 17//6 23//6 31//6 25//6 +f 25//10 31//10 32//10 27//10 28//10 30//10 29//10 26//10 +f 37//7 34//7 42//7 45//7 +f 40//9 35//9 43//9 48//9 +f 38//3 37//3 45//3 46//3 +f 34//5 33//5 41//5 42//5 +f 38//6 36//6 44//6 46//6 +f 39//8 33//8 41//8 47//8 +f 39//4 40//4 48//4 47//4 +f 12//10 42//10 41//10 10//10 +f 13//10 10//10 41//10 47//10 +f 13//10 47//10 48//10 15//10 +f 15//10 48//10 43//10 9//10 +f 9//10 43//10 44//10 11//10 +f 16//10 11//10 44//10 46//10 +f 16//10 46//10 45//10 14//10 +f 14//10 45//10 42//10 12//10 +f 33//2 34//2 37//2 38//2 36//2 35//2 40//2 39//2 +f 49//1 50//1 52//1 51//1 +f 51//3 52//3 56//3 55//3 +f 55//5 56//5 54//5 53//5 +f 57//5 58//5 60//5 59//5 +f 51//10 55//10 53//10 49//10 +f 56//2 52//2 50//2 54//2 +f 59//4 60//4 64//4 63//4 +f 63//1 64//1 62//1 61//1 +f 59//10 63//10 61//10 57//10 +f 64//2 60//2 58//2 62//2 +f 65//4 66//4 68//4 67//4 +f 67//1 68//1 72//1 71//1 +f 71//3 72//3 70//3 69//3 +f 73//3 74//3 76//3 75//3 +f 67//10 71//10 69//10 65//10 +f 72//2 68//2 66//2 70//2 +f 75//5 76//5 80//5 79//5 +f 79//4 80//4 78//4 77//4 +f 75//10 79//10 77//10 73//10 +f 80//2 76//2 74//2 78//2 diff --git a/src/main/resources/assets/hbm/textures/items/pill_salt.png b/src/main/resources/assets/hbm/textures/items/pill_salt.png new file mode 100644 index 000000000..decab9dba Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/pill_salt.png differ diff --git a/src/main/resources/assets/hbm/textures/items/pill_zinc.png b/src/main/resources/assets/hbm/textures/items/pill_zinc.png new file mode 100644 index 000000000..d93286d73 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/pill_zinc.png differ diff --git a/src/main/resources/assets/hbm/textures/models/machines/fraction_tower.png b/src/main/resources/assets/hbm/textures/models/machines/fraction_tower.png new file mode 100644 index 000000000..2ca2c9046 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/machines/fraction_tower.png differ