ammo subtypes, enum definitions, recipe updates

This commit is contained in:
Bob 2023-01-23 20:37:03 +01:00
parent 7ae0499e04
commit 547cafd393
33 changed files with 1621 additions and 8972 deletions

View File

@ -1,6 +1,8 @@
package api.hbm.energy;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
public interface IBatteryItem {
@ -11,4 +13,31 @@ public interface IBatteryItem {
public long getMaxCharge();
public long getChargeRate();
public long getDischargeRate();
/** Returns a string for the NBT tag name of the long storing power */
public default String getChargeTagName() {
return "charge";
}
/** Returns a string for the NBT tag name of the long storing power */
public static String getChargeTagName(ItemStack stack) {
return ((IBatteryItem) stack.getItem()).getChargeTagName();
}
/** Returns an empty battery stack from the passed ItemStack, the original won't be modified */
public static ItemStack emptyBattery(ItemStack stack) {
if(stack != null && stack.getItem() instanceof IBatteryItem) {
String keyName = getChargeTagName(stack);
ItemStack stackOut = stack.copy();
stackOut.stackTagCompound = new NBTTagCompound();
stackOut.stackTagCompound.setLong(keyName, 0);
return stackOut.copy();
}
return null;
}
/** Returns an empty battery stack from the passed Item */
public static ItemStack emptyBattery(Item item) {
return item instanceof IBatteryItem ? emptyBattery(new ItemStack(item)) : null;
}
}

View File

@ -3,6 +3,7 @@ package com.hbm.blocks.generic;
import java.util.ArrayList;
import java.util.Random;
import com.hbm.items.ItemAmmoEnums.*;
import com.hbm.items.ModItems;
import com.hbm.lib.RefStrings;
@ -17,19 +18,16 @@ import net.minecraft.world.World;
public class BlockAmmoCrate extends Block {
@SideOnly(Side.CLIENT)
private IIcon iconTop;
@SideOnly(Side.CLIENT)
private IIcon iconBottom;
@SideOnly(Side.CLIENT) private IIcon iconTop;
@SideOnly(Side.CLIENT) private IIcon iconBottom;
public BlockAmmoCrate(Material p_i45394_1_) {
super(p_i45394_1_);
public BlockAmmoCrate(Material mat) {
super(mat);
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister) {
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":crate_ammo_top");
this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + ":crate_ammo_bottom");
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":crate_ammo_side");
@ -42,35 +40,37 @@ public class BlockAmmoCrate extends Block {
}
Random rand = new Random();
public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metadata, int fortune) {
ArrayList<ItemStack> ret = new ArrayList<ItemStack>();
ret.add(new ItemStack(ModItems.cap_nuka, 12 + rand.nextInt(21)));
ret.add(new ItemStack(ModItems.syringe_metal_stimpak, 1 + rand.nextInt(3)));
if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_22lr, 16 + rand.nextInt(17)));
if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_9mm, 6 + rand.nextInt(13)));
if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_12gauge, 6 + rand.nextInt(4)));
if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_20gauge, 3 + rand.nextInt(4)));
if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.gun_revolver_ammo, 10 + rand.nextInt(11)));
if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.gun_revolver_iron_ammo, 12 + rand.nextInt(15)));
if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_50bmg, 2 + rand.nextInt(7)));
if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_rocket, 1));
if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_grenade, 1 + rand.nextInt(2)));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_12gauge_incendiary, 3));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_20gauge_incendiary, 3));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_20gauge_caustic, 3));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_20gauge_flechette, 3));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_9mm_ap, 7));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_rocket_incendiary, 1));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_rocket_sleek, 1));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_grenade_he, 1));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_grenade_incendiary, 1));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_grenade_sleek, 1));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.syringe_metal_super, 2));
return ret;
}
@Override
public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int metadata, int fortune) {
ArrayList<ItemStack> ret = new ArrayList<ItemStack>();
ret.add(new ItemStack(ModItems.cap_nuka, 12 + rand.nextInt(21)));
ret.add(new ItemStack(ModItems.syringe_metal_stimpak, 1 + rand.nextInt(3)));
if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_22lr, 16 + rand.nextInt(17)));
if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_9mm, 6 + rand.nextInt(13)));
if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_12gauge, 6 + rand.nextInt(4)));
if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_20gauge, 3 + rand.nextInt(4)));
if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_357, 10 + rand.nextInt(11)));
if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_357, 12 + rand.nextInt(15), Ammo357Magnum.IRON.ordinal()));
if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_50bmg, 2 + rand.nextInt(7)));
if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_rocket, 1));
if(rand.nextBoolean()) ret.add(new ItemStack(ModItems.ammo_grenade, 1 + rand.nextInt(2)));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_12gauge, 3, Ammo12Gauge.INCENDIARY.ordinal()));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_20gauge, 3, Ammo20Gauge.INCENDIARY.ordinal()));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_20gauge, 3, Ammo20Gauge.CAUSTIC.ordinal()));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_20gauge, 3, Ammo20Gauge.FLECHETTE.ordinal()));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_9mm, 7, Ammo9mm.AP.ordinal()));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_rocket, 1, AmmoRocket.INCENDIARY.ordinal()));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_rocket, 1, AmmoRocket.SLEEK.ordinal()));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_grenade, 1, AmmoGrenade.HE.ordinal()));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_grenade, 1, AmmoGrenade.INCENDIARY.ordinal()));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.ammo_grenade, 1, AmmoGrenade.SLEEK.ordinal()));
if(rand.nextInt(10) == 0) ret.add(new ItemStack(ModItems.syringe_metal_super, 2));
return ret;
}
}

View File

@ -5,6 +5,7 @@ import java.util.List;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import com.hbm.items.ItemAmmoEnums.Ammo44Magnum;
import com.hbm.items.ModItems;
import net.minecraft.block.BlockFalling;
@ -18,219 +19,219 @@ import net.minecraft.world.World;
public class BlockCrate extends BlockFalling {
List<Item> crateList;
List<Item> weaponList;
List<Item> leadList;
List<Item> metalList;
List<Item> redList;
List<ItemStack> crateList;
List<ItemStack> weaponList;
List<ItemStack> leadList;
List<ItemStack> metalList;
List<ItemStack> redList;
public BlockCrate(Material p_i45394_1_) {
super(p_i45394_1_);
}
@Override
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_)
{
return null;
}
@Override
public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) {
return null;
}
@Override
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int p_149727_6_, float p_149727_7_, float p_149727_8_, float p_149727_9_) {
if(player.getHeldItem() != null && player.getHeldItem().getItem().equals(ModItems.crowbar))
{
dropItems(world, x, y, z);
world.setBlockToAir(x, y, z);
world.playSoundEffect(x, y, z, "hbm:block.crateBreak", 0.5F, 1.0F);
return true;
} else {
if(world.isRemote)
{
if(player.getHeldItem() != null && player.getHeldItem().getItem().equals(ModItems.crowbar)) {
dropItems(world, x, y, z);
world.setBlockToAir(x, y, z);
world.playSoundEffect(x, y, z, "hbm:block.crateBreak", 0.5F, 1.0F);
return true;
} else {
if(world.isRemote) {
player.addChatMessage(new ChatComponentText("I'll need a crate opening device to get the loot, smashing the whole thing won't work..."));
}
}
return true;
}
public void setDrops() {
}
crateList = new ArrayList<Item>();
weaponList = new ArrayList<Item>();
leadList = new ArrayList<Item>();
metalList = new ArrayList<Item>();
redList = new ArrayList<Item>();
return true;
}
//Supply Crate
BlockCrate.addToListWithWeight(crateList, ModItems.syringe_metal_stimpak, 10);
BlockCrate.addToListWithWeight(crateList, ModItems.syringe_antidote, 5);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_iron, 9);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver, 7);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_gold, 4);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_lead, 6);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_cursed, 5);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_rpg, 5);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_fatman, 1);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_mp40, 7);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_uzi, 7);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_uboinik, 7);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_lever_action, 5);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_bolt_action, 5);
BlockCrate.addToListWithWeight(crateList, ModItems.grenade_generic, 8);
BlockCrate.addToListWithWeight(crateList, ModItems.grenade_strong, 6);
BlockCrate.addToListWithWeight(crateList, ModItems.grenade_mk2, 4);
BlockCrate.addToListWithWeight(crateList, ModItems.grenade_flare, 4);
BlockCrate.addToListWithWeight(crateList, ModItems.ammo_container, 2);
//Weapon Crate
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_iron, 10);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver, 9);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_gold, 7);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_lead, 8);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_cursed, 7);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_calamity, 3);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_rpg, 7);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_karl, 4);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_panzerschreck, 6);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_hk69, 8);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_stinger, 7);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_mp40, 9);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_uzi, 6);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_uzi_silencer, 5);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_uboinik, 8);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_lever_action, 7);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_bolt_action, 7);
//Lead Crate
BlockCrate.addToListWithWeight(leadList, ModItems.ingot_uranium, 10);
//BlockCrate.addToListWithWeight(leadList, ModItems.ingot_u235, 5);
BlockCrate.addToListWithWeight(leadList, ModItems.ingot_u238, 8);
BlockCrate.addToListWithWeight(leadList, ModItems.ingot_plutonium, 7);
//BlockCrate.addToListWithWeight(leadList, ModItems.ingot_pu238, 5);
//BlockCrate.addToListWithWeight(leadList, ModItems.ingot_pu239, 4);
BlockCrate.addToListWithWeight(leadList, ModItems.ingot_pu240, 6);
BlockCrate.addToListWithWeight(leadList, ModItems.ingot_neptunium, 7);
BlockCrate.addToListWithWeight(leadList, ModItems.ingot_uranium_fuel, 8);
BlockCrate.addToListWithWeight(leadList, ModItems.ingot_plutonium_fuel, 7);
BlockCrate.addToListWithWeight(leadList, ModItems.ingot_mox_fuel, 6);
BlockCrate.addToListWithWeight(leadList, ModItems.nugget_uranium, 10);
//BlockCrate.addToListWithWeight(leadList, ModItems.nugget_u235, 5);
BlockCrate.addToListWithWeight(leadList, ModItems.nugget_u238, 8);
BlockCrate.addToListWithWeight(leadList, ModItems.nugget_plutonium, 7);
//BlockCrate.addToListWithWeight(leadList, ModItems.nugget_pu238, 5);
//BlockCrate.addToListWithWeight(leadList, ModItems.nugget_pu239, 4);
BlockCrate.addToListWithWeight(leadList, ModItems.nugget_pu240, 6);
BlockCrate.addToListWithWeight(leadList, ModItems.nugget_neptunium, 7);
BlockCrate.addToListWithWeight(leadList, ModItems.nugget_uranium_fuel, 8);
BlockCrate.addToListWithWeight(leadList, ModItems.nugget_plutonium_fuel, 7);
BlockCrate.addToListWithWeight(leadList, ModItems.nugget_mox_fuel, 6);
BlockCrate.addToListWithWeight(leadList, ModItems.cell_deuterium, 8);
BlockCrate.addToListWithWeight(leadList, ModItems.cell_tritium, 8);
BlockCrate.addToListWithWeight(leadList, ModItems.cell_uf6, 8);
BlockCrate.addToListWithWeight(leadList, ModItems.cell_puf6, 8);
BlockCrate.addToListWithWeight(leadList, ModItems.pellet_rtg, 6);
BlockCrate.addToListWithWeight(leadList, ModItems.pellet_rtg_weak, 7);
BlockCrate.addToListWithWeight(leadList, ModItems.tritium_deuterium_cake, 5);
BlockCrate.addToListWithWeight(leadList, ModItems.powder_yellowcake, 10);
//Metal Crate
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_press), 10);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 9);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_reactor_breeding), 6);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off), 7);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_coal_off), 10);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_diesel), 8);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_selenium), 7);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_rtg_grey), 4);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.red_pylon), 9);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_battery), 8);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_lithium_battery), 5);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off), 8);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_assembler), 10);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_fluidtank), 7);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_drill), 4);
BlockCrate.addToListWithWeight(metalList, ModItems.centrifuge_element, 6);
BlockCrate.addToListWithWeight(metalList, ModItems.motor, 8);
BlockCrate.addToListWithWeight(metalList, ModItems.coil_tungsten, 7);
BlockCrate.addToListWithWeight(metalList, ModItems.photo_panel, 3);
BlockCrate.addToListWithWeight(metalList, ModItems.coil_copper, 10);
BlockCrate.addToListWithWeight(metalList, ModItems.tank_steel, 9);
BlockCrate.addToListWithWeight(metalList, ModItems.blade_titanium, 3);
BlockCrate.addToListWithWeight(metalList, ModItems.bolt_compound, 2);
BlockCrate.addToListWithWeight(metalList, ModItems.piston_selenium, 6);
//Red Crate
BlockCrate.addToListWithWeight(redList, ModItems.mysteryshovel, 1);
BlockCrate.addToListWithWeight(redList, ModItems.gun_revolver_pip, 1);
BlockCrate.addToListWithWeight(redList, ModItems.gun_revolver_blackjack, 1);
BlockCrate.addToListWithWeight(redList, ModItems.gun_revolver_silver, 1);
BlockCrate.addToListWithWeight(redList, ModItems.ammo_44_pip, 1);
BlockCrate.addToListWithWeight(redList, ModItems.ammo_44_bj, 1);
BlockCrate.addToListWithWeight(redList, ModItems.ammo_44_silver, 1);
BlockCrate.addToListWithWeight(redList, ModItems.battery_spark, 1);
BlockCrate.addToListWithWeight(redList, ModItems.bottle_sparkle, 1);
BlockCrate.addToListWithWeight(redList, ModItems.bottle_rad, 1);
BlockCrate.addToListWithWeight(redList, ModItems.ring_starmetal, 1);
BlockCrate.addToListWithWeight(redList, ModItems.flame_pony, 1);
BlockCrate.addToListWithWeight(redList, Item.getItemFromBlock(ModBlocks.ntm_dirt), 1);
BlockCrate.addToListWithWeight(redList, Item.getItemFromBlock(ModBlocks.broadcaster_pc), 1);
}
public void dropItems(World world, int x, int y, int z) {
Random rand = new Random();
setDrops();
public void setDrops() {
List<Item> list = new ArrayList<Item>();
int i = rand.nextInt(3) + 3;
if(this == ModBlocks.crate_weapon) {
i = 1 + rand.nextInt(2);
if(rand.nextInt(100) == 34)
i = 25;
}
for(int j = 0; j < i; j++) {
crateList = new ArrayList();
weaponList = new ArrayList();
leadList = new ArrayList();
metalList = new ArrayList();
redList = new ArrayList();
if(this == ModBlocks.crate)
list.add(crateList.get(rand.nextInt(crateList.size())));
if(this == ModBlocks.crate_weapon)
list.add(weaponList.get(rand.nextInt(weaponList.size())));
if(this == ModBlocks.crate_lead)
list.add(leadList.get(rand.nextInt(leadList.size())));
if(this == ModBlocks.crate_metal)
list.add(metalList.get(rand.nextInt(metalList.size())));
if(this == ModBlocks.crate_red)
list.add(redList.get(rand.nextInt(redList.size())));
}
if(this == ModBlocks.crate_red) {
list.clear();
for(int k = 0; k < redList.size(); k++) {
list.add(redList.get(k));
}
}
for(Item stack : list) {
float f = rand.nextFloat() * 0.8F + 0.1F;
float f1 = rand.nextFloat() * 0.8F + 0.1F;
float f2 = rand.nextFloat() * 0.8F + 0.1F;
EntityItem entityitem = new EntityItem(world, x + f, y + f1, z + f2, new ItemStack(stack));
// Supply Crate
BlockCrate.addToListWithWeight(crateList, ModItems.syringe_metal_stimpak, 10);
BlockCrate.addToListWithWeight(crateList, ModItems.syringe_antidote, 5);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_iron, 9);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver, 7);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_gold, 4);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_lead, 6);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_revolver_cursed, 5);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_rpg, 5);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_fatman, 1);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_mp40, 7);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_uzi, 7);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_uboinik, 7);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_lever_action, 5);
BlockCrate.addToListWithWeight(crateList, ModItems.clip_bolt_action, 5);
BlockCrate.addToListWithWeight(crateList, ModItems.grenade_generic, 8);
BlockCrate.addToListWithWeight(crateList, ModItems.grenade_strong, 6);
BlockCrate.addToListWithWeight(crateList, ModItems.grenade_mk2, 4);
BlockCrate.addToListWithWeight(crateList, ModItems.grenade_flare, 4);
BlockCrate.addToListWithWeight(crateList, ModItems.ammo_container, 2);
float f3 = 0.05F;
entityitem.motionX = (float)rand.nextGaussian() * f3;
entityitem.motionY = (float)rand.nextGaussian() * f3 + 0.2F;
entityitem.motionZ = (float)rand.nextGaussian() * f3;
if(!world.isRemote)
world.spawnEntityInWorld(entityitem);
}
}
public static void addToListWithWeight(List<Item> list, Item item, int weight) {
for(int i = 0; i < weight; i++)
list.add(item);
}
// Weapon Crate
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_iron, 10);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver, 9);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_gold, 7);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_lead, 8);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_revolver_cursed, 7);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_calamity, 3);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_rpg, 7);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_karl, 4);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_panzerschreck, 6);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_hk69, 8);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_stinger, 7);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_mp40, 9);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_uzi, 6);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_uzi_silencer, 5);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_uboinik, 8);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_lever_action, 7);
BlockCrate.addToListWithWeight(weaponList, ModItems.gun_bolt_action, 7);
// Lead Crate
BlockCrate.addToListWithWeight(leadList, ModItems.ingot_uranium, 10);
// BlockCrate.addToListWithWeight(leadList, ModItems.ingot_u235, 5);
BlockCrate.addToListWithWeight(leadList, ModItems.ingot_u238, 8);
BlockCrate.addToListWithWeight(leadList, ModItems.ingot_plutonium, 7);
// BlockCrate.addToListWithWeight(leadList, ModItems.ingot_pu238, 5);
// BlockCrate.addToListWithWeight(leadList, ModItems.ingot_pu239, 4);
BlockCrate.addToListWithWeight(leadList, ModItems.ingot_pu240, 6);
BlockCrate.addToListWithWeight(leadList, ModItems.ingot_neptunium, 7);
BlockCrate.addToListWithWeight(leadList, ModItems.ingot_uranium_fuel, 8);
BlockCrate.addToListWithWeight(leadList, ModItems.ingot_plutonium_fuel, 7);
BlockCrate.addToListWithWeight(leadList, ModItems.ingot_mox_fuel, 6);
BlockCrate.addToListWithWeight(leadList, ModItems.nugget_uranium, 10);
// BlockCrate.addToListWithWeight(leadList, ModItems.nugget_u235, 5);
BlockCrate.addToListWithWeight(leadList, ModItems.nugget_u238, 8);
BlockCrate.addToListWithWeight(leadList, ModItems.nugget_plutonium, 7);
// BlockCrate.addToListWithWeight(leadList, ModItems.nugget_pu238, 5);
// BlockCrate.addToListWithWeight(leadList, ModItems.nugget_pu239, 4);
BlockCrate.addToListWithWeight(leadList, ModItems.nugget_pu240, 6);
BlockCrate.addToListWithWeight(leadList, ModItems.nugget_neptunium, 7);
BlockCrate.addToListWithWeight(leadList, ModItems.nugget_uranium_fuel, 8);
BlockCrate.addToListWithWeight(leadList, ModItems.nugget_plutonium_fuel, 7);
BlockCrate.addToListWithWeight(leadList, ModItems.nugget_mox_fuel, 6);
BlockCrate.addToListWithWeight(leadList, ModItems.cell_deuterium, 8);
BlockCrate.addToListWithWeight(leadList, ModItems.cell_tritium, 8);
BlockCrate.addToListWithWeight(leadList, ModItems.cell_uf6, 8);
BlockCrate.addToListWithWeight(leadList, ModItems.cell_puf6, 8);
BlockCrate.addToListWithWeight(leadList, ModItems.pellet_rtg, 6);
BlockCrate.addToListWithWeight(leadList, ModItems.pellet_rtg_weak, 7);
BlockCrate.addToListWithWeight(leadList, ModItems.tritium_deuterium_cake, 5);
BlockCrate.addToListWithWeight(leadList, ModItems.powder_yellowcake, 10);
// Metal Crate
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_press), 10);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_difurnace_off), 9);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_reactor_breeding), 6);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_nuke_furnace_off), 7);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_coal_off), 10);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_diesel), 8);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_selenium), 7);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_rtg_grey), 4);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.red_pylon), 9);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_battery), 8);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_lithium_battery), 5);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_electric_furnace_off), 8);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_assembler), 10);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_fluidtank), 7);
BlockCrate.addToListWithWeight(metalList, Item.getItemFromBlock(ModBlocks.machine_drill), 4);
BlockCrate.addToListWithWeight(metalList, ModItems.centrifuge_element, 6);
BlockCrate.addToListWithWeight(metalList, ModItems.motor, 8);
BlockCrate.addToListWithWeight(metalList, ModItems.coil_tungsten, 7);
BlockCrate.addToListWithWeight(metalList, ModItems.photo_panel, 3);
BlockCrate.addToListWithWeight(metalList, ModItems.coil_copper, 10);
BlockCrate.addToListWithWeight(metalList, ModItems.tank_steel, 9);
BlockCrate.addToListWithWeight(metalList, ModItems.blade_titanium, 3);
BlockCrate.addToListWithWeight(metalList, ModItems.bolt_compound, 2);
BlockCrate.addToListWithWeight(metalList, ModItems.piston_selenium, 6);
// Red Crate
BlockCrate.addToListWithWeight(redList, ModItems.mysteryshovel, 1);
BlockCrate.addToListWithWeight(redList, ModItems.gun_revolver_pip, 1);
BlockCrate.addToListWithWeight(redList, ModItems.gun_revolver_blackjack, 1);
BlockCrate.addToListWithWeight(redList, ModItems.gun_revolver_silver, 1);
BlockCrate.addToListWithWeight(redList, ModItems.ammo_44.stackFromEnum(Ammo44Magnum.PIP), 1);
BlockCrate.addToListWithWeight(redList, ModItems.ammo_44.stackFromEnum(Ammo44Magnum.BJ), 1);
BlockCrate.addToListWithWeight(redList, ModItems.ammo_44.stackFromEnum(Ammo44Magnum.SILVER), 1);
BlockCrate.addToListWithWeight(redList, ModItems.battery_spark, 1);
BlockCrate.addToListWithWeight(redList, ModItems.bottle_sparkle, 1);
BlockCrate.addToListWithWeight(redList, ModItems.bottle_rad, 1);
BlockCrate.addToListWithWeight(redList, ModItems.ring_starmetal, 1);
BlockCrate.addToListWithWeight(redList, ModItems.flame_pony, 1);
BlockCrate.addToListWithWeight(redList, Item.getItemFromBlock(ModBlocks.ntm_dirt), 1);
BlockCrate.addToListWithWeight(redList, Item.getItemFromBlock(ModBlocks.broadcaster_pc), 1);
}
public void dropItems(World world, int x, int y, int z) {
Random rand = new Random();
setDrops();
List<ItemStack> list = new ArrayList();
int i = rand.nextInt(3) + 3;
if(this == ModBlocks.crate_weapon) {
i = 1 + rand.nextInt(2);
if(rand.nextInt(100) == 34)
i = 25;
}
for(int j = 0; j < i; j++) {
if(this == ModBlocks.crate)
list.add(crateList.get(rand.nextInt(crateList.size())));
if(this == ModBlocks.crate_weapon)
list.add(weaponList.get(rand.nextInt(weaponList.size())));
if(this == ModBlocks.crate_lead)
list.add(leadList.get(rand.nextInt(leadList.size())));
if(this == ModBlocks.crate_metal)
list.add(metalList.get(rand.nextInt(metalList.size())));
if(this == ModBlocks.crate_red)
list.add(redList.get(rand.nextInt(redList.size())));
}
if(this == ModBlocks.crate_red) {
list.clear();
for(int k = 0; k < redList.size(); k++) {
list.add(redList.get(k));
}
}
for(ItemStack stack : list) {
float f = rand.nextFloat() * 0.8F + 0.1F;
float f1 = rand.nextFloat() * 0.8F + 0.1F;
float f2 = rand.nextFloat() * 0.8F + 0.1F;
EntityItem entityitem = new EntityItem(world, x + f, y + f1, z + f2, stack.copy());
float f3 = 0.05F;
entityitem.motionX = (float) rand.nextGaussian() * f3;
entityitem.motionY = (float) rand.nextGaussian() * f3 + 0.2F;
entityitem.motionZ = (float) rand.nextGaussian() * f3;
if(!world.isRemote)
world.spawnEntityInWorld(entityitem);
}
}
public static void addToListWithWeight(List<ItemStack> list, Item item, int weight) {
for(int i = 0; i < weight; i++) list.add(new ItemStack(item));
}
public static void addToListWithWeight(List<ItemStack> list, ItemStack item, int weight) {
for(int i = 0; i < weight; i++) list.add(item);
}
}

View File

@ -140,10 +140,8 @@ public class BlockOre extends Block {
return ModItems.rtg_unit;
case 30:
return ModItems.gun_spark_ammo;
case 31:
return ModItems.ammo_nuke_low;
case 32:
return ModItems.ammo_mirv;
case 31: case 32:
return ModItems.ammo_nuke;
case 33:
return ModItems.gun_defabricator_ammo;
case 34:

View File

@ -10,10 +10,12 @@ import com.hbm.interfaces.IBulletImpactBehavior;
import com.hbm.interfaces.IBulletRicochetBehavior;
import com.hbm.interfaces.IBulletUpdateBehavior;
import com.hbm.interfaces.Untested;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.lib.ModDamageSource;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EntityDamageSourceIndirect;
@ -22,7 +24,7 @@ import net.minecraft.util.EnumChatFormatting;
public class BulletConfiguration {
//what item this specific configuration consumes
public Item ammo;
public ComparableStack ammo;
//how many ammo units one item restores
public int ammoCount = 1;
//how fast the bullet is (in sanics per second, or sps)
@ -173,9 +175,7 @@ public class BulletConfiguration {
return this;
}
public BulletConfiguration setToHoming(Item ammo) {
this.ammo = ammo;
public BulletConfiguration getChlorophyte() {
this.bUpdate = BulletConfigFactory.getHomingBehavior(200, 45);
this.dmgMin *= 1.5F;
this.dmgMax *= 1.5F;
@ -186,6 +186,11 @@ public class BulletConfiguration {
return this;
}
public BulletConfiguration setToHoming(ItemStack ammo) {
this.ammo = new ComparableStack(ammo);
return getChlorophyte();
}
public BulletConfiguration accuracyMod(float mod) {
this.spread *= mod;

View File

@ -26,6 +26,7 @@ import com.hbm.inventory.RecipesCommon.AStack;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.items.ItemAmmoEnums;
import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemAssemblyTemplate;
import com.hbm.items.machine.ItemDrillbit.EnumDrillType;
@ -612,7 +613,7 @@ public class AssemblerRecipes {
new OreDictStack(ASBESTOS.ingot(), 8)
}, 200);
makeRecipe(new ComparableStack(ModItems.ammo_75bolt, 2), new AStack[] {
makeRecipe(new ComparableStack(ModItems.ammo_75bolt, 2, ItemAmmoEnums.Ammo75Bolt.STOCK.ordinal()), new AStack[] {
new OreDictStack(STEEL.plate(), 2),
new OreDictStack(CU.plate(), 1),
new ComparableStack(ModItems.primer_50, 5),
@ -622,7 +623,7 @@ public class AssemblerRecipes {
new OreDictStack(U238.ingot(), 1)
}, 60);
makeRecipe(new ComparableStack(ModItems.ammo_75bolt_incendiary, 2), new AStack[] {
makeRecipe(new ComparableStack(ModItems.ammo_75bolt, 2, ItemAmmoEnums.Ammo75Bolt.INCENDIARY.ordinal()), new AStack[] {
new OreDictStack(STEEL.plate(), 2),
new OreDictStack(CU.plate(), 1),
new ComparableStack(ModItems.primer_50, 5),
@ -632,7 +633,7 @@ public class AssemblerRecipes {
new OreDictStack(P_WHITE.ingot(), 3)
}, 60);
makeRecipe(new ComparableStack(ModItems.ammo_75bolt_he, 2), new AStack[] {
makeRecipe(new ComparableStack(ModItems.ammo_75bolt, 2, ItemAmmoEnums.Ammo75Bolt.HE.ordinal()), new AStack[] {
new OreDictStack(STEEL.plate(), 2),
new OreDictStack(CU.plate(), 1),
new ComparableStack(ModItems.primer_50, 5),

View File

@ -8,6 +8,7 @@ import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.RecipesCommon.AStack;
import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.items.ItemAmmoEnums;
import com.hbm.items.ModItems;
import net.minecraft.init.Items;
@ -44,17 +45,17 @@ public class MagicRecipes {
recipes.add(new MagicRecipe(new ItemStack(ModItems.mysteryshovel), new ComparableStack(Items.iron_shovel), new ComparableStack(Items.bone), new ComparableStack(ModItems.ingot_starmetal), new ComparableStack(ModItems.ducttape)));
recipes.add(new MagicRecipe(new ItemStack(ModItems.ingot_electronium), new ComparableStack(ModItems.pellet_charged), new ComparableStack(ModItems.pellet_charged), new ComparableStack(ModItems.ingot_dineutronium), new ComparableStack(ModItems.ingot_dineutronium)));
recipes.add(new MagicRecipe(new ItemStack(ModItems.ammo_44_pip),
recipes.add(new MagicRecipe(new ItemStack(ModItems.ammo_44, 1, ItemAmmoEnums.Ammo44Magnum.PIP.ordinal()),
new ComparableStack(ModItems.ammo_44),
new ComparableStack(ModItems.powder_magic),
new ComparableStack(ModItems.powder_magic),
new ComparableStack(ModItems.powder_magic)));
recipes.add(new MagicRecipe(new ItemStack(ModItems.ammo_44_bj),
recipes.add(new MagicRecipe(new ItemStack(ModItems.ammo_44, 1, ItemAmmoEnums.Ammo44Magnum.BJ.ordinal()),
new ComparableStack(ModItems.ammo_44),
new ComparableStack(ModItems.powder_magic),
new ComparableStack(ModItems.powder_magic),
new ComparableStack(ModItems.powder_desh)));
recipes.add(new MagicRecipe(new ItemStack(ModItems.ammo_44_silver),
recipes.add(new MagicRecipe(new ItemStack(ModItems.ammo_44, 1, ItemAmmoEnums.Ammo44Magnum.SILVER.ordinal()),
new ComparableStack(ModItems.ammo_44),
new ComparableStack(ModItems.powder_magic),
new ComparableStack(ModItems.powder_magic),
@ -90,7 +91,7 @@ public class MagicRecipes {
new ComparableStack(ModItems.ingot_polymer),
new OreDictStack("plateGold")));
recipes.add(new MagicRecipe(new ItemStack(ModItems.ammo_dart_nuclear, 4),
recipes.add(new MagicRecipe(new ItemStack(ModItems.ammo_dart, 4, ItemAmmoEnums.AmmoDart.NUCLEAR.ordinal()),
new ComparableStack(ModItems.plate_polymer),
new ComparableStack(ModItems.nugget_pu239),
new ComparableStack(ModItems.circuit_aluminium)));

View File

@ -8,6 +8,10 @@ import com.hbm.inventory.RecipesCommon.AStack;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.items.ItemEnums.EnumBriquetteType;
import com.hbm.items.ItemAmmoEnums;
import com.hbm.items.ItemAmmoEnums.Ammo357Magnum;
import com.hbm.items.ItemAmmoEnums.Ammo556mm;
import com.hbm.items.ItemAmmoEnums.AmmoLunaticSniper;
import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemStamp;
import com.hbm.items.machine.ItemStamp.StampType;
@ -76,30 +80,33 @@ public class PressRecipes {
makeRecipe(StampType.WIRE, new OreDictStack(ALLOY.ingot()), new ItemStack(ModItems.wire_advanced_alloy, 8));
makeRecipe(StampType.WIRE, new OreDictStack(MAGTUNG.ingot()), new ItemStack(ModItems.wire_magnetized_tungsten, 8));
makeRecipe(StampType.CIRCUIT, new ComparableStack(ModItems.circuit_raw), ModItems.circuit_aluminium);
makeRecipe(StampType.CIRCUIT, new ComparableStack(ModItems.circuit_bismuth_raw), ModItems.circuit_bismuth);
makeRecipe(StampType.CIRCUIT, new ComparableStack(ModItems.circuit_arsenic_raw), ModItems.circuit_arsenic);
makeRecipe(StampType.CIRCUIT, new ComparableStack(ModItems.circuit_raw), ModItems.circuit_aluminium);
makeRecipe(StampType.CIRCUIT, new ComparableStack(ModItems.circuit_bismuth_raw), ModItems.circuit_bismuth);
makeRecipe(StampType.CIRCUIT, new ComparableStack(ModItems.circuit_arsenic_raw), ModItems.circuit_arsenic);
makeRecipe(StampType.CIRCUIT, new ComparableStack(ModItems.circuit_tantalium_raw), ModItems.circuit_tantalium);
makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_iron), ModItems.gun_revolver_iron_ammo);
makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_steel), ModItems.gun_revolver_ammo);
makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_lead), ModItems.gun_revolver_lead_ammo);
makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_gold), ModItems.gun_revolver_gold_ammo);
makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_schrabidium), ModItems.gun_revolver_schrabidium_ammo);
makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_nightmare), ModItems.gun_revolver_nightmare_ammo);
makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_desh), ModItems.ammo_357_desh);
makeRecipe(StampType.C357, new OreDictStack(STEEL.ingot()), ModItems.gun_revolver_cursed_ammo);
makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_iron), ModItems.ammo_357.stackFromEnum(Ammo357Magnum.IRON));
makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_steel), ModItems.ammo_357.stackFromEnum(Ammo357Magnum.LEAD));
makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_lead), ModItems.ammo_357.stackFromEnum(Ammo357Magnum.NUCLEAR));
makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_gold), ModItems.ammo_357.stackFromEnum(Ammo357Magnum.GOLD));
makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_schrabidium), ModItems.ammo_357.stackFromEnum(Ammo357Magnum.SCHRABIDIUM));
makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_nightmare), ModItems.ammo_357.stackFromEnum(Ammo357Magnum.NIGHTMARE1));
makeRecipe(StampType.C357, new ComparableStack(ModItems.assembly_desh), ModItems.ammo_357.stackFromEnum(Ammo357Magnum.DESH));
makeRecipe(StampType.C357, new OreDictStack(STEEL.ingot()), ModItems.ammo_357.stackFromEnum(24, Ammo357Magnum.STEEL));
makeRecipe(StampType.C44, new ComparableStack(ModItems.assembly_nopip), ModItems.ammo_44);
makeRecipe(StampType.C44, new ComparableStack(ModItems.assembly_nopip), ModItems.ammo_44);
makeRecipe(StampType.C44, new ComparableStack(ModItems.assembly_45), ModItems.ammo_45);
makeRecipe(StampType.C9, new ComparableStack(ModItems.assembly_smg), ModItems.ammo_9mm);
makeRecipe(StampType.C9, new ComparableStack(ModItems.assembly_uzi), ModItems.ammo_22lr);
makeRecipe(StampType.C9, new OreDictStack(GOLD.ingot()), ModItems.ammo_566_gold);
makeRecipe(StampType.C9, new OreDictStack(GOLD.ingot()), ModItems.ammo_556.stackFromEnum(32, Ammo556mm.GOLD));
makeRecipe(StampType.C9, new ComparableStack(ModItems.assembly_lacunae), ModItems.ammo_5mm);
makeRecipe(StampType.C9, new ComparableStack(ModItems.assembly_556), ModItems.ammo_556);
makeRecipe(StampType.C50, new ComparableStack(ModItems.assembly_calamity), ModItems.ammo_50bmg);
makeRecipe(StampType.C50, new ComparableStack(ModItems.assembly_actionexpress), ModItems.ammo_50ae);
makeRecipe(StampType.C50, new ComparableStack(ModItems.assembly_luna_sniper), ModItems.ammo_luna_sniper.stackFromEnum(AmmoLunaticSniper.SABOT));
makeRecipe(StampType.C50, new ComparableStack(ModItems.assembly_308), ModItems.ammo_308);
}
public static void makeRecipe(StampType type, AStack in, Item out) {

View File

@ -11,6 +11,7 @@ import com.hbm.inventory.RecipesCommon.AStack;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.inventory.recipes.AssemblerRecipes;
import com.hbm.items.ItemAmmoEnums.*;
import com.hbm.items.ModItems;
import com.hbm.items.food.ItemFlask.EnumInfusion;
@ -499,75 +500,83 @@ public class AnvilRecipes {
constructionRecipes.add(new AnvilConstructionRecipe(new AStack[] {new OreDictStack(IRON.plate()), new ComparableStack(Items.redstone)}, new AnvilOutput(new ItemStack(ModItems.primer_buckshot))).setTier(1));
Object[][] recs = new Object[][] {
{ModItems.ammo_12gauge, P_RED.dust(), ModItems.ammo_12gauge_incendiary, 20, 2},
{ModItems.ammo_12gauge, Item.getItemFromBlock(ModBlocks.gravel_obsidian), ModItems.ammo_12gauge_shrapnel, 20, 2},
{ModItems.ammo_12gauge, U238.ingot(), ModItems.ammo_12gauge_du, 20, 3},
{ModItems.ammo_12gauge, ModItems.coin_maskman, ModItems.ammo_12gauge_sleek, 100, 4},
{ModItems.ammo_20gauge, P_RED.dust(), ModItems.ammo_20gauge_incendiary, 20, 2},
{ModItems.ammo_20gauge, Item.getItemFromBlock(ModBlocks.gravel_obsidian), ModItems.ammo_20gauge_shrapnel, 20, 2},
{ModItems.ammo_20gauge, ModItems.powder_poison, ModItems.ammo_20gauge_caustic, 20, 2},
{ModItems.ammo_20gauge, DIAMOND.dust(), ModItems.ammo_20gauge_shock, 20, 2},
{ModItems.ammo_20gauge, Item.getItemFromBlock(Blocks.soul_sand), ModItems.ammo_20gauge_wither, 10, 3},
{ModItems.ammo_20gauge, ModItems.coin_maskman, ModItems.ammo_20gauge_sleek, 100, 4},
{ModItems.ammo_12gauge.stackFromEnum(20, Ammo12Gauge.STOCK), P_RED.dust(), ModItems.ammo_12gauge.stackFromEnum(20, Ammo12Gauge.INCENDIARY), 2},
{ModItems.ammo_12gauge.stackFromEnum(20, Ammo12Gauge.STOCK), Item.getItemFromBlock(ModBlocks.gravel_obsidian), ModItems.ammo_12gauge.stackFromEnum(20, Ammo12Gauge.SHRAPNEL), 2},
{ModItems.ammo_12gauge.stackFromEnum(20, Ammo12Gauge.STOCK), U238.ingot(), ModItems.ammo_12gauge.stackFromEnum(20, Ammo12Gauge.DU), 3},
{ModItems.ammo_12gauge.stackFromEnum(100, Ammo12Gauge.STOCK), ModItems.coin_maskman, ModItems.ammo_12gauge.stackFromEnum(100, Ammo12Gauge.SLEEK), 4},
{ModItems.ammo_4gauge_flechette, P_WHITE.ingot(), ModItems.ammo_4gauge_flechette_phosphorus, 20, 2},
{ModItems.ammo_4gauge_explosive, ModItems.egg_balefire_shard, ModItems.ammo_4gauge_balefire, 10, 4},
{ModItems.ammo_4gauge_explosive, ModItems.ammo_rocket, ModItems.ammo_4gauge_kampf, 4, 2},
{ModItems.ammo_4gauge_kampf, ModItems.pellet_canister, ModItems.ammo_4gauge_canister, 10, 3},
{ModItems.ammo_4gauge, ModItems.pellet_claws, ModItems.ammo_4gauge_claw, 4, 5},
{ModItems.ammo_4gauge, ModItems.toothpicks, ModItems.ammo_4gauge_vampire, 4, 5},
{ModItems.ammo_4gauge, ModItems.pellet_charged, ModItems.ammo_4gauge_void, 1, 5},
{ModItems.ammo_4gauge, ModItems.coin_maskman, ModItems.ammo_4gauge_sleek, 100, 4},
{ModItems.ammo_20gauge.stackFromEnum(20, Ammo20Gauge.STOCK), P_RED.dust(), ModItems.ammo_20gauge.stackFromEnum(20, Ammo20Gauge.INCENDIARY), 2},
{ModItems.ammo_20gauge.stackFromEnum(20, Ammo20Gauge.STOCK), Item.getItemFromBlock(ModBlocks.gravel_obsidian), ModItems.ammo_20gauge.stackFromEnum(20, Ammo20Gauge.SHRAPNEL), 2},
{ModItems.ammo_20gauge.stackFromEnum(20, Ammo20Gauge.STOCK), ModItems.powder_poison, ModItems.ammo_20gauge.stackFromEnum(20, Ammo20Gauge.CAUSTIC), 2},
{ModItems.ammo_20gauge.stackFromEnum(20, Ammo20Gauge.STOCK), DIAMOND.dust(), ModItems.ammo_20gauge.stackFromEnum(20, Ammo20Gauge.SHOCK), 2},
{ModItems.ammo_20gauge.stackFromEnum(10, Ammo20Gauge.STOCK), Item.getItemFromBlock(Blocks.soul_sand), ModItems.ammo_20gauge.stackFromEnum(10, Ammo20Gauge.WITHER), 3},
{ModItems.ammo_20gauge.stackFromEnum(100, Ammo20Gauge.STOCK), ModItems.coin_maskman, ModItems.ammo_20gauge.stackFromEnum(100, Ammo20Gauge.SLEEK), 4},
{ModItems.ammo_44, DURA.ingot(), ModItems.ammo_44_ap, 20, 2},
{ModItems.ammo_44, U238.ingot(), ModItems.ammo_44_du, 20, 2},
{ModItems.ammo_44, P_WHITE.ingot(), ModItems.ammo_44_phosphorus, 20, 2},
{ModItems.ammo_44_du, STAR.ingot(), ModItems.ammo_44_star, 10, 3},
{ModItems.ammo_44, ModItems.pellet_chlorophyte, ModItems.ammo_44_chlorophyte, 10, 3},
{ModItems.ammo_4gauge.stackFromEnum(20, Ammo4Gauge.FLECHETTE), P_WHITE.ingot(), ModItems.ammo_4gauge.stackFromEnum(20, Ammo4Gauge.FLECHETTE_PHOSPHORUS), 2},
{ModItems.ammo_4gauge.stackFromEnum(10, Ammo4Gauge.EXPLOSIVE), ModItems.egg_balefire_shard, ModItems.ammo_4gauge.stackFromEnum(10, Ammo4Gauge.BALEFIRE), 4},
{ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.EXPLOSIVE), ModItems.ammo_rocket, ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.KAMPF), 2},
{ModItems.ammo_4gauge.stackFromEnum(10, Ammo4Gauge.KAMPF), ModItems.pellet_canister, ModItems.ammo_4gauge.stackFromEnum(10, Ammo4Gauge.CANISTER), 3},
{ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.STOCK), ModItems.pellet_claws, ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.CLAW), 5},
{ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.STOCK), ModItems.toothpicks, ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.VAMPIRE), 5},
{ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.STOCK), ModItems.pellet_charged, ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.VOID), 5},
{ModItems.ammo_4gauge.stackFromEnum(100, Ammo4Gauge.STOCK), ModItems.coin_maskman, ModItems.ammo_4gauge.stackFromEnum(100, Ammo4Gauge.SLEEK), 4},
{ModItems.ammo_5mm, ANY_HIGHEXPLOSIVE.ingot(), ModItems.ammo_5mm_explosive, 20, 2},
{ModItems.ammo_5mm, U238.ingot(), ModItems.ammo_5mm_du, 20, 2},
{ModItems.ammo_5mm, STAR.ingot(), ModItems.ammo_5mm_star, 10, 3},
{ModItems.ammo_5mm, ModItems.pellet_chlorophyte, ModItems.ammo_5mm_chlorophyte, 10, 3},
{ModItems.ammo_44.stackFromEnum(20, Ammo44Magnum.STOCK), DURA.ingot(), ModItems.ammo_44.stackFromEnum(20, Ammo44Magnum.AP), 2},
{ModItems.ammo_44.stackFromEnum(20, Ammo44Magnum.STOCK), U238.ingot(), ModItems.ammo_44.stackFromEnum(20, Ammo44Magnum.DU), 2},
{ModItems.ammo_44.stackFromEnum(20, Ammo44Magnum.STOCK), P_WHITE.ingot(), ModItems.ammo_44.stackFromEnum(20, Ammo44Magnum.PHOSPHORUS), 2},
{ModItems.ammo_44.stackFromEnum(10, Ammo44Magnum.DU), STAR.ingot(), ModItems.ammo_44.stackFromEnum(10, Ammo44Magnum.STAR), 3},
{ModItems.ammo_44.stackFromEnum(10, Ammo44Magnum.STOCK), ModItems.pellet_chlorophyte, ModItems.ammo_44.stackFromEnum(10, Ammo44Magnum.CHLOROPHYTE), 3},
{ModItems.ammo_9mm, DURA.ingot(), ModItems.ammo_9mm_ap, 20, 2},
{ModItems.ammo_9mm, U238.ingot(), ModItems.ammo_9mm_du, 20, 2},
{ModItems.ammo_9mm, ModItems.pellet_chlorophyte, ModItems.ammo_9mm_chlorophyte, 10, 3},
{ModItems.ammo_22lr, DURA.ingot(), ModItems.ammo_22lr_ap, 20, 2},
{ModItems.ammo_22lr, ModItems.pellet_chlorophyte, ModItems.ammo_22lr_chlorophyte, 10, 3},
{ModItems.ammo_45.stackFromEnum(20, Ammo45ACP.STOCK), DURA.ingot(), ModItems.ammo_45.stackFromEnum(20, Ammo45ACP.AP), 3},
{ModItems.ammo_45.stackFromEnum(10, Ammo45ACP.DU), U238.ingot(), ModItems.ammo_45.stackFromEnum(10, Ammo45ACP.DU), 3},
{ModItems.ammo_50bmg, P_RED.dust(), ModItems.ammo_50bmg_incendiary, 20, 2},
{ModItems.ammo_50bmg, P_WHITE.ingot(), ModItems.ammo_50bmg_phosphorus, 20, 2},
{ModItems.ammo_50bmg, ANY_HIGHEXPLOSIVE.ingot(), ModItems.ammo_50bmg_explosive, 20, 2},
{ModItems.ammo_50bmg, DURA.ingot(), ModItems.ammo_50bmg_ap, 20, 2},
{ModItems.ammo_50bmg, U238.ingot(), ModItems.ammo_50bmg_du, 20, 2},
{ModItems.ammo_50bmg_du, STAR.ingot(), ModItems.ammo_50bmg_star, 10, 3},
{ModItems.ammo_50bmg, ModItems.pellet_chlorophyte, ModItems.ammo_50bmg_chlorophyte, 10, 3},
{ModItems.ammo_50bmg, ModItems.coin_maskman, ModItems.ammo_50bmg_sleek, 100, 4},
{ModItems.ammo_50bmg, ModItems.pellet_flechette, ModItems.ammo_50bmg_flechette, 20, 2},
{ModItems.ammo_50bmg_flechette, ModItems.nugget_am_mix, ModItems.ammo_50bmg_flechette_am, 10, 3},
{ModItems.ammo_50bmg_flechette, ModItems.powder_polonium, ModItems.ammo_50bmg_flechette_po, 20, 3},
{ModItems.ammo_5mm.stackFromEnum(20, Ammo5mm.STOCK), ModItems.ingot_semtex, ModItems.ammo_5mm.stackFromEnum(20, Ammo5mm.EXPLOSIVE), 2},
{ModItems.ammo_5mm.stackFromEnum(20, Ammo5mm.STOCK), U238.ingot(), ModItems.ammo_5mm.stackFromEnum(20, Ammo5mm.DU), 2},
{ModItems.ammo_5mm.stackFromEnum(10, Ammo5mm.STOCK), STAR.ingot(), ModItems.ammo_5mm.stackFromEnum(10, Ammo5mm.STAR), 3},
{ModItems.ammo_5mm.stackFromEnum(10, Ammo5mm.STOCK), ModItems.pellet_chlorophyte, ModItems.ammo_5mm.stackFromEnum(10, Ammo5mm.CHLOROPHYTE), 3},
{ModItems.ammo_50ae, DURA.ingot(), ModItems.ammo_50ae_ap, 20, 2},
{ModItems.ammo_50ae, U238.ingot(), ModItems.ammo_50ae_du, 20, 2},
{ModItems.ammo_50ae_du, STAR.ingot(), ModItems.ammo_50ae_star, 10, 3},
{ModItems.ammo_50ae, ModItems.pellet_chlorophyte, ModItems.ammo_50ae_chlorophyte, 10, 3},
{ModItems.ammo_9mm.stackFromEnum(20, Ammo9mm.STOCK), DURA.ingot(), ModItems.ammo_9mm.stackFromEnum(20, Ammo9mm.AP), 2},
{ModItems.ammo_9mm.stackFromEnum(20, Ammo9mm.STOCK), U238.ingot(), ModItems.ammo_9mm.stackFromEnum(20, Ammo9mm.DU), 2},
{ModItems.ammo_9mm.stackFromEnum(10, Ammo9mm.STOCK), ModItems.pellet_chlorophyte, ModItems.ammo_9mm.stackFromEnum(10, Ammo9mm.CHLOROPHYTE), 3},
{ModItems.ammo_556, P_WHITE.ingot(), ModItems.ammo_556_phosphorus, 20, 2},
{ModItems.ammo_556, DURA.ingot(), ModItems.ammo_556_ap, 20, 2},
{ModItems.ammo_556, U238.ingot(), ModItems.ammo_556_du, 20, 2},
{ModItems.ammo_556_du, STAR.ingot(), ModItems.ammo_556_star, 10, 3},
{ModItems.ammo_556, ModItems.pellet_chlorophyte, ModItems.ammo_556_chlorophyte, 10, 3},
{ModItems.ammo_556, ModItems.coin_maskman, ModItems.ammo_556_sleek, 100, 4},
{ModItems.ammo_556, Items.redstone, ModItems.ammo_556_tracer, 20, 2},
{ModItems.ammo_556, ModItems.pellet_flechette, ModItems.ammo_556_flechette, 20, 2},
{ModItems.ammo_556_flechette, P_RED.dust(), ModItems.ammo_556_flechette_incendiary, 20, 2},
{ModItems.ammo_556_flechette, P_WHITE.ingot(), ModItems.ammo_556_flechette_phosphorus, 20, 2},
{ModItems.ammo_556_flechette, U238.ingot(), ModItems.ammo_556_flechette_du, 20, 2},
{ModItems.ammo_556_flechette, ModItems.coin_maskman, ModItems.ammo_556_flechette_sleek, 100, 4},
{ModItems.ammo_556_flechette, ModItems.pellet_chlorophyte, ModItems.ammo_556_flechette_chlorophyte, 10, 3},
{ModItems.ammo_22lr.stackFromEnum(20, Ammo22LR.STOCK), DURA.ingot(), ModItems.ammo_22lr.stackFromEnum(20, Ammo22LR.AP), 2},
{ModItems.ammo_22lr.stackFromEnum(10, Ammo22LR.STOCK), ModItems.pellet_chlorophyte, ModItems.ammo_22lr.stackFromEnum(10, Ammo22LR.CHLOROPHYTE), 3},
{ModItems.ammo_50bmg.stackFromEnum(20, Ammo50BMG.STOCK), P_RED.dust(), ModItems.ammo_50bmg.stackFromEnum(20, Ammo50BMG.INCENDIARY), 2},
{ModItems.ammo_50bmg.stackFromEnum(20, Ammo50BMG.STOCK), P_WHITE.ingot(), ModItems.ammo_50bmg.stackFromEnum(20, Ammo50BMG.PHOSPHORUS), 2},
{ModItems.ammo_50bmg.stackFromEnum(20, Ammo50BMG.STOCK), ModItems.ingot_semtex, ModItems.ammo_50bmg.stackFromEnum(20, Ammo50BMG.EXPLOSIVE), 2},
{ModItems.ammo_50bmg.stackFromEnum(20, Ammo50BMG.STOCK), DURA.ingot(), ModItems.ammo_50bmg.stackFromEnum(20, Ammo50BMG.AP), 2},
{ModItems.ammo_50bmg.stackFromEnum(20, Ammo50BMG.STOCK), U238.ingot(), ModItems.ammo_50bmg.stackFromEnum(20, Ammo50BMG.DU), 2},
{ModItems.ammo_50bmg.stackFromEnum(10, Ammo50BMG.DU), STAR.ingot(), ModItems.ammo_50bmg.stackFromEnum(10, Ammo50BMG.STAR), 3},
{ModItems.ammo_50bmg.stackFromEnum(10, Ammo50BMG.STOCK), ModItems.pellet_chlorophyte, ModItems.ammo_50bmg.stackFromEnum(10, Ammo50BMG.CHLOROPHYTE), 3},
{ModItems.ammo_50bmg.stackFromEnum(100, Ammo50BMG.STOCK), ModItems.coin_maskman, ModItems.ammo_50bmg.stackFromEnum(100, Ammo50BMG.SLEEK), 4},
{ModItems.ammo_50bmg.stackFromEnum(20, Ammo50BMG.STOCK), ModItems.pellet_flechette, ModItems.ammo_50bmg.stackFromEnum(20, Ammo50BMG.FLECHETTE), 2},
{ModItems.ammo_50bmg.stackFromEnum(10, Ammo50BMG.FLECHETTE), ModItems.nugget_am_mix, ModItems.ammo_50bmg.stackFromEnum(10, Ammo50BMG.FLECHETTE_AM), 3},
{ModItems.ammo_50bmg.stackFromEnum(20, Ammo50BMG.FLECHETTE), ModItems.powder_polonium, ModItems.ammo_50bmg.stackFromEnum(20, Ammo50BMG.FLECHETTE_PO), 3},
{ModItems.ammo_50ae.stackFromEnum(20, Ammo50AE.STOCK), DURA.ingot(), ModItems.ammo_50ae.stackFromEnum(20, Ammo50AE.AP), 2},
{ModItems.ammo_50ae.stackFromEnum(20, Ammo50AE.STOCK), U238.ingot(), ModItems.ammo_50ae.stackFromEnum(20, Ammo50AE.DU), 2},
{ModItems.ammo_50ae.stackFromEnum(10, Ammo50AE.DU), STAR.ingot(), ModItems.ammo_50ae.stackFromEnum(10, Ammo50AE.STAR), 3},
{ModItems.ammo_50ae.stackFromEnum(10, Ammo50AE.STOCK), ModItems.pellet_chlorophyte, ModItems.ammo_50ae.stackFromEnum(10, Ammo50AE.CHLOROPHYTE), 3},
{ModItems.ammo_556.stackFromEnum(20, Ammo556mm.STOCK), P_WHITE.ingot(), ModItems.ammo_556.stackFromEnum(20, Ammo556mm.PHOSPHORUS), 2},
{ModItems.ammo_556.stackFromEnum(20, Ammo556mm.STOCK), DURA.ingot(), ModItems.ammo_556.stackFromEnum(20, Ammo556mm.AP), 2},
{ModItems.ammo_556.stackFromEnum(20, Ammo556mm.STOCK), U238.ingot(), ModItems.ammo_556.stackFromEnum(20, Ammo556mm.DU), 2},
{ModItems.ammo_556.stackFromEnum(10, Ammo556mm.DU), STAR.ingot(), ModItems.ammo_556.stackFromEnum(10, Ammo556mm.STAR), 3},
{ModItems.ammo_556.stackFromEnum(10, Ammo556mm.STOCK), ModItems.pellet_chlorophyte, ModItems.ammo_556.stackFromEnum(10, Ammo556mm.CHLOROPHYTE), 3},
{ModItems.ammo_556.stackFromEnum(100, Ammo556mm.STOCK), ModItems.coin_maskman, ModItems.ammo_556.stackFromEnum(100, Ammo556mm.SLEEK), 4},
{ModItems.ammo_556.stackFromEnum(20, Ammo556mm.STOCK), Items.redstone, ModItems.ammo_556.stackFromEnum(20, Ammo556mm.TRACER), 2},
{ModItems.ammo_556.stackFromEnum(20, Ammo556mm.STOCK), ModItems.pellet_flechette, ModItems.ammo_556.stackFromEnum(20, Ammo556mm.FLECHETTE), 2},
{ModItems.ammo_556.stackFromEnum(20, Ammo556mm.FLECHETTE), P_RED.dust(), ModItems.ammo_556.stackFromEnum(20, Ammo556mm.FLECHETTE_INCENDIARY), 2},
{ModItems.ammo_556.stackFromEnum(20, Ammo556mm.FLECHETTE), P_WHITE.ingot(), ModItems.ammo_556.stackFromEnum(20, Ammo556mm.FLECHETTE_PHOSPHORUS), 2},
{ModItems.ammo_556.stackFromEnum(20, Ammo556mm.FLECHETTE), U238.ingot(), ModItems.ammo_556.stackFromEnum(20, Ammo556mm.FLECHETTE_DU), 2},
{ModItems.ammo_556.stackFromEnum(100, Ammo556mm.FLECHETTE), ModItems.coin_maskman, ModItems.ammo_556.stackFromEnum(100, Ammo556mm.FLECHETTE_SLEEK), 4},
{ModItems.ammo_556.stackFromEnum(10, Ammo556mm.FLECHETTE), ModItems.pellet_chlorophyte, ModItems.ammo_556.stackFromEnum(10, Ammo556mm.FLECHETTE_CHLOROPHYTE), 3},
{ModItems.ammo_308.stackFromEnum(20, Ammo762NATO.STOCK), Items.redstone, ModItems.ammo_308.stackFromEnum(20, Ammo762NATO.TRACER), 2},
{ModItems.ammo_308.stackFromEnum(20, Ammo762NATO.STOCK), DURA.ingot(), ModItems.ammo_308.stackFromEnum(20, Ammo762NATO.AP), 2},
{ModItems.ammo_308.stackFromEnum(20, Ammo762NATO.STOCK), P_WHITE.ingot(), ModItems.ammo_308.stackFromEnum(20, Ammo762NATO.PHOSPHORUS), 2},
{ModItems.ammo_308.stackFromEnum(10, Ammo762NATO.STOCK), U238.ingot(), ModItems.ammo_308.stackFromEnum(20, Ammo762NATO.DU), 2}
};
for(Object[] objs : recs) {

View File

@ -0,0 +1,803 @@
package com.hbm.items;
import java.util.Set;
import com.hbm.handler.BulletConfiguration;
import com.hbm.handler.guncfg.*;
import com.hbm.items.weapon.ItemAmmo.AmmoItemTrait;
import com.hbm.lib.HbmCollection;
public class ItemAmmoEnums {
public enum AmmoLunaticSniper implements IAmmoItemEnum
{
SABOT(Gun50BMGFactory.getLunaticSabotRound()),
INCENDIARY(Gun50BMGFactory.getLunaticIncendiaryRound()),
EXPLOSIVE(Gun50BMGFactory.getLunaticSabotRound());
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private AmmoLunaticSniper(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum AmmoFireExt implements IAmmoItemEnum
{
WATER(GunEnergyFactory.getFextConfig()),
FOAM(GunEnergyFactory.getFextFoamConfig()),
SAND(GunEnergyFactory.getFextSandConfig());
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private AmmoFireExt(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum AmmoFlamethrower implements IAmmoItemEnum
{
DIESEL(GunEnergyFactory.getFlameConfig()),
NAPALM(GunEnergyFactory.getNapalmConfig(), AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_RANGE, AmmoItemTrait.CON_HEAVY_WEAR),
PHOSPHORUS(GunEnergyFactory.getPhosphorusConfig(), AmmoItemTrait.PRO_PHOSPHORUS_SPLASH, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_RANGE, AmmoItemTrait.PRO_RANGE, AmmoItemTrait.PRO_ACCURATE1, AmmoItemTrait.NEU_WARCRIME1, AmmoItemTrait.CON_SING_PROJECTILE, AmmoItemTrait.CON_HEAVY_WEAR),
VAPORIZER(GunEnergyFactory.getVaporizerConfig(), AmmoItemTrait.PRO_PHOSPHORUS, AmmoItemTrait.PRO_FLAMES, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_ERASER, AmmoItemTrait.CON_ACCURACY2, AmmoItemTrait.CON_RANGE2, AmmoItemTrait.CON_HEAVY_WEAR, AmmoItemTrait.CON_LING_FIRE),
CHLORINE(GunEnergyFactory.getGasConfig(), AmmoItemTrait.PRO_NO_GRAVITY, AmmoItemTrait.PRO_POISON_GAS, AmmoItemTrait.CON_NO_DAMAGE, AmmoItemTrait.CON_NO_FIRE);
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private AmmoFlamethrower(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum AmmoMisc implements IAmmoItemEnum
{
LUNA_SNIPER(Gun50BMGFactory.getLunaticSabotRound(), AmmoItemTrait.PRO_HEAVY_DAMAGE, AmmoItemTrait.PRO_ACCURATE2, AmmoItemTrait.NEU_HEAVY_METAL),
DGK(GunDGKFactory.getDGKConfig());
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private AmmoMisc(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum AmmoStinger implements IAmmoItemEnum
{
STOCK(GunRocketHomingFactory.getRocketStingerConfig()),
HE(GunRocketHomingFactory.getRocketStingerHEConfig(), AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.CON_WEAR),
INCENDIARY(GunRocketHomingFactory.getRocketStingerIncendiaryConfig(), HbmCollection.IncendiaryType),
NUCLEAR(GunRocketHomingFactory.getRocketStingerNuclearConfig(), AmmoItemTrait.PRO_NUCLEAR, AmmoItemTrait.CON_SUPER_WEAR),
BONES(GunRocketHomingFactory.getRocketStingerBonesConfig());
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private AmmoStinger(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
private AmmoStinger(BulletConfiguration config, Set<AmmoItemTrait> traits)
{
this.config = config;
this.traits = traits;
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum AmmoRocket implements IAmmoItemEnum
{
STOCK(GunRocketFactory.getRocketConfig()),
HE(GunRocketFactory.getRocketHEConfig(), AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.CON_WEAR),
INCENDIARY(GunRocketFactory.getRocketIncendiaryConfig(), HbmCollection.IncendiaryType),
EMP(GunRocketFactory.getRocketEMPConfig(), AmmoItemTrait.PRO_EMP, AmmoItemTrait.CON_RADIUS),
SLEEK(GunRocketFactory.getRocketSleekConfig(), AmmoItemTrait.PRO_RADIUS_HIGH, AmmoItemTrait.PRO_NO_GRAVITY, AmmoItemTrait.CON_SPEED),
SHRAPNEL(GunRocketFactory.getRocketShrapnelConfig(), AmmoItemTrait.PRO_SHRAPNEL),
GLARE(GunRocketFactory.getRocketGlareConfig(), AmmoItemTrait.PRO_SPEED, AmmoItemTrait.PRO_INCENDIARY, AmmoItemTrait.CON_WEAR),
NUCLEAR(GunRocketFactory.getRocketNukeConfig(), AmmoItemTrait.PRO_NUCLEAR, AmmoItemTrait.CON_SUPER_WEAR, AmmoItemTrait.CON_SPEED),
CHLORINE(GunRocketFactory.getRocketChlorineConfig(), AmmoItemTrait.PRO_CHLORINE, AmmoItemTrait.CON_NO_EXPLODE1, AmmoItemTrait.CON_SPEED),
RPC(GunRocketFactory.getRocketRPCConfig(),AmmoItemTrait.PRO_CHAINSAW, AmmoItemTrait.PRO_PENETRATION, AmmoItemTrait.PRO_NO_GRAVITY, AmmoItemTrait.CON_WEAR, AmmoItemTrait.CON_NO_EXPLODE1, AmmoItemTrait.NEU_UHH ),
PHOSPHORUS(GunRocketFactory.getRocketPhosphorusConfig(), HbmCollection.PhosphorusTypeSpecial),
CANISTER(GunRocketFactory.getRocketCanisterConfig()),
DIGAMMA(GunRocketFactory.getRocketErrorConfig());
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private AmmoRocket(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
private AmmoRocket(BulletConfiguration config, Set<AmmoItemTrait> traits)
{
this.config = config;
this.traits = traits;
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum AmmoGrenade implements IAmmoItemEnum
{
STOCK(GunGrenadeFactory.getGrenadeConfig()),
HE(GunGrenadeFactory.getGrenadeHEConfig(), AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.CON_WEAR),
INCENDIARY(GunGrenadeFactory.getGrenadeIncendirayConfig(), AmmoItemTrait.PRO_INCENDIARY, AmmoItemTrait.CON_WEAR),
PHOSPHORUS(GunGrenadeFactory.getGrenadePhosphorusConfig(), AmmoItemTrait.PRO_PHOSPHORUS_SPLASH, AmmoItemTrait.NEU_WARCRIME1, AmmoItemTrait.CON_WEAR),
//SMOKE(GunGrenadeFactory.getGrenadeSmokeConfig(), AmmoItemTrait.PRO_PHOSPHORUS_SPLASH, AmmoItemTrait.CON_NO_EXPLODE1, AmmoItemTrait.CON_NO_EXPLODE3),
CHLORINE(GunGrenadeFactory.getGrenadeChlorineConfig(), AmmoItemTrait.PRO_CHLORINE, AmmoItemTrait.CON_NO_EXPLODE1),
SLEEK(GunGrenadeFactory.getGrenadeSleekConfig(), AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.NEU_JOLT),
CONCUSSION(GunGrenadeFactory.getGrenadeConcussionConfig(), AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.CON_NO_EXPLODE2),
FINNED(GunGrenadeFactory.getGrenadeFinnedConfig(), AmmoItemTrait.PRO_GRAVITY, AmmoItemTrait.CON_RADIUS),
NUCLEAR(GunGrenadeFactory.getGrenadeNuclearConfig(), AmmoItemTrait.PRO_NUCLEAR, AmmoItemTrait.PRO_RANGE, AmmoItemTrait.CON_HEAVY_WEAR),
//LUNATIC(GunGrenadeFactory.getGrenadeLunaticConfig(), AmmoItemTrait.PRO_LUNATIC, AmmoItemTrait.PRO_RANGE, AmmoItemTrait.CON_NO_EXPLODE2, AmmoItemTrait.CON_SUPER_WEAR),
TRACER(GunGrenadeFactory.getGrenadeTracerConfig(), AmmoItemTrait.NEU_BLANK),
KAMPF(GunGrenadeFactory.getGrenadeKampfConfig(), AmmoItemTrait.PRO_ROCKET_PROPELLED, AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.PRO_ACCURATE1, AmmoItemTrait.CON_WEAR);
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private AmmoGrenade(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum AmmoFatman implements IAmmoItemEnum
{
STOCK(GunFatmanFactory.getNukeConfig()),
LOW(GunFatmanFactory.getNukeLowConfig(), AmmoItemTrait.CON_RADIUS),
HIGH(GunFatmanFactory.getNukeHighConfig(), AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.PRO_FALLOUT),
TOTS(GunFatmanFactory.getNukeTotsConfig(), AmmoItemTrait.PRO_BOMB_COUNT, AmmoItemTrait.NEU_FUN, AmmoItemTrait.CON_ACCURACY2, AmmoItemTrait.CON_RADIUS, AmmoItemTrait.CON_NO_MIRV),
SAFE(GunFatmanFactory.getNukeSafeConfig(), AmmoItemTrait.CON_RADIUS, AmmoItemTrait.CON_NO_EXPLODE2),
PUMPKIN(GunFatmanFactory.getNukePumpkinConfig(), AmmoItemTrait.CON_NN),
MIRV(GunFatmanFactory.getMirvConfig()),
MIRV_LOW(GunFatmanFactory.getMirvLowConfig(), AmmoItemTrait.CON_RADIUS),
MIRV_HIGH(GunFatmanFactory.getMirvHighConfig(), AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.PRO_FALLOUT),
MIRV_SAFE(GunFatmanFactory.getMirvSafeConfig(), AmmoItemTrait.CON_RADIUS, AmmoItemTrait.CON_NO_EXPLODE2),
MIRV_SPECIAL(GunFatmanFactory.getMirvSpecialConfig()),
BALEFIRE(GunFatmanFactory.getBalefireConfig()),
BARREL(GunFatmanFactory.getNukeBarrelConfig());
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private AmmoFatman(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum AmmoDart implements IAmmoItemEnum
{
GPS(GunDartFactory.getGPSConfig()),
NUCLEAR(GunDartFactory.getNukeConfig()),
NERF(GunDartFactory.getNERFConfig());
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private AmmoDart(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum Ammo240Shell implements IAmmoItemEnum, IItemEnum
{
STOCK(GunCannonFactory.getShellConfig()),
EXPLOSIVE(GunCannonFactory.getShellExplosiveConfig()),
APFSDS_T(GunCannonFactory.getShellAPConfig()),
APFSDS_DU(GunCannonFactory.getShellDUConfig()),
W9(GunCannonFactory.getShellW9Config()),
W9_TRUE(GunCannonFactory.getShellW9FullConfig(), AmmoItemTrait.PRO_NUCLEAR, AmmoItemTrait.PRO_HEAVY_DAMAGE);
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private Ammo240Shell(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
@Override
public EnumRarity getRarity()
{
return this == W9_TRUE ? EnumRarity.uncommon : EnumRarity.common;
}
}
public enum Ammo9mm implements IAmmoItemEnum
{
STOCK(Gun9mmFactory.get9mmConfig()),
AP(Gun9mmFactory.get9mmAPConfig(), HbmCollection.APType),
DU(Gun9mmFactory.get9mmDUConfig(), HbmCollection.DUType),
CHLOROPHYTE(Gun9mmFactory.get9mmConfig().getChlorophyte(), HbmCollection.ChlorophyteType),
ROCKET(Gun9mmFactory.get9mmRocketConfig(), AmmoItemTrait.PRO_ROCKET, AmmoItemTrait.NEU_UHH);
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private Ammo9mm(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
private Ammo9mm(BulletConfiguration config, Set<AmmoItemTrait> traits)
{
this.config = config;
this.traits = traits;
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum Ammo762NATO implements IAmmoItemEnum
{
STOCK(Gun762mmFactory.get762NATOConfig()),
AP(Gun762mmFactory.get762APConfig(), HbmCollection.APType),
DU(Gun762mmFactory.get762DUConfig(), HbmCollection.DUType),
TRACER(Gun762mmFactory.get762TracerConfig(), AmmoItemTrait.NEU_TRACER),
PHOSPHORUS(Gun762mmFactory.get762WPConfig(), HbmCollection.PhosphorusType),
BLANK(Gun762mmFactory.get762BlankConfig(), AmmoItemTrait.NEU_BLANK);
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private Ammo762NATO(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
private Ammo762NATO(BulletConfiguration config, Set<AmmoItemTrait> traits)
{
this.config = config;
this.traits = traits;
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum Ammo75Bolt implements IAmmoItemEnum
{
STOCK(Gun75BoltFactory.get75BoltConfig()),
INCENDIARY(Gun75BoltFactory.get75BoltIncConfig()),
HE(Gun75BoltFactory.get75BoltHEConfig());
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private Ammo75Bolt(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum Ammo5mm implements IAmmoItemEnum
{
STOCK(Gun5mmFactory.get5mmConfig()),
EXPLOSIVE(Gun5mmFactory.get5mmExplosiveConfig(), HbmCollection.ExplosiveType),
DU(Gun5mmFactory.get5mmDUConfig(), HbmCollection.DUType),
STAR(Gun5mmFactory.get5mmStarConfig(), HbmCollection.StarmetalType),
CHLOROPHYTE(Gun5mmFactory.get5mmConfig().getChlorophyte(), HbmCollection.ChlorophyteType);
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private Ammo5mm(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
private Ammo5mm(BulletConfiguration config, Set<AmmoItemTrait> traits)
{
this.config = config;
this.traits = traits;
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum Ammo556mm implements IAmmoItemEnum
{
STOCK(Gun556mmFactory.get556Config()),
GOLD(Gun556mmFactory.get556GoldConfig()),
PHOSPHORUS(Gun556mmFactory.get556PhosphorusConfig(), HbmCollection.PhosphorusType),
AP(Gun556mmFactory.get556APConfig(), HbmCollection.APType),
DU(Gun556mmFactory.get556DUConfig(), HbmCollection.DUType),
STAR(Gun556mmFactory.get556StarConfig(), HbmCollection.StarmetalType),
CHLOROPHYTE(Gun556mmFactory.get556Config().getChlorophyte(), HbmCollection.ChlorophyteType),
SLEEK(Gun556mmFactory.get556SleekConfig(), AmmoItemTrait.NEU_MASKMAN_METEORITE),
TRACER(Gun556mmFactory.get556TracerConfig(), AmmoItemTrait.NEU_TRACER),
FLECHETTE(Gun556mmFactory.get556FlechetteConfig(), HbmCollection.FlechetteType),
FLECHETTE_INCENDIARY(Gun556mmFactory.get556FlechetteIncendiaryConfig(), AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_INCENDIARY, AmmoItemTrait.NEU_LESS_BOUNCY, AmmoItemTrait.CON_WEAR, AmmoItemTrait.CON_PENETRATION),
FLECHETTE_PHOSPHORUS(Gun556mmFactory.get556FlechettePhosphorusConfig(), AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_PHOSPHORUS, AmmoItemTrait.NEU_WARCRIME2, AmmoItemTrait.NEU_LESS_BOUNCY, AmmoItemTrait.CON_WEAR, AmmoItemTrait.CON_PENETRATION),
FLECHETTE_DU(Gun556mmFactory.get556FlechetteDUConfig(), AmmoItemTrait.PRO_HEAVY_DAMAGE, AmmoItemTrait.PRO_PENETRATION, AmmoItemTrait.NEU_HEAVY_METAL, AmmoItemTrait.NEU_LESS_BOUNCY, AmmoItemTrait.CON_HEAVY_WEAR),
FLECHETTE_CHLOROPHYTE(Gun556mmFactory.get556FlechetteConfig().getChlorophyte(), HbmCollection.ChlorophyteType),
FLECHETTE_SLEEK(Gun556mmFactory.get556FlechetteSleekConfig(), AmmoItemTrait.NEU_MASKMAN_METEORITE),
K(Gun556mmFactory.get556KConfig(), AmmoItemTrait.NEU_BLANK);
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private Ammo556mm(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
private Ammo556mm(BulletConfiguration config, Set<AmmoItemTrait> traits)
{
this.config = config;
this.traits = traits;
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum Ammo50BMG implements IAmmoItemEnum
{
STOCK(Gun50BMGFactory.get50BMGConfig()),
INCENDIARY(Gun50BMGFactory.get50BMGFireConfig(), HbmCollection.IncendiaryType),
PHOSPHORUS(Gun50BMGFactory.get50BMGPhosphorusConfig(), HbmCollection.PhosphorusType),
EXPLOSIVE(Gun50BMGFactory.get50BMGExplosiveConfig(), HbmCollection.ExplosiveType),
AP(Gun50BMGFactory.get50BMGAPConfig(), HbmCollection.APType),
DU(Gun50BMGFactory.get50BMGDUConfig(), HbmCollection.DUType),
STAR(Gun50BMGFactory.get50BMGStarConfig(), HbmCollection.StarmetalType),
CHLOROPHYTE(Gun50BMGFactory.get50BMGConfig().getChlorophyte(), HbmCollection.ChlorophyteType),
SLEEK(Gun50BMGFactory.get50BMGSleekConfig(), AmmoItemTrait.NEU_MASKMAN_METEORITE),
FLECHETTE(Gun50BMGFactory.get50BMGFlechetteConfig(), AmmoItemTrait.PRO_DAMAGE),
FLECHETTE_AM(Gun50BMGFactory.get50BMGFlechetteAMConfig(), AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_UHH),
FLECHETTE_PO(Gun50BMGFactory.get50BMGFlechettePOConfig(), AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_UHH);
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private Ammo50BMG(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
private Ammo50BMG(BulletConfiguration config, Set<AmmoItemTrait> traits)
{
this.config = config;
this.traits = traits;
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum Ammo50AE implements IAmmoItemEnum
{
STOCK(Gun50AEFactory.get50AEConfig()),
AP(Gun50AEFactory.get50APConfig(), HbmCollection.APType),
DU(Gun50AEFactory.get50DUConfig(), HbmCollection.DUType),
STAR(Gun50AEFactory.get50StarConfig(), HbmCollection.StarmetalType),
CHLOROPHYTE(Gun50AEFactory.get50AEConfig().getChlorophyte(), HbmCollection.ChlorophyteType);
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private Ammo50AE(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
private Ammo50AE(BulletConfiguration config, Set<AmmoItemTrait> traits)
{
this.config = config;
this.traits = traits;
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum Ammo4Gauge implements IAmmoItemEnum
{
STOCK(Gun4GaugeFactory.get4GaugeConfig()),
SLUG(Gun4GaugeFactory.get4GaugeSlugConfig(), AmmoItemTrait.PRO_ACCURATE2, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_WEAR, AmmoItemTrait.CON_SING_PROJECTILE),
FLECHETTE(Gun4GaugeFactory.get4GaugeFlechetteConfig(), HbmCollection.FlechetteType),
FLECHETTE_PHOSPHORUS(Gun4GaugeFactory.get4GaugeFlechettePhosphorusConfig(), AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_PHOSPHORUS, AmmoItemTrait.NEU_WARCRIME2, AmmoItemTrait.NEU_LESS_BOUNCY, AmmoItemTrait.CON_WEAR),
EXPLOSIVE(Gun4GaugeFactory.get4GaugeExplosiveConfig(), AmmoItemTrait.PRO_EXPLOSIVE, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_40MM, AmmoItemTrait.CON_HEAVY_WEAR, AmmoItemTrait.CON_SING_PROJECTILE),
MINING(Gun4GaugeFactory.get4GaugeMiningConfig(), AmmoItemTrait.PRO_EXPLOSIVE, AmmoItemTrait.PRO_MINING, AmmoItemTrait.CON_NO_EXPLODE3, AmmoItemTrait.CON_HEAVY_WEAR, AmmoItemTrait.CON_SING_PROJECTILE),
BALEFIRE(Gun4GaugeFactory.get4GaugeBalefireConfig(), AmmoItemTrait.PRO_EXPLOSIVE, AmmoItemTrait.PRO_BALEFIRE, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.CON_HEAVY_WEAR, AmmoItemTrait.CON_SING_PROJECTILE),
KAMPF(Gun4GaugeFactory.getGrenadeKampfConfig(), AmmoItemTrait.PRO_EXPLOSIVE, AmmoItemTrait.PRO_ROCKET_PROPELLED, AmmoItemTrait.PRO_ACCURATE1, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.CON_WEAR, AmmoItemTrait.CON_SING_PROJECTILE),
CANISTER(Gun4GaugeFactory.getGrenadeCanisterConfig()),
SLEEK(Gun4GaugeFactory.get4GaugeSleekConfig(), AmmoItemTrait.NEU_MASKMAN_FLECHETTE),
CLAW(Gun4GaugeFactory.get4GaugeClawConfig()),
VAMPIRE(Gun4GaugeFactory.get4GaugeVampireConfig()),
VOID(Gun4GaugeFactory.get4GaugeVoidConfig()),
QUACK(Gun4GaugeFactory.get4GaugeQuackConfig(), AmmoItemTrait.PRO_MARAUDER, AmmoItemTrait.NEU_NO_CON);
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private Ammo4Gauge(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
private Ammo4Gauge(BulletConfiguration config, Set<AmmoItemTrait> traits)
{
this.config = config;
this.traits = traits;
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum Ammo45ACP implements IAmmoItemEnum
{
STOCK(Gun45ACPFactory.get45AutoConfig()),
AP(Gun45ACPFactory.get45AutoAPConfig(), HbmCollection.APType),
DU(Gun45ACPFactory.get45AutoDUConfig(), HbmCollection.DUType);
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private Ammo45ACP(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
private Ammo45ACP(BulletConfiguration config, Set<AmmoItemTrait> traits)
{
this.config = config;
this.traits = traits;
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum Ammo44Magnum implements IAmmoItemEnum
{
STOCK(Gun44MagnumFactory.getNoPipConfig()),
AP(Gun44MagnumFactory.getNoPipAPConfig(), HbmCollection.APType),
DU(Gun44MagnumFactory.getNoPipDUConfig(), HbmCollection.DUType),
PHOSPHORUS(Gun44MagnumFactory.getPhosphorusConfig(), HbmCollection.PhosphorusType),
STAR(Gun44MagnumFactory.getNoPipStarConfig(), HbmCollection.StarmetalType),
CHLOROPHYTE(Gun44MagnumFactory.getNoPipConfig().getChlorophyte(), HbmCollection.ChlorophyteType),
PIP(Gun44MagnumFactory.getPipConfig(), AmmoItemTrait.NEU_BOXCAR, AmmoItemTrait.CON_DAMAGE),
BJ(Gun44MagnumFactory.getBJConfig(), AmmoItemTrait.NEU_BOAT, AmmoItemTrait.CON_DAMAGE),
SILVER(Gun44MagnumFactory.getSilverStormConfig(), AmmoItemTrait.NEU_BUILDING, AmmoItemTrait.CON_DAMAGE),
ROCKET(Gun44MagnumFactory.getRocketConfig(), AmmoItemTrait.PRO_ROCKET, AmmoItemTrait.NEU_UHH);
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private Ammo44Magnum(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
private Ammo44Magnum(BulletConfiguration config, Set<AmmoItemTrait> traits)
{
this.config = config;
this.traits = traits;
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum Ammo357Magnum implements IAmmoItemEnum
{
IRON(Gun357MagnumFactory.getRevIronConfig()),
LEAD(Gun357MagnumFactory.getRevLeadConfig()),
NUCLEAR(Gun357MagnumFactory.getRevNuclearConfig()),
GOLD(Gun357MagnumFactory.getRevGoldConfig()),
DESH(Gun357MagnumFactory.getRevDeshConfig(), AmmoItemTrait.PRO_FIT_357, AmmoItemTrait.PRO_DAMAGE_SLIGHT),
SCHRABIDIUM(Gun357MagnumFactory.getRevSchrabidiumConfig()),
STEEL(Gun357MagnumFactory.getRevCursedConfig()),
NIGHTMARE1(Gun357MagnumFactory.getRevNightmare1Config()),
NIGHTMARE2(Gun357MagnumFactory.getRevNightmare2Config());
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private Ammo357Magnum(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum Ammo22LR implements IAmmoItemEnum
{
STOCK(Gun22LRFactory.get22LRConfig()),
AP(Gun22LRFactory.get22LRAPConfig(), HbmCollection.APType),
CHLOROPHYTE(Gun22LRFactory.get22LRConfig().getChlorophyte(), HbmCollection.ChlorophyteType);
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private Ammo22LR(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
private Ammo22LR(BulletConfiguration config, Set<AmmoItemTrait> traits)
{
this.config = config;
this.traits = traits;
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum Ammo20Gauge implements IAmmoItemEnum
{
STOCK(Gun20GaugeFactory.get20GaugeConfig()),
SLUG(Gun20GaugeFactory.get20GaugeSlugConfig(), AmmoItemTrait.PRO_ACCURATE2, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_WEAR, AmmoItemTrait.CON_SING_PROJECTILE),
FLECHETTE(Gun20GaugeFactory.get20GaugeFlechetteConfig(), HbmCollection.FlechetteType),
INCENDIARY(Gun20GaugeFactory.get20GaugeFireConfig(), AmmoItemTrait.PRO_INCENDIARY, AmmoItemTrait.CON_WEAR),
SHRAPNEL(Gun20GaugeFactory.get20GaugeShrapnelConfig(), AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_MORE_BOUNCY, AmmoItemTrait.CON_WEAR),
EXPLOSIVE(Gun20GaugeFactory.get20GaugeExplosiveConfig(), HbmCollection.ExplosiveType),
CAUSTIC(Gun20GaugeFactory.get20GaugeCausticConfig(), AmmoItemTrait.PRO_TOXIC, AmmoItemTrait.PRO_CAUSTIC, AmmoItemTrait.NEU_NO_BOUNCE, AmmoItemTrait.CON_HEAVY_WEAR),
SHOCK(Gun20GaugeFactory.get20GaugeShockConfig(), AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_STUNNING, AmmoItemTrait.PRO_EMP, AmmoItemTrait.NEU_NO_BOUNCE, AmmoItemTrait.CON_HEAVY_WEAR),
WITHER(Gun20GaugeFactory.get20GaugeWitherConfig(), AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_WITHERING),
SLEEK(Gun20GaugeFactory.get20GaugeSleekConfig(), AmmoItemTrait.NEU_MASKMAN_FLECHETTE);
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private Ammo20Gauge(BulletConfiguration config, AmmoItemTrait...traits)
{
this.config = config;
this.traits = safeAssign(traits);
}
private Ammo20Gauge(BulletConfiguration config, Set<AmmoItemTrait> traits)
{
this.config = config;
this.traits = traits;
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public enum Ammo12Gauge implements IAmmoItemEnum
{
STOCK(Gun12GaugeFactory.get12GaugeConfig()),
INCENDIARY(Gun12GaugeFactory.get12GaugeFireConfig(), AmmoItemTrait.PRO_INCENDIARY, AmmoItemTrait.CON_WEAR),
SHRAPNEL(Gun12GaugeFactory.get12GaugeShrapnelConfig(), AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_MORE_BOUNCY, AmmoItemTrait.CON_WEAR),
DU(Gun12GaugeFactory.get12GaugeDUConfig(), AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_PENETRATION, AmmoItemTrait.NEU_HEAVY_METAL, AmmoItemTrait.CON_HEAVY_WEAR),
MARAUDER(Gun12GaugeFactory.get12GaugeAMConfig(), AmmoItemTrait.PRO_MARAUDER, AmmoItemTrait.NEU_NO_CON),
SLEEK(Gun12GaugeFactory.get12GaugeSleekConfig(), AmmoItemTrait.NEU_MASKMAN_FLECHETTE);
private final Set<AmmoItemTrait> traits;
private final BulletConfiguration config;
private Ammo12Gauge(BulletConfiguration config, AmmoItemTrait...traits)
{
this.traits = safeAssign(traits);
this.config = config;
}
@Override
public Set<AmmoItemTrait> getTraits()
{
return traits;
}
@Override
public BulletConfiguration getConfig()
{
return config;
}
}
public interface IAmmoItemEnum
{
public Set<AmmoItemTrait> getTraits();
public BulletConfiguration getConfig();
}
static Set<AmmoItemTrait> safeAssign(AmmoItemTrait[] traits)
{
return traits == null ? ImmutableSet.of() : ImmutableSet.copyOf(traits);
}
}

View File

@ -3,9 +3,8 @@ package com.hbm.items;
import java.util.List;
import java.util.Random;
import com.hbm.config.GeneralConfig;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
import com.hbm.util.ArmorUtil;
import com.hbm.util.I18nUtil;
import cpw.mods.fml.relauncher.Side;
@ -74,30 +73,32 @@ public class ItemCustomLore extends Item {
static int setSize = 0;
@Override
public EnumRarity getRarity(ItemStack p_77613_1_) {
return this.rarity != null ? rarity : super.getRarity(p_77613_1_);
}
@Override
public EnumRarity getRarity(ItemStack stack) {
return this.rarity != null ? rarity : super.getRarity(stack);
}
@Override
@Override
@SideOnly(Side.CLIENT)
public boolean hasEffect(ItemStack p_77636_1_)
{
if(this == ModItems.rune_isa ||
this == ModItems.rune_dagaz ||
this == ModItems.rune_hagalaz ||
this == ModItems.rune_jera ||
this == ModItems.rune_thurisaz ||
this == ModItems.egg_balefire_shard ||
this == ModItems.egg_balefire) {
return true;
}
return false;
}
public ItemCustomLore setRarity(EnumRarity rarity) {
this.rarity = rarity;
public boolean hasEffect(ItemStack p_77636_1_) {
if(this == ModItems.rune_isa || this == ModItems.rune_dagaz ||
this == ModItems.rune_hagalaz || this == ModItems.rune_jera ||
this == ModItems.rune_thurisaz || this == ModItems.egg_balefire_shard ||
this == ModItems.egg_balefire) {
return true;
}
return false;
}
public ItemCustomLore setRarity(EnumRarity rarity) {
this.rarity = rarity;
return this;
}
}
@Override
public Item setUnlocalizedName(String uloc) {
setTextureName(RefStrings.MODID + ':' + uloc);
return super.setUnlocalizedName(uloc);
}
}

View File

@ -71,9 +71,7 @@ public class ItemEnumMulti extends Item {
}
}
/*
* Returns null when the wrong enum is passed. Only really used for recipes anyway so it's good.
*/
/** Returns null when the wrong enum is passed. Only really used for recipes anyway so it's good. */
public ItemStack stackFromEnum(int count, Enum num) {
if(num.getClass() != this.theEnum)

View File

@ -0,0 +1,41 @@
package com.hbm.items;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
public class ItemRemap extends Item {
Item remapItem;
int remapMeta;
public ItemRemap(Item item, int meta) {
this.remapItem = item;
this.remapMeta = meta;
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIconFromDamage(int meta) {
return this.remapItem.getIconFromDamage(this.remapMeta);
}
@Override
public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean held) {
if(!(entity instanceof EntityPlayer)) return;
EntityPlayer player = (EntityPlayer) entity;
player.inventory.setInventorySlotContents(slot, new ItemStack(this.remapItem, stack.stackSize, this.remapMeta));
}
@SideOnly(Side.CLIENT)
public int getColorFromItemStack(ItemStack stack, int pass) {
return 0xFF8080;
}
}

View File

@ -9,6 +9,7 @@ import com.hbm.handler.WeaponAbility;
import com.hbm.handler.guncfg.*;
import com.hbm.interfaces.ICustomWarhead.SaltedFuel.HalfLifeType;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.items.ItemAmmoEnums.*;
import com.hbm.items.ItemEnums.*;
import com.hbm.items.armor.*;
import com.hbm.items.armor.IArmorDisableModel.EnumPlayerPart;
@ -602,11 +603,14 @@ public class ModItems {
public static Item assembly_nopip;
public static Item assembly_smg;
public static Item assembly_556;
public static Item assembly_308;
public static Item assembly_45;
public static Item assembly_uzi;
public static Item assembly_actionexpress;
public static Item assembly_calamity;
public static Item assembly_lacunae;
public static Item assembly_nuke;
public static Item assembly_luna_sniper;
public static Item folly_shell;
public static Item folly_bullet;
@ -874,6 +878,7 @@ public class ModItems {
public static Item particle_lutece;
public static Item pellet_antimatter;
public static Item singularity_micro;
public static Item singularity;
public static Item singularity_counter_resonant;
public static Item singularity_super_heated;
@ -1471,8 +1476,35 @@ public class ModItems {
public static Item sat_interface;
public static Item sat_coord;
public static Item sat_designator;
public static ItemEnumMulti ammo_misc;
public static ItemEnumMulti ammo_12gauge;
public static ItemEnumMulti ammo_20gauge;
public static ItemEnumMulti ammo_4gauge;
public static ItemEnumMulti ammo_357;
public static ItemEnumMulti ammo_44;
public static ItemEnumMulti ammo_5mm;
public static ItemEnumMulti ammo_9mm;
public static ItemEnumMulti ammo_45;
public static ItemEnumMulti ammo_556;
public static ItemEnumMulti ammo_308;
public static ItemEnumMulti ammo_22lr;
public static ItemEnumMulti ammo_50ae;
public static ItemEnumMulti ammo_50bmg;
public static ItemEnumMulti ammo_75bolt;
public static ItemEnumMulti ammo_rocket;
public static ItemEnumMulti ammo_grenade;
public static ItemEnumMulti ammo_shell;
public static ItemEnumMulti ammo_nuke;
public static ItemEnumMulti ammo_fuel;
public static ItemEnumMulti ammo_fireext;
public static ItemEnumMulti ammo_dart;
public static ItemEnumMulti ammo_stinger_rocket;
public static ItemEnumMulti ammo_luna_sniper;
public static Item ammo_12gauge;
public static Item ammo_cell;
/*public static Item ammo_12gauge;
public static Item ammo_12gauge_incendiary;
public static Item ammo_12gauge_shrapnel;
public static Item ammo_12gauge_du;
@ -1561,11 +1593,11 @@ public class ModItems {
public static Item ammo_50bmg_sleek;
public static Item ammo_75bolt;
public static Item ammo_75bolt_incendiary;
public static Item ammo_75bolt_he;
public static Item ammo_75bolt_he;*/
public static Item ammo_folly;
public static Item ammo_folly_nuclear;
public static Item ammo_folly_du;
public static Item ammo_rocket;
/*public static Item ammo_rocket;
public static Item ammo_rocket_he;
public static Item ammo_rocket_incendiary;
public static Item ammo_rocket_phosphorus;
@ -1593,11 +1625,11 @@ public class ModItems {
public static Item ammo_shell_explosive;
public static Item ammo_shell_apfsds_t;
public static Item ammo_shell_apfsds_du;
public static Item ammo_shell_w9;
public static Item ammo_shell_w9;*/
public static Item ammo_dgk;
public static Item ammo_arty;
public static Item ammo_himars;
public static Item ammo_nuke;
/*public static Item ammo_nuke;
public static Item ammo_nuke_low;
public static Item ammo_nuke_high;
public static Item ammo_nuke_tots;
@ -1625,7 +1657,7 @@ public class ModItems {
public static Item ammo_stinger_rocket_he;
public static Item ammo_stinger_rocket_incendiary;
public static Item ammo_stinger_rocket_nuclear;
public static Item ammo_stinger_rocket_bones;
public static Item ammo_stinger_rocket_bones;*/
public static Item gun_rpg;
//public static Item gun_rpg_ammo;
@ -1638,21 +1670,21 @@ public class ModItems {
//public static Item gun_stinger_ammo;
public static Item gun_revolver;
public static Item gun_revolver_saturnite;
public static Item gun_revolver_ammo;
//public static Item gun_revolver_ammo;
public static Item gun_revolver_iron;
public static Item gun_revolver_iron_ammo;
//public static Item gun_revolver_iron_ammo;
public static Item gun_revolver_gold;
public static Item gun_revolver_gold_ammo;
//public static Item gun_revolver_gold_ammo;
public static Item gun_revolver_lead;
public static Item gun_revolver_lead_ammo;
//public static Item gun_revolver_lead_ammo;
public static Item gun_revolver_schrabidium;
public static Item gun_revolver_schrabidium_ammo;
//public static Item gun_revolver_schrabidium_ammo;
public static Item gun_revolver_cursed;
public static Item gun_revolver_cursed_ammo;
//public static Item gun_revolver_cursed_ammo;
public static Item gun_revolver_nightmare;
public static Item gun_revolver_nightmare_ammo;
//public static Item gun_revolver_nightmare_ammo;
public static Item gun_revolver_nightmare2;
public static Item gun_revolver_nightmare2_ammo;
//public static Item gun_revolver_nightmare2_ammo;
public static Item gun_revolver_pip;
//public static Item gun_revolver_pip_ammo;
public static Item gun_revolver_nopip;
@ -1720,7 +1752,6 @@ public class ModItems {
public static Item gun_mp;
public static Item gun_bolter;
public static Item gun_bolter_digamma;
public static Item gun_brimstone;
public static Item gun_zomg;
public static Item gun_super_shotgun;
public static Item gun_moist_nugget;
@ -1748,6 +1779,11 @@ public class ModItems {
public static Item gun_detonator;
public static Item gun_glass_cannon;
// We'll figure this part out later
//public static Item gun_llr, gun_mlr, gun_hlr, gun_twr, gun_lunatic, gun_lunatic_shotty, gun_lunatic_marksman;
//public static Item gun_uac_pistol, gun_uac_dmr, gun_uac_carbine, gun_uac_lmg;
//public static Item gun_m2, gun_benelli, gun_benelli_mod, gun_g36, spear_bishamonten, pagoda;
public static Item crucible;
public static Item stick_dynamite;
@ -3231,11 +3267,14 @@ public class ModItems {
assembly_nopip = new Item().setUnlocalizedName("assembly_nopip").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_nopip");
assembly_smg = new Item().setUnlocalizedName("assembly_smg").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_smg");
assembly_556 = new Item().setUnlocalizedName("assembly_556").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_556");
assembly_308 = new Item().setUnlocalizedName("assembly_308").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_308");
assembly_45 = new Item().setUnlocalizedName("assembly_45").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_45");
assembly_uzi = new Item().setUnlocalizedName("assembly_uzi").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_uzi");
assembly_actionexpress = new Item().setUnlocalizedName("assembly_actionexpress").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_actionexpress");
assembly_calamity = new Item().setUnlocalizedName("assembly_calamity").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_calamity");
assembly_lacunae = new Item().setUnlocalizedName("assembly_lacunae").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_lacunae");
assembly_nuke = new Item().setUnlocalizedName("assembly_nuke").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_nuke");
assembly_luna_sniper = new Item().setUnlocalizedName("assembly_luna_sniper").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":assembly_luna_sniper");
folly_shell = new Item().setUnlocalizedName("folly_shell").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":folly_shell");
folly_bullet = new Item().setUnlocalizedName("folly_bullet").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":folly_bullet");
folly_bullet_nuclear = new Item().setUnlocalizedName("folly_bullet_nuclear").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":folly_bullet_nuclear");
@ -3319,6 +3358,7 @@ public class ModItems {
particle_sparkticle = new Item().setUnlocalizedName("particle_sparkticle").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_sparkticle");
particle_digamma = new ItemDigamma(60).setUnlocalizedName("particle_digamma").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_digamma");
particle_lutece = new Item().setUnlocalizedName("particle_lutece").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.particle_empty).setTextureName(RefStrings.MODID + ":particle_lutece");
singularity_micro = new ItemDrop().setUnlocalizedName("singularity_micro").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_micro");
singularity = new ItemDrop().setUnlocalizedName("singularity").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity");
singularity_counter_resonant = new ItemDrop().setUnlocalizedName("singularity_counter_resonant").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.nuclear_waste).setTextureName(RefStrings.MODID + ":singularity_alt");
@ -4241,7 +4281,34 @@ 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");
ammo_12gauge = new ItemAmmo(Ammo12Gauge.class).setUnlocalizedName("ammo_12gauge");
ammo_20gauge = new ItemAmmo(Ammo20Gauge.class).setUnlocalizedName("ammo_20gauge");
ammo_4gauge = new ItemAmmo(Ammo4Gauge.class).setUnlocalizedName("ammo_4gauge");
ammo_5mm = new ItemAmmo(Ammo5mm.class).setUnlocalizedName("ammo_5mm");
ammo_9mm = new ItemAmmo(Ammo9mm.class).setUnlocalizedName("ammo_9mm");
ammo_45 = new ItemAmmo(Ammo45ACP.class).setUnlocalizedName("ammo_45");
ammo_556 = new ItemAmmo(Ammo556mm.class, "desc.misc.556").setUnlocalizedName("ammo_556");
ammo_308 = new ItemAmmo(Ammo762NATO.class, "desc.misc.762").setUnlocalizedName("ammo_308");
ammo_50ae = new ItemAmmo(Ammo50AE.class).setUnlocalizedName("ammo_50ae");
ammo_50bmg = new ItemAmmo(Ammo50BMG.class).setUnlocalizedName("ammo_50bmg");
ammo_75bolt = new ItemAmmo(Ammo75Bolt.class).setUnlocalizedName("ammo_75bolt");
ammo_357 = new ItemAmmo(Ammo357Magnum.class).setUnlocalizedName("ammo_357");
ammo_44 = new ItemAmmo(Ammo44Magnum.class).setUnlocalizedName("ammo_44");
ammo_22lr = new ItemAmmo(Ammo22LR.class).setUnlocalizedName("ammo_22lr");
ammo_rocket = new ItemAmmo(AmmoRocket.class).setUnlocalizedName("ammo_rocket");
ammo_grenade = new ItemAmmo(AmmoGrenade.class).setUnlocalizedName("ammo_grenade");
ammo_shell = new ItemAmmo(Ammo240Shell.class).setUnlocalizedName("ammo_shell");
ammo_dgk = new ItemCustomLore().setUnlocalizedName("ammo_dgk").setCreativeTab(MainRegistry.weaponTab);
ammo_nuke = new ItemAmmo(AmmoFatman.class).setUnlocalizedName("ammo_nuke");
ammo_fuel = new ItemAmmo(AmmoFlamethrower.class).setUnlocalizedName("ammo_fuel");
ammo_fireext = new ItemAmmo(AmmoFireExt.class).setUnlocalizedName("ammo_fireext");
ammo_cell = new ItemCustomLore().setCreativeTab(MainRegistry.weaponTab).setUnlocalizedName("ammo_cell").setMaxStackSize(16);
ammo_dart = (ItemEnumMulti) new ItemAmmo(AmmoDart.class).setUnlocalizedName("ammo_dart").setMaxStackSize(16);
ammo_stinger_rocket = new ItemAmmo(AmmoStinger.class).setUnlocalizedName("ammo_stinger_rocket");
ammo_luna_sniper = new ItemAmmo(AmmoLunaticSniper.class, "desc.misc.luna").setUnlocalizedName("ammo_luna_sniper");
ammo_misc = new ItemAmmo(AmmoMisc.class).setUnlocalizedName("ammo_misc");
/*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");
@ -4361,11 +4428,14 @@ public class ModItems {
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_shell_w9 = new ItemAmmo().setUnlocalizedName("ammo_shell_w9");*/
ammo_folly = new ItemCustomLore().setUnlocalizedName("ammo_folly");
ammo_folly_nuclear = new ItemCustomLore().setUnlocalizedName("ammo_folly_nuclear");
ammo_folly_du = new ItemCustomLore().setUnlocalizedName("ammo_folly_du");
ammo_dgk = new ItemCustomLore().setUnlocalizedName("ammo_dgk");
ammo_arty = new ItemAmmoArty().setUnlocalizedName("ammo_arty");
ammo_himars = new ItemAmmoHIMARS().setUnlocalizedName("ammo_himars");
ammo_nuke = new ItemAmmo().setUnlocalizedName("ammo_nuke");
/*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");
@ -4393,7 +4463,7 @@ public class ModItems {
ammo_stinger_rocket_he = new ItemAmmo().setUnlocalizedName("ammo_stinger_rocket_he");
ammo_stinger_rocket_incendiary = new ItemAmmo().setUnlocalizedName("ammo_stinger_rocket_incendiary");
ammo_stinger_rocket_nuclear = new ItemAmmo().setUnlocalizedName("ammo_stinger_rocket_nuclear");
ammo_stinger_rocket_bones = new ItemAmmo().setUnlocalizedName("ammo_stinger_rocket_bones");
ammo_stinger_rocket_bones = new ItemAmmo().setUnlocalizedName("ammo_stinger_rocket_bones");*/
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");
@ -4404,22 +4474,22 @@ public class ModItems {
gun_stinger = new ItemGunBase(GunRocketHomingFactory.getStingerConfig()).setUnlocalizedName("gun_stinger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_stinger");
gun_skystinger = new ItemGunBase(GunRocketHomingFactory.getSkyStingerConfig()).setUnlocalizedName("gun_skystinger").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_skystinger");
//gun_stinger_ammo = new Item().setUnlocalizedName("gun_stinger_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_stinger_ammo");
gun_revolver_ammo = new Item().setUnlocalizedName("gun_revolver_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_ammo");
//gun_revolver_ammo = new Item().setUnlocalizedName("gun_revolver_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_ammo");
gun_revolver = new ItemGunBase(Gun357MagnumFactory.getRevolverConfig()).setUnlocalizedName("gun_revolver").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver");
gun_revolver_saturnite = new ItemGunBase(Gun357MagnumFactory.getRevolverSaturniteConfig()).setUnlocalizedName("gun_revolver_saturnite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_saturnite");
gun_revolver_iron_ammo = new Item().setUnlocalizedName("gun_revolver_iron_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_iron_ammo");
//gun_revolver_iron_ammo = new Item().setUnlocalizedName("gun_revolver_iron_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_iron_ammo");
gun_revolver_iron = new ItemGunBase(Gun357MagnumFactory.getRevolverIronConfig()).setUnlocalizedName("gun_revolver_iron").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_iron");
gun_revolver_gold_ammo = new Item().setUnlocalizedName("gun_revolver_gold_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_gold_ammo");
//gun_revolver_gold_ammo = new Item().setUnlocalizedName("gun_revolver_gold_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_gold_ammo");
gun_revolver_gold = new ItemGunBase(Gun357MagnumFactory.getRevolverGoldConfig()).setUnlocalizedName("gun_revolver_gold").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_gold");
gun_revolver_lead_ammo = new Item().setUnlocalizedName("gun_revolver_lead_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_lead_ammo");
//gun_revolver_lead_ammo = new Item().setUnlocalizedName("gun_revolver_lead_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_lead_ammo");
gun_revolver_lead = new ItemGunBase(Gun357MagnumFactory.getRevolverLeadConfig()).setUnlocalizedName("gun_revolver_lead").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_lead");
gun_revolver_schrabidium_ammo = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("gun_revolver_schrabidium_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_schrabidium_ammo");
//gun_revolver_schrabidium_ammo = new ItemCustomLore().setRarity(EnumRarity.rare).setUnlocalizedName("gun_revolver_schrabidium_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_schrabidium_ammo");
gun_revolver_schrabidium = new ItemGunBase(Gun357MagnumFactory.getRevolverSchrabidiumConfig()).setUnlocalizedName("gun_revolver_schrabidium").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_schrabidium");
gun_revolver_cursed_ammo = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("gun_revolver_cursed_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_cursed_ammo");
//gun_revolver_cursed_ammo = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("gun_revolver_cursed_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_cursed_ammo");
gun_revolver_cursed = new ItemGunBase(Gun357MagnumFactory.getRevolverCursedConfig()).setUnlocalizedName("gun_revolver_cursed").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_cursed");
gun_revolver_nightmare_ammo = new ItemCustomLore().setUnlocalizedName("gun_revolver_nightmare_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare_ammo");
//gun_revolver_nightmare_ammo = new ItemCustomLore().setUnlocalizedName("gun_revolver_nightmare_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare_ammo");
gun_revolver_nightmare = new ItemGunBase(Gun357MagnumFactory.getRevolverNightmareConfig()).setUnlocalizedName("gun_revolver_nightmare").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare");
gun_revolver_nightmare2_ammo = new ItemCustomLore().setUnlocalizedName("gun_revolver_nightmare2_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare2_ammo");
//gun_revolver_nightmare2_ammo = new ItemCustomLore().setUnlocalizedName("gun_revolver_nightmare2_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare2_ammo");
gun_revolver_nightmare2 = new ItemGunBase(Gun357MagnumFactory.getRevolverNightmare2Config()).setUnlocalizedName("gun_revolver_nightmare2").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_nightmare2");
//gun_revolver_pip_ammo = new ItemCustomLore().setUnlocalizedName("gun_revolver_pip_ammo").setCreativeTab(null).setTextureName(RefStrings.MODID + ":gun_revolver_pip_ammo");
gun_revolver_pip = new ItemGunBase(Gun44MagnumFactory.getMacintoshConfig()).setUnlocalizedName("gun_revolver_pip").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_pip");
@ -4485,11 +4555,10 @@ public class ModItems {
gun_cryolator_ammo = new Item().setUnlocalizedName("gun_cryolator_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_cryolator_ammo");
gun_cryolator = new GunCryolator().setUnlocalizedName("gun_cryolator").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_cryolator");
gun_fireext = new ItemGunBase(GunEnergyFactory.getExtConfig()).setUnlocalizedName("gun_fireext").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_fireext");
ammo_566_gold = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("gun_mp_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_pm_ammo");
//ammo_566_gold = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("gun_mp_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_pm_ammo");
gun_mp = new ItemGunBase(Gun556mmFactory.getEuphieConfig()).setUnlocalizedName("gun_mp").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_pm");
gun_bolter = new ItemGunBase(Gun75BoltFactory.getBolterConfig()).setUnlocalizedName("gun_bolter").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolter");
gun_bolter_digamma = new ItemGunBase(Gun75BoltFactory.getBolterConfig()).setUnlocalizedName("gun_bolter_digamma").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolter_digamma");
gun_brimstone = new GunBrimstone().setUnlocalizedName("gun_brimstone").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_brimstone");
gun_zomg = new ItemGunBase(GunEnergyFactory.getZOMGConfig()).setUnlocalizedName("gun_zomg").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_zomg");
gun_revolver_inverted = new GunSuicide().setUnlocalizedName("gun_revolver_inverted").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_revolver_inverted");
gun_emp_ammo = new Item().setUnlocalizedName("gun_emp_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_emp_ammo");
@ -6435,11 +6504,14 @@ public class ModItems {
GameRegistry.registerItem(assembly_nopip, assembly_nopip.getUnlocalizedName());
GameRegistry.registerItem(assembly_smg, assembly_smg.getUnlocalizedName());
GameRegistry.registerItem(assembly_556, assembly_556.getUnlocalizedName());
GameRegistry.registerItem(assembly_308, assembly_308.getUnlocalizedName());
GameRegistry.registerItem(assembly_45, assembly_45.getUnlocalizedName());
GameRegistry.registerItem(assembly_uzi, assembly_uzi.getUnlocalizedName());
GameRegistry.registerItem(assembly_lacunae, assembly_lacunae.getUnlocalizedName());
GameRegistry.registerItem(assembly_actionexpress, assembly_actionexpress.getUnlocalizedName());
GameRegistry.registerItem(assembly_calamity, assembly_calamity.getUnlocalizedName());
GameRegistry.registerItem(assembly_nuke, assembly_nuke.getUnlocalizedName());
GameRegistry.registerItem(assembly_luna_sniper, assembly_luna_sniper.getUnlocalizedName());
//Folly Parts
GameRegistry.registerItem(folly_shell, folly_shell.getUnlocalizedName());
@ -6533,7 +6605,8 @@ public class ModItems {
GameRegistry.registerItem(particle_digamma, particle_digamma.getUnlocalizedName());
GameRegistry.registerItem(particle_lutece, particle_lutece.getUnlocalizedName());
//OMG how the hell is that even possible!?
//Singularities, black holes and other cosmic horrors
GameRegistry.registerItem(singularity_micro, singularity_micro.getUnlocalizedName());
GameRegistry.registerItem(singularity, singularity.getUnlocalizedName());
GameRegistry.registerItem(singularity_counter_resonant, singularity_counter_resonant.getUnlocalizedName());
GameRegistry.registerItem(singularity_super_heated, singularity_super_heated.getUnlocalizedName());
@ -7286,7 +7359,6 @@ public class ModItems {
GameRegistry.registerItem(gun_mp, gun_mp.getUnlocalizedName());
GameRegistry.registerItem(gun_bolter, gun_bolter.getUnlocalizedName());
GameRegistry.registerItem(gun_bolter_digamma, gun_bolter_digamma.getUnlocalizedName());
GameRegistry.registerItem(gun_brimstone, gun_brimstone.getUnlocalizedName());
GameRegistry.registerItem(gun_zomg, gun_zomg.getUnlocalizedName());
GameRegistry.registerItem(gun_emp, gun_emp.getUnlocalizedName());
GameRegistry.registerItem(gun_revolver_inverted, gun_revolver_inverted.getUnlocalizedName());
@ -7308,7 +7380,7 @@ public class ModItems {
GameRegistry.registerItem(gun_glass_cannon, gun_glass_cannon.getUnlocalizedName());
//Ammo
GameRegistry.registerItem(gun_revolver_iron_ammo, gun_revolver_iron_ammo.getUnlocalizedName());
/*GameRegistry.registerItem(gun_revolver_iron_ammo, gun_revolver_iron_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_revolver_ammo, gun_revolver_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_revolver_gold_ammo, gun_revolver_gold_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_revolver_lead_ammo, gun_revolver_lead_ammo.getUnlocalizedName());
@ -7316,7 +7388,7 @@ public class ModItems {
GameRegistry.registerItem(gun_revolver_cursed_ammo, gun_revolver_cursed_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_revolver_nightmare_ammo, gun_revolver_nightmare_ammo.getUnlocalizedName());
GameRegistry.registerItem(ammo_357_desh, ammo_357_desh.getUnlocalizedName());
GameRegistry.registerItem(gun_revolver_nightmare2_ammo, gun_revolver_nightmare2_ammo.getUnlocalizedName());
GameRegistry.registerItem(gun_revolver_nightmare2_ammo, gun_revolver_nightmare2_ammo.getUnlocalizedName());*/
//GameRegistry.registerItem(gun_revolver_pip_ammo, gun_revolver_pip_ammo.getUnlocalizedName());
//GameRegistry.registerItem(gun_revolver_nopip_ammo, gun_revolver_nopip_ammo.getUnlocalizedName());
//GameRegistry.registerItem(gun_calamity_ammo, gun_calamity_ammo.getUnlocalizedName());
@ -7345,6 +7417,30 @@ public class ModItems {
GameRegistry.registerItem(gun_euthanasia_ammo, gun_euthanasia_ammo.getUnlocalizedName());
GameRegistry.registerItem(ammo_12gauge, ammo_12gauge.getUnlocalizedName());
GameRegistry.registerItem(ammo_20gauge, ammo_20gauge.getUnlocalizedName());
GameRegistry.registerItem(ammo_4gauge, ammo_4gauge.getUnlocalizedName());
GameRegistry.registerItem(ammo_357, ammo_357.getUnlocalizedName());
GameRegistry.registerItem(ammo_44, ammo_44.getUnlocalizedName());
GameRegistry.registerItem(ammo_45, ammo_45.getUnlocalizedName());
GameRegistry.registerItem(ammo_5mm, ammo_5mm.getUnlocalizedName());
GameRegistry.registerItem(ammo_9mm, ammo_9mm.getUnlocalizedName());
GameRegistry.registerItem(ammo_556, ammo_556.getUnlocalizedName());
GameRegistry.registerItem(ammo_308, ammo_308.getUnlocalizedName());
GameRegistry.registerItem(ammo_22lr, ammo_22lr.getUnlocalizedName());
GameRegistry.registerItem(ammo_50ae, ammo_50ae.getUnlocalizedName());
GameRegistry.registerItem(ammo_50bmg, ammo_50bmg.getUnlocalizedName());
GameRegistry.registerItem(ammo_75bolt, ammo_75bolt.getUnlocalizedName());
GameRegistry.registerItem(ammo_fuel, ammo_fuel.getUnlocalizedName());
GameRegistry.registerItem(ammo_fireext, ammo_fireext.getUnlocalizedName());
GameRegistry.registerItem(ammo_cell, ammo_cell.getUnlocalizedName());
GameRegistry.registerItem(ammo_dart, ammo_dart.getUnlocalizedName());
GameRegistry.registerItem(ammo_rocket, ammo_rocket.getUnlocalizedName());
GameRegistry.registerItem(ammo_stinger_rocket, ammo_stinger_rocket.getUnlocalizedName());
GameRegistry.registerItem(ammo_luna_sniper, ammo_luna_sniper.getUnlocalizedName());
GameRegistry.registerItem(ammo_grenade, ammo_grenade.getUnlocalizedName());
GameRegistry.registerItem(ammo_shell, ammo_shell.getUnlocalizedName());
/*GameRegistry.registerItem(ammo_12gauge, ammo_12gauge.getUnlocalizedName());
GameRegistry.registerItem(ammo_12gauge_incendiary, ammo_12gauge_incendiary.getUnlocalizedName());
GameRegistry.registerItem(ammo_12gauge_shrapnel, ammo_12gauge_shrapnel.getUnlocalizedName());
GameRegistry.registerItem(ammo_12gauge_du, ammo_12gauge_du.getUnlocalizedName());
@ -7478,11 +7574,11 @@ public class ModItems {
GameRegistry.registerItem(ammo_shell_explosive, ammo_shell_explosive.getUnlocalizedName());
GameRegistry.registerItem(ammo_shell_apfsds_t, ammo_shell_apfsds_t.getUnlocalizedName());
GameRegistry.registerItem(ammo_shell_apfsds_du, ammo_shell_apfsds_du.getUnlocalizedName());
GameRegistry.registerItem(ammo_shell_w9, ammo_shell_w9.getUnlocalizedName());
GameRegistry.registerItem(ammo_shell_w9, ammo_shell_w9.getUnlocalizedName());*/
GameRegistry.registerItem(ammo_dgk, ammo_dgk.getUnlocalizedName());
GameRegistry.registerItem(ammo_arty, ammo_arty.getUnlocalizedName());
GameRegistry.registerItem(ammo_himars, ammo_himars.getUnlocalizedName());
GameRegistry.registerItem(ammo_nuke, ammo_nuke.getUnlocalizedName());
/*GameRegistry.registerItem(ammo_nuke, ammo_nuke.getUnlocalizedName());
GameRegistry.registerItem(ammo_nuke_low, ammo_nuke_low.getUnlocalizedName());
GameRegistry.registerItem(ammo_nuke_high, ammo_nuke_high.getUnlocalizedName());
GameRegistry.registerItem(ammo_nuke_tots, ammo_nuke_tots.getUnlocalizedName());
@ -7493,7 +7589,7 @@ public class ModItems {
GameRegistry.registerItem(ammo_mirv_low, ammo_mirv_low.getUnlocalizedName());
GameRegistry.registerItem(ammo_mirv_high, ammo_mirv_high.getUnlocalizedName());
GameRegistry.registerItem(ammo_mirv_safe, ammo_mirv_safe.getUnlocalizedName());
GameRegistry.registerItem(ammo_mirv_special, ammo_mirv_special.getUnlocalizedName());
GameRegistry.registerItem(ammo_mirv_special, ammo_mirv_special.getUnlocalizedName());*/
GameRegistry.registerItem(ammo_folly, ammo_folly.getUnlocalizedName());
GameRegistry.registerItem(ammo_folly_nuclear, ammo_folly_nuclear.getUnlocalizedName());
GameRegistry.registerItem(ammo_folly_du, ammo_folly_du.getUnlocalizedName());
@ -8329,5 +8425,151 @@ public class ModItems {
GameRegistry.registerItem(digamma_up_on_top, digamma_up_on_top.getUnlocalizedName());
GameRegistry.registerItem(mysteryshovel, mysteryshovel.getUnlocalizedName());
GameRegistry.registerItem(memory, memory.getUnlocalizedName());
addRemap("ammo_nuke_tots", 5594, ammo_nuke, AmmoFatman.TOTS);
addRemap("ammo_12gauge_incendiary", 5455, ammo_12gauge, Ammo12Gauge.INCENDIARY);
addRemap("ammo_12gauge_shrapnel", 5456, ammo_12gauge, Ammo12Gauge.SHRAPNEL);
addRemap("ammo_stinger_rocket_bones", 5572, ammo_stinger_rocket, AmmoStinger.BONES);
addRemap("ammo_556_flechette_phosphorus", 5515, ammo_556, Ammo556mm.FLECHETTE_PHOSPHORUS);
addRemap("ammo_50ae_chlorophyte", 5527, ammo_50ae, Ammo50AE.CHLOROPHYTE);
addRemap("gun_revolver_nightmare2_ammo", 5440, ammo_357, Ammo357Magnum.NIGHTMARE2);
addRemap("gun_revolver_iron_ammo", 5432, ammo_357, Ammo357Magnum.IRON);
addRemap("ammo_50bmg_star", 5534, ammo_50bmg, Ammo50BMG.STAR);
addRemap("ammo_556_star", 5509, ammo_556, Ammo556mm.STAR);
addRemap("ammo_556_flechette", 5513, ammo_556, Ammo556mm.FLECHETTE);
addRemap("ammo_12gauge_du", 5457, ammo_12gauge, Ammo12Gauge.DU);
addRemap("ammo_shell_apfsds_t", 5586, ammo_shell, Ammo240Shell.APFSDS_T);
addRemap("ammo_4gauge_void", 5481, ammo_4gauge, Ammo4Gauge.VOID);
addRemap("ammo_shell_apfsds_du", 5587, ammo_shell, Ammo240Shell.APFSDS_DU);
addRemap("ammo_fireext_foam", 5549, ammo_fireext, AmmoFireExt.FOAM);
addRemap("ammo_556_flechette_chlorophyte", 5517, ammo_556, Ammo556mm.FLECHETTE_CHLOROPHYTE);
addRemap("ammo_fuel_vaporizer", 5546, ammo_fuel, AmmoFlamethrower.VAPORIZER);
addRemap("ammo_4gauge_titan", 5482, ammo_4gauge, Ammo4Gauge.QUACK);
addRemap("ammo_556_phosphorus", 5506, ammo_556, Ammo556mm.PHOSPHORUS);
addRemap("ammo_4gauge_flechette_phosphorus", 5473, ammo_4gauge, Ammo4Gauge.FLECHETTE_PHOSPHORUS);
addRemap("ammo_shell_w9", 5588, ammo_shell, Ammo240Shell.W9);
addRemap("gun_revolver_gold_ammo", 5434, ammo_357, Ammo357Magnum.GOLD);
addRemap("ammo_556_flechette_du", 5516, ammo_556, Ammo556mm.FLECHETTE_DU);
addRemap("ammo_20gauge_incendiary", 5463, ammo_20gauge, Ammo20Gauge.INCENDIARY);
addRemap("ammo_shell_explosive", 5585, ammo_shell, Ammo240Shell.EXPLOSIVE);
addRemap("ammo_20gauge_explosive", 5465, ammo_20gauge, Ammo20Gauge.EXPLOSIVE);
addRemap("ammo_556_k", 5519, ammo_556, Ammo556mm.K);
addRemap("ammo_44_phosphorus", 5487, ammo_44, Ammo44Magnum.PHOSPHORUS);
addRemap("gun_revolver_cursed_ammo", 5437, ammo_357, Ammo357Magnum.STEEL);
addRemap("ammo_556_flechette_incendiary", 5514, ammo_556, Ammo556mm.FLECHETTE_INCENDIARY);
addRemap("ammo_75bolt_he", 5542, ammo_75bolt, Ammo75Bolt.HE);
addRemap("ammo_20gauge_flechette", 5462, ammo_20gauge, Ammo20Gauge.FLECHETTE);
addRemap("ammo_rocket_shrapnel", 5559, ammo_rocket, AmmoRocket.SHRAPNEL);
addRemap("ammo_556_chlorophyte", 5510, ammo_556, Ammo556mm.CHLOROPHYTE);
addRemap("ammo_12gauge_marauder", 5459, ammo_12gauge, Ammo12Gauge.MARAUDER);
addRemap("ammo_50bmg_chlorophyte", 5535, ammo_50bmg, Ammo50BMG.CHLOROPHYTE);
addRemap("ammo_rocket_emp", 5560, ammo_rocket, AmmoRocket.EMP);
addRemap("ammo_4gauge_vampire", 5480, ammo_4gauge, Ammo4Gauge.VAMPIRE);
addRemap("ammo_5mm_du", 5496, ammo_5mm, Ammo5mm.DU);
addRemap("ammo_9mm_rocket", 5503, ammo_9mm, Ammo9mm.ROCKET);
addRemap("gun_revolver_ammo", 5433, ammo_357, Ammo357Magnum.LEAD);
addRemap("ammo_grenade_sleek", 5580, ammo_grenade, AmmoGrenade.SLEEK);
addRemap("ammo_4gauge_slug", 5471, ammo_4gauge, Ammo4Gauge.SLUG);
addRemap("ammo_4gauge_kampf", 5477, ammo_4gauge, Ammo4Gauge.KAMPF);
addRemap("ammo_20gauge_shrapnel", 5464, ammo_20gauge, Ammo20Gauge.SHRAPNEL);
addRemap("ammo_5mm_explosive", 5495, ammo_5mm, Ammo5mm.EXPLOSIVE);
addRemap("gun_revolver_nightmare_ammo", 5438, ammo_357, Ammo357Magnum.NIGHTMARE1);
addRemap("ammo_stinger_rocket_he", 5569, ammo_stinger_rocket, AmmoStinger.HE);
addRemap("ammo_20gauge_caustic", 5466, ammo_20gauge, Ammo20Gauge.CAUSTIC);
addRemap("ammo_4gauge_semtex", 5475, ammo_4gauge, Ammo4Gauge.MINING);
addRemap("ammo_grenade_kampf", 5583, ammo_grenade, AmmoGrenade.KAMPF);
addRemap("ammo_556_flechette_sleek", 5518, ammo_556, Ammo556mm.FLECHETTE_SLEEK);
addRemap("ammo_mirv_special", 5602, ammo_nuke, AmmoFatman.MIRV_SPECIAL);
addRemap("ammo_50bmg_flechette", 5536, ammo_50bmg, Ammo50BMG.FLECHETTE);
addRemap("ammo_556_sleek", 5511, ammo_556, Ammo556mm.SLEEK);
addRemap("ammo_9mm_chlorophyte", 5502, ammo_9mm, Ammo9mm.CHLOROPHYTE);
addRemap("ammo_nuke_barrel", 5597, ammo_nuke, AmmoFatman.BARREL);
addRemap("ammo_nuke_low", 5592, ammo_nuke, AmmoFatman.LOW);
addRemap("ammo_fireext_sand", 5550, ammo_fireext, AmmoFireExt.SAND);
addRemap("ammo_44_silver", 5492, ammo_44, Ammo44Magnum.SILVER);
addRemap("ammo_grenade_concussion", 5578, ammo_grenade, AmmoGrenade.CONCUSSION);
addRemap("ammo_20gauge_shock", 5467, ammo_20gauge, Ammo20Gauge.SHOCK);
addRemap("ammo_4gauge_flechette", 5472, ammo_4gauge, Ammo4Gauge.FLECHETTE);
addRemap("ammo_rocket_toxic", 5562, ammo_rocket, AmmoRocket.CHLORINE);
addRemap("ammo_50bmg_explosive", 5531, ammo_50bmg, Ammo50BMG.EXPLOSIVE);
addRemap("ammo_grenade_finned", 5579, ammo_grenade, AmmoGrenade.FINNED);
addRemap("ammo_dart_nuclear", 5553, ammo_dart, AmmoDart.NUCLEAR);
addRemap("ammo_grenade_phosphorus", 5576, ammo_grenade, AmmoGrenade.PHOSPHORUS);
addRemap("ammo_5mm_star", 5497, ammo_5mm, Ammo5mm.STAR);
addRemap("ammo_4gauge_sleek", 5483, ammo_4gauge, Ammo4Gauge.SLEEK);
addRemap("ammo_mirv_high", 5600, ammo_nuke, AmmoFatman.MIRV_HIGH);
addRemap("ammo_5mm_chlorophyte", 5498, ammo_5mm, Ammo5mm.CHLOROPHYTE);
addRemap("ammo_50bmg_flechette_po", 5538, ammo_50bmg, Ammo50BMG.FLECHETTE_PO);
addRemap("ammo_50ae_star", 5526, ammo_50ae, Ammo50AE.STAR);
addRemap("ammo_50bmg_flechette_am", 5537, ammo_50bmg, Ammo50BMG.FLECHETTE_AM);
addRemap("ammo_9mm_ap", 5500, ammo_9mm, Ammo9mm.AP);
addRemap("ammo_mirv", 5598, ammo_nuke, AmmoFatman.MIRV);
addRemap("ammo_4gauge_claw", 5479, ammo_4gauge, Ammo4Gauge.CLAW);
addRemap("ammo_rocket_glare", 5561, ammo_rocket, AmmoRocket.GLARE);
addRemap("ammo_stinger_rocket_incendiary", 5570, ammo_stinger_rocket, AmmoStinger.INCENDIARY);
addRemap("ammo_rocket_incendiary", 5557, ammo_rocket, AmmoRocket.INCENDIARY);
addRemap("ammo_50ae_ap", 5524, ammo_50ae, Ammo50AE.AP);
addRemap("ammo_mirv_safe", 5601, ammo_nuke, AmmoFatman.MIRV_SAFE);
addRemap("ammo_4gauge_canister", 5478, ammo_4gauge, Ammo4Gauge.CANISTER);
addRemap("ammo_50ae_du", 5525, ammo_50ae, Ammo50AE.DU);
addRemap("ammo_44_ap", 5485, ammo_44, Ammo44Magnum.AP);
addRemap("ammo_44_bj", 5491, ammo_44, Ammo44Magnum.BJ);
addRemap("ammo_rocket_sleek", 5564, ammo_rocket, AmmoRocket.SLEEK);
addRemap("ammo_nuke_high", 5593, ammo_nuke, AmmoFatman.HIGH);
addRemap("ammo_grenade_incendiary", 5575, ammo_grenade, AmmoGrenade.INCENDIARY);
addRemap("ammo_44_du", 5486, ammo_44, Ammo44Magnum.DU);
addRemap("ammo_50bmg_ap", 5532, ammo_50bmg, Ammo50BMG.AP);
addRemap("ammo_50bmg_du", 5533, ammo_50bmg, Ammo50BMG.DU);
addRemap("ammo_9mm_du", 5501, ammo_9mm, Ammo9mm.DU);
addRemap("ammo_20gauge_slug", 5461, ammo_20gauge, Ammo20Gauge.SLUG);
addRemap("ammo_grenade_tracer", 5582, ammo_grenade, AmmoGrenade.TRACER);
addRemap("ammo_fuel_phosphorus", 5545, ammo_fuel, AmmoFlamethrower.PHOSPHORUS);
addRemap("ammo_44_pip", 5490, ammo_44, Ammo44Magnum.PIP);
addRemap("ammo_grenade_toxic", 5577, ammo_grenade, AmmoGrenade.CHLORINE);
addRemap("ammo_nuke_safe", 5595, ammo_nuke, AmmoFatman.SAFE);
addRemap("gun_mp_ammo", 5505, ammo_556, Ammo556mm.GOLD);
addRemap("gun_revolver_lead_ammo", 5435, ammo_357, Ammo357Magnum.NUCLEAR);
addRemap("ammo_stinger_rocket_nuclear", 5571, ammo_stinger_rocket, AmmoStinger.NUCLEAR);
addRemap("ammo_grenade_nuclear", 5581, ammo_grenade, AmmoGrenade.NUCLEAR);
addRemap("ammo_rocket_digamma", 5567, ammo_rocket, AmmoRocket.DIGAMMA);
addRemap("ammo_rocket_nuclear", 5565, ammo_rocket, AmmoRocket.NUCLEAR);
addRemap("ammo_mirv_low", 5599, ammo_nuke, AmmoFatman.MIRV_LOW);
addRemap("ammo_44_chlorophyte", 5489, ammo_44, Ammo44Magnum.CHLOROPHYTE);
addRemap("ammo_22lr_chlorophyte", 5522, ammo_22lr, Ammo22LR.CHLOROPHYTE);
addRemap("ammo_12gauge_sleek", 5458, ammo_12gauge, Ammo12Gauge.SLEEK);
addRemap("ammo_20gauge_sleek", 5469, ammo_20gauge, Ammo20Gauge.SLEEK);
addRemap("ammo_4gauge_explosive", 5474, ammo_4gauge, Ammo4Gauge.EXPLOSIVE);
addRemap("ammo_50bmg_incendiary", 5529, ammo_50bmg, Ammo50BMG.INCENDIARY);
addRemap("ammo_556_du", 5508, ammo_556, Ammo556mm.DU);
addRemap("ammo_fuel_napalm", 5544, ammo_fuel, AmmoFlamethrower.NAPALM);
addRemap("gun_revolver_schrabidium_ammo", 5436, ammo_357, Ammo357Magnum.SCHRABIDIUM);
addRemap("ammo_556_ap", 5507, ammo_556, Ammo556mm.AP);
addRemap("ammo_20gauge_wither", 5468, ammo_20gauge, Ammo20Gauge.WITHER);
addRemap("ammo_rocket_rpc", 5566, ammo_rocket, AmmoRocket.RPC);
addRemap("ammo_fuel_gas", 5547, ammo_fuel, AmmoFlamethrower.CHLORINE);
addRemap("ammo_22lr_ap", 5521, ammo_22lr, Ammo22LR.AP);
addRemap("ammo_grenade_he", 5574, ammo_grenade, AmmoGrenade.HE);
addRemap("ammo_4gauge_balefire", 5476, ammo_4gauge, Ammo4Gauge.BALEFIRE);
addRemap("ammo_357_desh", 5439, ammo_357, Ammo357Magnum.DESH);
addRemap("ammo_nuke_pumpkin", 5596, ammo_nuke, AmmoFatman.PUMPKIN);
addRemap("ammo_44_star", 5488, ammo_44, Ammo44Magnum.STAR);
addRemap("ammo_50bmg_sleek", 5539, ammo_50bmg, Ammo50BMG.SLEEK);
addRemap("ammo_dart_nerf", 5554, ammo_dart, AmmoDart.NERF);
addRemap("ammo_50bmg_phosphorus", 5530, ammo_50bmg, Ammo50BMG.PHOSPHORUS);
addRemap("ammo_44_rocket", 5493, ammo_44, Ammo44Magnum.ROCKET);
addRemap("ammo_rocket_he", 5556, ammo_rocket, AmmoRocket.HE);
addRemap("ammo_556_tracer", 5512, ammo_556, Ammo556mm.TRACER);
addRemap("ammo_75bolt_incendiary", 5541, ammo_75bolt, Ammo75Bolt.INCENDIARY);
addRemap("ammo_rocket_canister", 5563, ammo_rocket, AmmoRocket.CANISTER);
addRemap("ammo_rocket_phosphorus", 5558, ammo_rocket, AmmoRocket.PHOSPHORUS);
}
public static void addRemap(String unloc, int removoingTheseWouldTakeForever, Item item, Enum sub) {
addRemap(unloc, item, sub.ordinal());
}
public static void addRemap(String unloc, Item item, int meta) {
Item remap = new ItemRemap(item, meta).setUnlocalizedName(unloc).setTextureName(RefStrings.MODID + ":plate_armor_titanium");
GameRegistry.registerItem(remap, remap.getUnlocalizedName());
}
}

View File

@ -1,281 +0,0 @@
package com.hbm.items.weapon;
import java.util.List;
import java.util.Random;
import com.google.common.collect.Multimap;
import com.hbm.entity.projectile.EntityBullet;
import com.hbm.items.ModItems;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumAction;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.ArrowLooseEvent;
import net.minecraftforge.event.entity.player.ArrowNockEvent;
public class GunBoltAction extends Item {
Random rand = new Random();
public int dmgMin = 16;
public int dmgMax = 28;
public GunBoltAction() {
this.maxStackSize = 1;
if(this == ModItems.gun_bolt_action)
this.setMaxDamage(750);
if(this == ModItems.gun_bolt_action_green)
this.setMaxDamage(500);
if(this == ModItems.gun_bolt_action_saturnite) {
this.setMaxDamage(2500);
dmgMin = 24;
dmgMax = 36;
}
}
/**
* called when the player releases the use item button. Args: itemstack,
* world, entityplayer, itemInUseCount
*/
@Override
public void onPlayerStoppedUsing(ItemStack p_77615_1_, World p_77615_2_, EntityPlayer p_77615_3_, int p_77615_4_) {
int j = this.getMaxItemUseDuration(p_77615_1_) - p_77615_4_;
ArrowLooseEvent event = new ArrowLooseEvent(p_77615_3_, p_77615_1_, j);
MinecraftForge.EVENT_BUS.post(event);
j = event.charge;
boolean flag = p_77615_3_.capabilities.isCreativeMode
|| EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, p_77615_1_) > 0;
if (flag || p_77615_3_.inventory.hasItem(ModItems.ammo_20gauge_slug)) {
float f = j / 20.0F;
f = (f * f + f * 2.0F) / 3.0F;
if (j < 10.0D) {
return;
}
if (j > 10.0F) {
f = 10.0F;
}
EntityBullet entityarrow1;
entityarrow1 = new EntityBullet(p_77615_2_, p_77615_3_, 3.0F, dmgMin, dmgMax, false, false);
entityarrow1.setDamage(dmgMin + rand.nextInt(dmgMax - dmgMin));
if(this == ModItems.gun_bolt_action_saturnite)
entityarrow1.fire = true;
p_77615_1_.damageItem(1, p_77615_3_);
p_77615_2_.playSoundAtEntity(p_77615_3_, "hbm:weapon.revolverShoot", 5.0F, 0.75F);
if (flag) { } else {
p_77615_3_.inventory.consumeInventoryItem(ModItems.ammo_20gauge_slug);
}
if (!p_77615_2_.isRemote) {
p_77615_2_.spawnEntityInWorld(entityarrow1);
}
setAnim(p_77615_1_, 1);
}
}
@Override
public void onUpdate(ItemStack stack, World world, Entity entity, int i, boolean b) {
int j = getAnim(stack);
if(j > 0) {
if(j < 30)
setAnim(stack, j + 1);
else
setAnim(stack, 0);
if(j == 15)
world.playSoundAtEntity(entity, "hbm:weapon.leverActionReload", 2F, 0.85F);
}
}
@Override
public ItemStack onEaten(ItemStack p_77654_1_, World p_77654_2_, EntityPlayer p_77654_3_) {
return p_77654_1_;
}
/**
* How long it takes to use or consume an item
*/
@Override
public int getMaxItemUseDuration(ItemStack p_77626_1_) {
return 72000;
}
/**
* returns the action that specifies what animation to play when the items
* is being used
*/
@Override
public EnumAction getItemUseAction(ItemStack p_77661_1_) {
return EnumAction.bow;
}
/**
* Called whenever this item is equipped and the right mouse button is
* pressed. Args: itemStack, world, entityPlayer
*/
@Override
public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) {
ArrowNockEvent event = new ArrowNockEvent(p_77659_3_, p_77659_1_);
MinecraftForge.EVENT_BUS.post(event);
if(this.getAnim(p_77659_1_) == 0)
p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_));
return p_77659_1_;
}
/**
* Return the enchantability factor of the item, most of the time is based
* on material.
*/
@Override
public int getItemEnchantability() {
return 1;
}
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
if(this == ModItems.gun_bolt_action) {
list.add("-Star in a movie");
list.add("-Have a laugh with a horse");
list.add("-Ride a tipping train");
list.add("-Lose friend to native americans");
}
if(this == ModItems.gun_bolt_action_green) {
list.add("Floppy disks and pink, flashy orbs.");
}
if(this == ModItems.gun_bolt_action_saturnite) {
list.add("Shiny shooter made from D-25A alloy.");
}
list.add("");
list.add("Ammo: 12x74 Slug");
if(this == ModItems.gun_bolt_action_saturnite) {
list.add("Damage: 24 - 36");
list.add("Sets enemy on fire.");
} else {
list.add("Damage: 16 - 28");
}
}
@Override
public Multimap getItemAttributeModifiers() {
Multimap multimap = super.getItemAttributeModifiers();
multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(),
new AttributeModifier(field_111210_e, "Weapon modifier", 3.5, 0));
return multimap;
}
private static int getAnim(ItemStack stack) {
if(stack.stackTagCompound == null) {
stack.stackTagCompound = new NBTTagCompound();
return 0;
}
return stack.stackTagCompound.getInteger("animation");
}
private static void setAnim(ItemStack stack, int i) {
if(stack.stackTagCompound == null) {
stack.stackTagCompound = new NBTTagCompound();
}
stack.stackTagCompound.setInteger("animation", i);
}
public static float getRotationFromAnim(ItemStack stack) {
float rad = 0.0174533F;
rad *= 7.5F;
int i = getAnim(stack);
if(i < 10)
return 0;
i -= 10;
if(i < 10)
return rad * i;
else
return (rad * 10) - (rad * (i - 10));
}
public static float getLevRotationFromAnim(ItemStack stack) {
float rad = 0.0174533F;
rad *= 10F;
int i = getAnim(stack);
if(i < 10)
return 0;
i -= 10;
if(i < 6)
return rad * i;
if(i > 14)
return rad * (5 - (i - 15));
return rad * 5;
}
public static float getOffsetFromAnim(ItemStack stack) {
float i = getAnim(stack);
if(i < 10)
return 0;
i -= 10;
if(i < 10)
return i / 10;
else
return 2 - (i / 10);
}
public static float getTransFromAnim(ItemStack stack) {
float i = getAnim(stack);
if(i < 10)
return 0;
i -= 10;
if(i > 4 && i < 10)
return (i - 5) * 0.1F;
if(i > 9 && i < 15)
return (10 * 0.1F) - ((i - 5) * 0.1F);
return 0;
}
@Override
public EnumRarity getRarity(ItemStack p_77613_1_) {
if(this == ModItems.gun_bolt_action_saturnite)
return EnumRarity.rare;
return EnumRarity.uncommon;
}
}

View File

@ -1,90 +0,0 @@
package com.hbm.items.weapon;
import java.util.List;
import java.util.Random;
import com.google.common.collect.Multimap;
import com.hbm.entity.projectile.EntityLaser;
import com.hbm.items.ModItems;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumAction;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.event.entity.player.ArrowNockEvent;
public class GunBrimstone extends Item {
Random rand = new Random();
public GunBrimstone() {
this.maxStackSize = 1;
}
@Override
public EnumAction getItemUseAction(ItemStack par1ItemStack) {
return EnumAction.bow;
}
@Override
public int getMaxItemUseDuration(ItemStack p_77626_1_) {
return 72000;
}
@Override
public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) {
new ArrowNockEvent(p_77659_3_, p_77659_1_);
{
p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_));
}
return p_77659_1_;
}
@Override
public void onUsingTick(ItemStack stack, EntityPlayer player, int count) {
World world = player.worldObj;
boolean flag = player.capabilities.isCreativeMode
|| EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0;
if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.ammo_566_gold)) && count % 1 == 0) {
EntityLaser laser = new EntityLaser(world, player);
//world.playSoundAtEntity(player, "hbm:weapon.rifleShoot", 1.0F, 0.8F + (rand.nextFloat() * 0.4F));
if (!flag) {
player.inventory.consumeInventoryItem(ModItems.gun_dash_ammo);
}
if (!world.isRemote) {
world.spawnEntityInWorld(laser);
}
}
}
@Override
public int getItemEnchantability() {
return 0;
}
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
list.add("[LEGENDARY WEAPON]");
}
@Override
public Multimap getItemAttributeModifiers() {
Multimap multimap = super.getItemAttributeModifiers();
multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(),
new AttributeModifier(field_111210_e, "Weapon modifier", 5, 0));
return multimap;
}
}

View File

@ -1,102 +0,0 @@
package com.hbm.items.weapon;
import java.util.List;
import java.util.Random;
import com.google.common.collect.Multimap;
import com.hbm.entity.projectile.EntityBullet;
import com.hbm.items.ModItems;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumAction;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.event.entity.player.ArrowNockEvent;
public class GunMP extends Item {
Random rand = new Random();
public GunMP() {
this.maxStackSize = 1;
}
@Override
public EnumAction getItemUseAction(ItemStack par1ItemStack) {
return EnumAction.bow;
}
@Override
public int getMaxItemUseDuration(ItemStack p_77626_1_) {
return 72000;
}
@Override
public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) {
new ArrowNockEvent(p_77659_3_, p_77659_1_);
{
p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_));
}
return p_77659_1_;
}
@Override
public void onUsingTick(ItemStack stack, EntityPlayer player, int count) {
World world = player.worldObj;
boolean flag = player.capabilities.isCreativeMode
|| EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0;
if ((player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.ammo_566_gold)) && count % 3 == 0) {
EntityBullet entityarrow = new EntityBullet(world, player, 3.0F, 100, 150, false, false);
entityarrow.setDamage(100 + rand.nextInt(50));
// world.playSoundAtEntity(player, "random.explode", 1.0F, 1.5F +
// (rand.nextFloat() / 4));
world.playSoundAtEntity(player, "hbm:weapon.rifleShoot", 1.0F, 0.8F + (rand.nextFloat() * 0.4F));
if (flag) {
entityarrow.canBePickedUp = 2;
} else {
player.inventory.consumeInventoryItem(ModItems.ammo_566_gold);
}
if (!world.isRemote) {
world.spawnEntityInWorld(entityarrow);
}
}
}
@Override
public int getItemEnchantability() {
return 0;
}
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
list.add("Isn't that name a little contrary,");
list.add("you can't be a pacifist AND");
list.add("shoot people. Logic errors aside,");
list.add("whose blood is that? The former");
list.add("user's? The victim's? Both?");
list.add("");
list.add("Ammo: Small Propellantless Machine Gun Round");
list.add("Damage: 100 - 150");
list.add("");
list.add("[LEGENDARY WEAPON]");
}
@Override
public Multimap getItemAttributeModifiers() {
Multimap multimap = super.getItemAttributeModifiers();
multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(),
new AttributeModifier(field_111210_e, "Weapon modifier", 5, 0));
return multimap;
}
}

View File

@ -1,237 +0,0 @@
package com.hbm.items.weapon;
import java.util.List;
import java.util.Random;
import com.google.common.collect.Multimap;
import com.hbm.entity.projectile.EntityBullet;
import com.hbm.entity.projectile.EntityNightmareBlast;
import com.hbm.items.ModItems;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumAction;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ChatComponentText;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.ArrowLooseEvent;
import net.minecraftforge.event.entity.player.ArrowNockEvent;
public class GunNightmare extends Item {
private int dmgMin;
private int dmgMax;
public Item ammo;
Random rand = new Random();
public GunNightmare() {
this.maxStackSize = 1;
if (this == ModItems.gun_revolver_nightmare) {
this.dmgMin = 1;
this.dmgMax = 100;
this.ammo = ModItems.gun_revolver_nightmare_ammo;
}
if (this == ModItems.gun_revolver_nightmare2) {
this.dmgMin = 25;
this.dmgMax = 150;
this.ammo = ModItems.gun_revolver_nightmare2_ammo;
}
}
@Override
public EnumRarity getRarity(ItemStack p_77613_1_) {
return EnumRarity.uncommon;
}
@Override
public void onPlayerStoppedUsing(ItemStack p_77615_1_, World p_77615_2_, EntityPlayer p_77615_3_, int p_77615_4_) {
int j = this.getMaxItemUseDuration(p_77615_1_) - p_77615_4_;
ArrowLooseEvent event = new ArrowLooseEvent(p_77615_3_, p_77615_1_, j);
MinecraftForge.EVENT_BUS.post(event);
j = event.charge;
float f = j / 20.0F;
f = (f * f + f * 2.0F) / 3.0F;
if (j < 10.0D) {
return;
}
if (j > 10.0F) {
f = 10.0F;
}
if (this == ModItems.gun_revolver_nightmare) {
EntityBullet entityarrow;
entityarrow = new EntityBullet(p_77615_2_, p_77615_3_, 3.0F, dmgMin, dmgMax, false, false);
entityarrow.setDamage(1 + rand.nextInt(99));
if (!p_77615_2_.isRemote) {
p_77615_2_.spawnEntityInWorld(entityarrow);
}
}
if (this == ModItems.gun_revolver_nightmare2) {
EntityNightmareBlast entityarrow0;
EntityNightmareBlast entityarrow1;
EntityNightmareBlast entityarrow2;
EntityNightmareBlast entityarrow3;
EntityNightmareBlast entityarrow4;
EntityNightmareBlast entityarrow5;
EntityNightmareBlast entityarrow6;
EntityNightmareBlast entityarrow7;
EntityNightmareBlast entityarrow8;
EntityNightmareBlast entityarrow9;
entityarrow0 = new EntityNightmareBlast(p_77615_2_, p_77615_3_, 3.0F);
entityarrow0.setDamage(25 + rand.nextInt(150 - 25));
entityarrow1 = new EntityNightmareBlast(p_77615_2_, p_77615_3_, 3.0F);
entityarrow1.setDamage(25 + rand.nextInt(150 - 25));
entityarrow2 = new EntityNightmareBlast(p_77615_2_, p_77615_3_, 3.0F);
entityarrow2.setDamage(25 + rand.nextInt(150 - 25));
entityarrow3 = new EntityNightmareBlast(p_77615_2_, p_77615_3_, 3.0F);
entityarrow3.setDamage(25 + rand.nextInt(150 - 25));
entityarrow4 = new EntityNightmareBlast(p_77615_2_, p_77615_3_, 3.0F);
entityarrow4.setDamage(25 + rand.nextInt(150 - 25));
entityarrow5 = new EntityNightmareBlast(p_77615_2_, p_77615_3_, 3.0F);
entityarrow5.setDamage(25 + rand.nextInt(150 - 25));
entityarrow6 = new EntityNightmareBlast(p_77615_2_, p_77615_3_, 3.0F);
entityarrow6.setDamage(25 + rand.nextInt(150 - 25));
entityarrow7 = new EntityNightmareBlast(p_77615_2_, p_77615_3_, 3.0F);
entityarrow7.setDamage(25 + rand.nextInt(150 - 25));
entityarrow8 = new EntityNightmareBlast(p_77615_2_, p_77615_3_, 3.0F);
entityarrow8.setDamage(25 + rand.nextInt(150 - 25));
entityarrow9 = new EntityNightmareBlast(p_77615_2_, p_77615_3_, 3.0F);
entityarrow9.setDamage(25 + rand.nextInt(150 - 25));
if (!p_77615_2_.isRemote) {
p_77615_2_.spawnEntityInWorld(entityarrow0);
p_77615_2_.spawnEntityInWorld(entityarrow1);
p_77615_2_.spawnEntityInWorld(entityarrow2);
p_77615_2_.spawnEntityInWorld(entityarrow3);
p_77615_2_.spawnEntityInWorld(entityarrow4);
p_77615_2_.spawnEntityInWorld(entityarrow5);
p_77615_2_.spawnEntityInWorld(entityarrow6);
p_77615_2_.spawnEntityInWorld(entityarrow7);
p_77615_2_.spawnEntityInWorld(entityarrow8);
p_77615_2_.spawnEntityInWorld(entityarrow9);
}
}
p_77615_2_.playSoundAtEntity(p_77615_3_, "hbm:weapon.schrabidiumShoot", 1.0F, 1.0F);
boolean flag = p_77615_3_.capabilities.isCreativeMode
|| EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, p_77615_1_) > 0;
if (!flag)
p_77615_1_.setItemDamage(p_77615_1_.getItemDamage() + 1);
}
@Override
public ItemStack onEaten(ItemStack p_77654_1_, World p_77654_2_, EntityPlayer p_77654_3_) {
return p_77654_1_;
}
/**
* How long it takes to use or consume an item
*/
@Override
public int getMaxItemUseDuration(ItemStack p_77626_1_) {
return 72000;
}
/**
* returns the action that specifies what animation to play when the items
* is being used
*/
@Override
public EnumAction getItemUseAction(ItemStack p_77661_1_) {
return EnumAction.bow;
}
/**
* Called whenever this item is equipped and the right mouse button is
* pressed. Args: itemStack, world, entityPlayer
*/
@Override
public ItemStack onItemRightClick(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) {
ArrowNockEvent event = new ArrowNockEvent(p_77659_3_, p_77659_1_);
MinecraftForge.EVENT_BUS.post(event);
if (!p_77659_3_.isSneaking()) {
if (p_77659_1_.getItemDamage() < 6) {
p_77659_3_.setItemInUse(p_77659_1_, this.getMaxItemUseDuration(p_77659_1_));
} else {
if(p_77659_2_.isRemote)
p_77659_3_.addChatMessage(new ChatComponentText("[Nightmare] Out of ammo! Shift right-click to reload!"));
}
} else if(p_77659_1_.getItemDamage() > 0) {
int j = 0;
for(int i = 0; i < 6; i++) {
if(p_77659_1_.getItem() == ModItems.gun_revolver_nightmare && p_77659_3_.inventory.consumeInventoryItem(ModItems.gun_revolver_nightmare_ammo)) {
p_77659_1_.setItemDamage(p_77659_1_.getItemDamage() - 1);
j++;
}
if(p_77659_1_.getItem() == ModItems.gun_revolver_nightmare2 && p_77659_3_.inventory.consumeInventoryItem(ModItems.gun_revolver_nightmare2_ammo)) {
p_77659_1_.setItemDamage(p_77659_1_.getItemDamage() - 1);
j++;
}
if(p_77659_1_.getItemDamage() == 0)
break;
}
if(j > 0) {
if(p_77659_2_.isRemote)
p_77659_3_.addChatMessage(new ChatComponentText("[Nightmare] Reloaded!"));
p_77659_3_.swingItem();
}
}
return p_77659_1_;
}
/**
* Return the enchantability factor of the item, most of the time is based
* on material.
*/
@Override
public int getItemEnchantability() {
return 1;
}
@Override
public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) {
if (this == ModItems.gun_revolver_nightmare) {
list.add("Never let a cat doze on your belly when you sleep.");
list.add("");
list.add("Ammo: Nightmare Bullets");
list.add("Damage: 1 - 100");
}
if (this == ModItems.gun_revolver_nightmare2) {
list.add("Ominous references. *shivers*");
list.add("");
list.add("Ammo: Laser Buckshot");
list.add("Damage: 25 - 150");
}
}
@Override
public Multimap getItemAttributeModifiers() {
Multimap multimap = super.getItemAttributeModifiers();
multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(),
new AttributeModifier(field_111210_e, "Weapon modifier", 2.5, 0));
return multimap;
}
}

View File

@ -40,7 +40,7 @@ public class GunSuicide extends Item {
this.setMaxDamage(500);
}
this.ammo = ModItems.gun_revolver_ammo;
this.ammo = ModItems.ammo_357;
}
/**

View File

@ -1,22 +1,30 @@
package com.hbm.items.weapon;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Random;
import java.util.Set;
import com.hbm.handler.BulletConfiguration;
import com.hbm.handler.indexing.AmmoIndex;
import com.hbm.handler.indexing.AmmoIndex.AmmoTrait;
import com.hbm.items.ItemAmmoEnums.AmmoRocket;
import com.hbm.items.ItemAmmoEnums.IAmmoItemEnum;
import com.hbm.items.ItemEnumMulti;
import com.hbm.items.ModItems;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
import com.hbm.util.EnumUtil;
import com.hbm.util.I18nUtil;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
public class ItemAmmo extends Item {
public class ItemAmmo extends ItemEnumMulti {
//TODO: implement all this
public enum AmmoItemTrait {
CON_ACCURACY2,
CON_DAMAGE,
@ -103,659 +111,51 @@ public class ItemAmmo extends Item {
}
}
private AmmoItemTrait[] traits;
private final String altName;
public ItemAmmo(AmmoItemTrait... traits) {
this.traits = traits;
this.setCreativeTab(MainRegistry.weaponTab);
public ItemAmmo(Class<? extends Enum<?>> clazz) {
this(clazz, "");
}
@Override
public Item setUnlocalizedName(String unlocalizedName) {
super.setUnlocalizedName(unlocalizedName);
this.setTextureName(RefStrings.MODID + ":"+ unlocalizedName);
return this;
}
public ItemAmmo index(AmmoTrait... traits) {
AmmoIndex.registerAmmo(this, traits);
return this;
public ItemAmmo(Class<? extends Enum<?>> clazz, String altName) {
super(clazz, true, true);
setCreativeTab(MainRegistry.weaponTab);
this.altName = altName;
}
@Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
super.addInformation(stack, player, list, ext);
if(!altName.isEmpty()) list.add(EnumChatFormatting.ITALIC + I18nUtil.resolveKey(altName));
//12 GAUGE
if(this == ModItems.ammo_12gauge_incendiary) {
list.add(EnumChatFormatting.BLUE + "+ Incendiary");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_12gauge_shrapnel) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.YELLOW + "* Extra bouncy");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_12gauge_du) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.BLUE + "+ Penetrating");
list.add(EnumChatFormatting.YELLOW + "* Heavy Metal");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_12gauge_marauder) {
list.add(EnumChatFormatting.BLUE + "+ Instantly removes annoying and unbalanced enemies");
list.add(EnumChatFormatting.YELLOW + "* No drawbacks lole");
}
if(this == ModItems.ammo_12gauge_sleek) {
list.add(EnumChatFormatting.YELLOW + "* Fires a tracer which summons a storm of DU-flechettes");
}
//20 GAUGE
if(this == ModItems.ammo_20gauge_flechette) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.YELLOW + "* Less bouncy");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_20gauge_slug) {
list.add(EnumChatFormatting.BLUE + "+ Near-perfect accuracy");
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.BLUE + "+ Decreased wear");
list.add(EnumChatFormatting.RED + "- Single projectile");
}
if(this == ModItems.ammo_20gauge_incendiary) {
list.add(EnumChatFormatting.BLUE + "+ Incendiary");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_20gauge_shrapnel) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.YELLOW + "* Extra bouncy");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_20gauge_explosive) {
list.add(EnumChatFormatting.BLUE + "+ Explosive");
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_20gauge_caustic) {
list.add(EnumChatFormatting.BLUE + "+ Toxic");
list.add(EnumChatFormatting.BLUE + "+ Caustic");
list.add(EnumChatFormatting.YELLOW + "* Not bouncy");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_20gauge_shock) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.BLUE + "+ Stunning");
list.add(EnumChatFormatting.BLUE + "+ EMP");
list.add(EnumChatFormatting.YELLOW + "* Not bouncy");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_20gauge_wither) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.BLUE + "+ Withering");
}
if(this == ModItems.ammo_20gauge_sleek) {
list.add(EnumChatFormatting.YELLOW + "* Fires a tracer which summons a storm of DU-flechettes");
}
//23mm
if(this == ModItems.ammo_4gauge_flechette) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.YELLOW + "* Less bouncy");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_4gauge_flechette_phosphorus) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.BLUE + "+ Induces phosphorus burns");
list.add(EnumChatFormatting.YELLOW + "* Twice the warcrime in a single round!");
list.add(EnumChatFormatting.YELLOW + "* Less bouncy");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_4gauge_slug) {
list.add(EnumChatFormatting.BLUE + "+ Near-perfect accuracy");
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.BLUE + "+ Decreased wear");
list.add(EnumChatFormatting.RED + "- Single projectile");
}
if(this == ModItems.ammo_4gauge_explosive) {
list.add(EnumChatFormatting.BLUE + "+ Explosive");
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.YELLOW + "* It's a 40mm grenade that we squeezed to fit the barrel!");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
list.add(EnumChatFormatting.RED + "- Single projectile");
}
if(this == ModItems.ammo_4gauge_semtex) {
list.add(EnumChatFormatting.BLUE + "+ Explosive");
list.add(EnumChatFormatting.BLUE + "+ Explosion drops all blocks");
list.add(EnumChatFormatting.RED + "- No splash damage");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
list.add(EnumChatFormatting.RED + "- Single projectile");
}
if(this == ModItems.ammo_4gauge_balefire) {
list.add(EnumChatFormatting.BLUE + "+ Explosive");
list.add(EnumChatFormatting.BLUE + "+ Balefire");
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
list.add(EnumChatFormatting.RED + "- Single projectile");
}
if(this == ModItems.ammo_4gauge_kampf) {
list.add(EnumChatFormatting.BLUE + "+ Explosive");
list.add(EnumChatFormatting.BLUE + "+ Rocket Propelled");
list.add(EnumChatFormatting.BLUE + "+ Increased accuracy");
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.RED + "- Increased wear");
list.add(EnumChatFormatting.RED + "- Single projectile");
}
if(this == ModItems.ammo_4gauge_sleek) {
list.add(EnumChatFormatting.YELLOW + "* Fires a tracer which summons a storm of DU-flechettes");
}
//.357 MAGNUM
if(this == ModItems.ammo_357_desh) {
list.add(EnumChatFormatting.BLUE + "+ Fits every .357 model");
list.add(EnumChatFormatting.BLUE + "+ Above-average damage");
if(stack.getItem() == ModItems.ammo_rocket && stack.getItemDamage() == AmmoRocket.DIGAMMA.ordinal()) {
list.add(player.worldObj.rand.nextInt(3) < 2 ? EnumChatFormatting.RED + "COVER YOURSELF IN OIL" : EnumChatFormatting.RED + "" + EnumChatFormatting.OBFUSCATED + "COVER YOURSELF IN OIL");
}
//.44 MAGNUM
if(this == ModItems.ammo_44_ap) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_44_du) {
list.add(EnumChatFormatting.BLUE + "+ Highly increased damage");
list.add(EnumChatFormatting.YELLOW + "* Heavy metal");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_44_phosphorus) {
list.add(EnumChatFormatting.BLUE + "+ Induces phosphorus burns");
list.add(EnumChatFormatting.YELLOW + "* Technically a warcrime");
list.add(EnumChatFormatting.RED + "- Increased wear");
list.add(EnumChatFormatting.RED + "- Not penetrating");
}
if(this == ModItems.ammo_44_pip) {
list.add(EnumChatFormatting.BLUE + "+ Boxcar");
list.add(EnumChatFormatting.RED + "- Highly decreased damage");
}
if(this == ModItems.ammo_44_bj) {
list.add(EnumChatFormatting.BLUE + "+ Boat");
list.add(EnumChatFormatting.RED + "- Highly decreased damage");
}
if(this == ModItems.ammo_44_silver) {
list.add(EnumChatFormatting.BLUE + "+ Building");
list.add(EnumChatFormatting.RED + "- Highly decreased damage");
}
if(this == ModItems.ammo_44_rocket) {
list.add(EnumChatFormatting.BLUE + "+ Rocket");
list.add(EnumChatFormatting.YELLOW + "* Uhhhh");
}
if(this == ModItems.ammo_44_star) {
list.add(EnumChatFormatting.BLUE + "+ Highly increased damage");
list.add(EnumChatFormatting.YELLOW + "* Starmetal");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_44_chlorophyte) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.BLUE + "+ Decreased wear");
list.add(EnumChatFormatting.DARK_GREEN + "* Chlorophyte");
list.add(EnumChatFormatting.YELLOW + "* Homing");
list.add(EnumChatFormatting.RED + "- Not penetrating");
}
//5mm
if(this == ModItems.ammo_5mm_explosive) {
list.add(EnumChatFormatting.BLUE + "+ Explosive");
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_5mm_du) {
list.add(EnumChatFormatting.BLUE + "+ Highly increased damage");
list.add(EnumChatFormatting.YELLOW + "* Heavy metal");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_5mm_star) {
list.add(EnumChatFormatting.BLUE + "+ Highly increased damage");
list.add(EnumChatFormatting.YELLOW + "* Starmetal");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_5mm_chlorophyte) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.BLUE + "+ Decreased wear");
list.add(EnumChatFormatting.DARK_GREEN + "* Chlorophyte");
list.add(EnumChatFormatting.YELLOW + "* Homing");
list.add(EnumChatFormatting.RED + "- Not penetrating");
}
//9mm
if(this == ModItems.ammo_9mm_ap) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_9mm_du) {
list.add(EnumChatFormatting.BLUE + "+ Highly increased damage");
list.add(EnumChatFormatting.YELLOW + "* Heavy metal");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_9mm_rocket) {
list.add(EnumChatFormatting.BLUE + "+ Rocket");
list.add(EnumChatFormatting.YELLOW + "* Uhhhh");
}
if(this == ModItems.ammo_9mm_chlorophyte) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.BLUE + "+ Decreased wear");
list.add(EnumChatFormatting.DARK_GREEN + "* Chlorophyte");
list.add(EnumChatFormatting.YELLOW + "* Homing");
list.add(EnumChatFormatting.RED + "- Not penetrating");
}
//.22LR
if(this == ModItems.ammo_22lr_ap) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_22lr_chlorophyte) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.BLUE + "+ Decreased wear");
list.add(EnumChatFormatting.DARK_GREEN + "* Chlorophyte");
list.add(EnumChatFormatting.YELLOW + "* Homing");
list.add(EnumChatFormatting.RED + "- Not penetrating");
}
//.50 BMG
if(this == ModItems.ammo_50bmg) {
list.add(EnumChatFormatting.YELLOW + "12.7mm anti-materiel round");
list.add(EnumChatFormatting.YELLOW + "You shoot down planes with these, using");
list.add(EnumChatFormatting.YELLOW + "them against people would be nasty.");
}
if(this == ModItems.ammo_50bmg_incendiary) {
list.add(EnumChatFormatting.BLUE + "+ Incendiary");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_50bmg_phosphorus) {
list.add(EnumChatFormatting.BLUE + "+ Induces phosphorus burns");
list.add(EnumChatFormatting.YELLOW + "* Technically a warcrime");
list.add(EnumChatFormatting.RED + "- Increased wear");
list.add(EnumChatFormatting.RED + "- Not penetrating");
}
if(this == ModItems.ammo_50bmg_explosive) {
list.add(EnumChatFormatting.BLUE + "+ Explosive");
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_50bmg_ap) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_50bmg_du) {
list.add(EnumChatFormatting.BLUE + "+ Highly increased damage");
list.add(EnumChatFormatting.YELLOW + "* Heavy metal");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_50bmg_star) {
list.add(EnumChatFormatting.BLUE + "+ Highly increased damage");
list.add(EnumChatFormatting.YELLOW + "* Starmetal");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_50bmg_sleek) {
list.add(EnumChatFormatting.YELLOW + "* Fires a high-damage round that summons a small meteorite");
}
if(this == ModItems.ammo_50bmg_chlorophyte) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.BLUE + "+ Decreased wear");
list.add(EnumChatFormatting.DARK_GREEN + "* Chlorophyte");
list.add(EnumChatFormatting.YELLOW + "* Homing");
list.add(EnumChatFormatting.RED + "- Not penetrating");
}
if(this == ModItems.ammo_50bmg_flechette) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
}
if(this == ModItems.ammo_50bmg_flechette_am) {
list.add(EnumChatFormatting.BLUE + "+ Highly increased damage");
list.add(EnumChatFormatting.GREEN + "+ Highly Radioactive");
list.add(EnumChatFormatting.YELLOW + "* Yes.");
}
if(this == ModItems.ammo_50bmg_flechette_po) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.GREEN + "+ Highly Radioactive");
list.add(EnumChatFormatting.YELLOW + "* Maybe?");
}
//.50 AE
if(this == ModItems.ammo_50ae_ap) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_50ae_du) {
list.add(EnumChatFormatting.BLUE + "+ Highly increased damage");
list.add(EnumChatFormatting.YELLOW + "* Heavy metal");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_50ae_star) {
list.add(EnumChatFormatting.BLUE + "+ Highly increased damage");
list.add(EnumChatFormatting.YELLOW + "* Starmetal");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_50ae_chlorophyte) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.BLUE + "+ Decreased wear");
list.add(EnumChatFormatting.DARK_GREEN + "* Chlorophyte");
list.add(EnumChatFormatting.YELLOW + "* Homing");
list.add(EnumChatFormatting.RED + "- Not penetrating");
}
//84mm ROCKETS
if(this == ModItems.ammo_rocket_he) {
list.add(EnumChatFormatting.BLUE + "+ Increased blast radius");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_rocket_incendiary) {
list.add(EnumChatFormatting.BLUE + "+ Incendiary explosion");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_rocket_phosphorus) {
list.add(EnumChatFormatting.BLUE + "+ Phosphorus splash");
list.add(EnumChatFormatting.YELLOW + "* Technically a warcrime");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_rocket_shrapnel) {
list.add(EnumChatFormatting.BLUE + "+ Shrapnel");
}
if(this == ModItems.ammo_rocket_emp) {
list.add(EnumChatFormatting.BLUE + "+ EMP");
list.add(EnumChatFormatting.RED + "- Decreased blast radius");
}
if(this == ModItems.ammo_rocket_glare) {
list.add(EnumChatFormatting.BLUE + "+ Increased projectile speed");
list.add(EnumChatFormatting.BLUE + "+ Incendiary explosion");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_rocket_toxic) {
list.add(EnumChatFormatting.BLUE + "+ Chlorine gas");
list.add(EnumChatFormatting.RED + "- No explosion");
list.add(EnumChatFormatting.RED + "- Decreased projectile speed");
}
if(this == ModItems.ammo_rocket_sleek) {
list.add(EnumChatFormatting.BLUE + "+ Highly increased blast radius");
list.add(EnumChatFormatting.BLUE + "+ Not affected by gravity");
list.add(EnumChatFormatting.YELLOW + "* Jolt");
}
if(this == ModItems.ammo_rocket_nuclear) {
list.add(EnumChatFormatting.BLUE + "+ Nuclear");
list.add(EnumChatFormatting.RED + "- Very highly increased wear");
list.add(EnumChatFormatting.RED + "- Decreased projectile speed");
}
if(this == ModItems.ammo_rocket_rpc) {
list.add(EnumChatFormatting.BLUE + "+ Chainsaw");
list.add(EnumChatFormatting.BLUE + "+ Penetrating");
list.add(EnumChatFormatting.BLUE + "+ Not affected by gravity");
list.add(EnumChatFormatting.RED + "- Increased wear");
list.add(EnumChatFormatting.RED + "- Non-explosive");
list.add(EnumChatFormatting.YELLOW + "* Uhhhh");
}
if(this == ModItems.ammo_rocket_digamma) {
final IAmmoItemEnum item = (IAmmoItemEnum) EnumUtil.grabEnumSafely(theEnum, stack.getItemDamage());
final Set<AmmoItemTrait> ammoTraits = item.getTraits();
if(ammoTraits.size() > 0) {
if(new Random().nextInt(3) < 2)
list.add(EnumChatFormatting.RED + "COVER YOURSELF IN OIL");
else
list.add(EnumChatFormatting.RED + "" + EnumChatFormatting.OBFUSCATED + "COVER YOURSELF IN OIL");
}
//40mm GRENADES
if(this == ModItems.ammo_grenade_he) {
list.add(EnumChatFormatting.BLUE + "+ Increased blast radius");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_grenade_incendiary) {
list.add(EnumChatFormatting.BLUE + "+ Incendiary explosion");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_grenade_phosphorus) {
list.add(EnumChatFormatting.BLUE + "+ Phosphorus splash");
list.add(EnumChatFormatting.YELLOW + "* Technically a warcrime");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_grenade_toxic) {
list.add(EnumChatFormatting.BLUE + "+ Chlorine gas");
list.add(EnumChatFormatting.RED + "- No explosion");
}
if(this == ModItems.ammo_grenade_concussion) {
list.add(EnumChatFormatting.BLUE + "+ Increased blast radius");
list.add(EnumChatFormatting.RED + "- No block damage");
}
if(this == ModItems.ammo_grenade_finned) {
list.add(EnumChatFormatting.BLUE + "+ Decreased gravity");
list.add(EnumChatFormatting.RED + "- Decreased blast radius");
}
if(this == ModItems.ammo_grenade_sleek) {
list.add(EnumChatFormatting.BLUE + "+ Increased blast radius");
list.add(EnumChatFormatting.YELLOW + "* Jolt");
}
if(this == ModItems.ammo_grenade_nuclear) {
list.add(EnumChatFormatting.BLUE + "+ Nuclear");
list.add(EnumChatFormatting.BLUE + "+ Increased range");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_grenade_kampf) {
list.add(EnumChatFormatting.BLUE + "+ Rocket Propelled");
list.add(EnumChatFormatting.BLUE + "+ Increased blast radius");
list.add(EnumChatFormatting.BLUE + "+ Increased accuracy");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
//FUEL
if(this == ModItems.ammo_fuel_napalm) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.BLUE + "+ Increased range");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_fuel_phosphorus) {
list.add(EnumChatFormatting.BLUE + "+ Phosphorus splash");
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.BLUE + "+ Increased range");
list.add(EnumChatFormatting.BLUE + "+ Increased accuracy");
list.add(EnumChatFormatting.YELLOW + "* Technically a warcrime");
list.add(EnumChatFormatting.RED + "- Single projectile");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_fuel_vaporizer) {
list.add(EnumChatFormatting.BLUE + "+ Induces phosphorus burns");
list.add(EnumChatFormatting.BLUE + "+ Increased flame count");
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.YELLOW + "* For removing big mistakes");
list.add(EnumChatFormatting.RED + "- Highly decreased accuracy");
list.add(EnumChatFormatting.RED + "- Highly decreased range");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
list.add(EnumChatFormatting.RED + "- No lingering fire");
}
if(this == ModItems.ammo_fuel_gas) {
list.add(EnumChatFormatting.BLUE + "+ No gravity");
list.add(EnumChatFormatting.BLUE + "+ Poison splash");
list.add(EnumChatFormatting.RED + "- No damage");
list.add(EnumChatFormatting.RED + "- Not incendiary");
}
//FIRE EXT
if(this == ModItems.ammo_fireext_foam) {
list.add(EnumChatFormatting.BLUE + "+ Can put out any fire type");
list.add(EnumChatFormatting.BLUE + "+ Creates protective foam layer");
list.add(EnumChatFormatting.YELLOW + "* Broader spray");
}
if(this == ModItems.ammo_fireext_sand) {
list.add(EnumChatFormatting.BLUE + "+ Creates protective sand layer");
list.add(EnumChatFormatting.YELLOW + "* Very broad spray");
list.add(EnumChatFormatting.RED + "- No extinguishing AoE");
}
//5.56mm
if(this == ModItems.ammo_556_phosphorus) {
list.add(EnumChatFormatting.BLUE + "+ Induces phosphorus burns");
list.add(EnumChatFormatting.YELLOW + "* Technically a warcrime");
list.add(EnumChatFormatting.RED + "- Increased wear");
list.add(EnumChatFormatting.RED + "- Not penetrating");
}
if(this == ModItems.ammo_556_ap) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.RED + "- Increased wear");
}
if(this == ModItems.ammo_556_du) {
list.add(EnumChatFormatting.BLUE + "+ Highly increased damage");
list.add(EnumChatFormatting.YELLOW + "* Heavy metal");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_556_star) {
list.add(EnumChatFormatting.BLUE + "+ Highly increased damage");
list.add(EnumChatFormatting.YELLOW + "* Starmetal");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_556_sleek) {
list.add(EnumChatFormatting.YELLOW + "* Fires a high-damage round that summons a small meteorite");
}
if(this == ModItems.ammo_556_flechette) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.YELLOW + "* Less bouncy");
list.add(EnumChatFormatting.RED + "- Increased wear");
list.add(EnumChatFormatting.RED + "- Not penetrating");
}
if(this == ModItems.ammo_556_flechette_incendiary) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.BLUE + "+ Incendiary");
list.add(EnumChatFormatting.YELLOW + "* Less bouncy");
list.add(EnumChatFormatting.RED + "- Increased wear");
list.add(EnumChatFormatting.RED + "- Not penetrating");
}
if(this == ModItems.ammo_556_flechette_phosphorus) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.BLUE + "+ Induces phosphorus burns");
list.add(EnumChatFormatting.YELLOW + "* Twice the warcrime in a single round!");
list.add(EnumChatFormatting.YELLOW + "* Less bouncy");
list.add(EnumChatFormatting.RED + "- Increased wear");
list.add(EnumChatFormatting.RED + "- Not penetrating");
}
if(this == ModItems.ammo_556_flechette_du) {
list.add(EnumChatFormatting.BLUE + "+ Highly increased damage");
list.add(EnumChatFormatting.BLUE + "+ Penetrating");
list.add(EnumChatFormatting.YELLOW + "* Heavy metal");
list.add(EnumChatFormatting.YELLOW + "* Less bouncy");
list.add(EnumChatFormatting.RED + "- Highly increased wear");
}
if(this == ModItems.ammo_556_flechette_sleek) {
list.add(EnumChatFormatting.YELLOW + "* Fires a high-damage round that summons a small meteorite");
}
if(this == ModItems.ammo_556_tracer) {
list.add(EnumChatFormatting.YELLOW + "* Tracer");
}
if(this == ModItems.ammo_556_k) {
list.add(EnumChatFormatting.YELLOW + "* It's a blank");
}
if(this == ModItems.ammo_556_chlorophyte) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.BLUE + "+ Decreased wear");
list.add(EnumChatFormatting.DARK_GREEN + "* Chlorophyte");
list.add(EnumChatFormatting.YELLOW + "* Homing");
list.add(EnumChatFormatting.RED + "- Not penetrating");
}
if(this == ModItems.ammo_556_flechette_chlorophyte) {
list.add(EnumChatFormatting.BLUE + "+ Increased damage");
list.add(EnumChatFormatting.BLUE + "+ Decreased wear");
list.add(EnumChatFormatting.DARK_GREEN + "* Chlorophyte");
list.add(EnumChatFormatting.YELLOW + "* Homing");
list.add(EnumChatFormatting.RED + "- Not penetrating");
}
//BOLTS
if(this == ModItems.ammo_75bolt) {
list.add(EnumChatFormatting.YELLOW + "Gyro-stabilized armor-piercing");
list.add(EnumChatFormatting.YELLOW + "DU round with tandem charge");
}
if(this == ModItems.ammo_75bolt_incendiary) {
list.add(EnumChatFormatting.YELLOW + "Armor-piercing explosive round");
list.add(EnumChatFormatting.YELLOW + "filled with oxy-phosphorous gel");
}
if(this == ModItems.ammo_75bolt_he) {
list.add(EnumChatFormatting.YELLOW + "Armor-piercing penetrator filled");
list.add(EnumChatFormatting.YELLOW + "with a powerful explosive charge");
}
//NUKES
if(this== ModItems.ammo_nuke_low) {
list.add(EnumChatFormatting.RED + "- Decreased blast radius");
}
if(this== ModItems.ammo_nuke_high) {
list.add(EnumChatFormatting.BLUE + "+ Increased blast radius");
list.add(EnumChatFormatting.BLUE + "+ Fallout");
}
if(this== ModItems.ammo_nuke_tots) {
list.add(EnumChatFormatting.BLUE + "+ Increased bomb count");
list.add(EnumChatFormatting.YELLOW + "* Fun for the whole family!");
list.add(EnumChatFormatting.RED + "- Highly decreased accuracy");
list.add(EnumChatFormatting.RED + "- Decreased blast radius");
list.add(EnumChatFormatting.RED + "- Not recommended for the Proto MIRV");
}
if(this== ModItems.ammo_nuke_safe) {
list.add(EnumChatFormatting.RED + "- Decreased blast radius");
list.add(EnumChatFormatting.RED + "- No block damage");
}
if(this== ModItems.ammo_nuke_pumpkin) {
list.add(EnumChatFormatting.RED + "- Not even a nuke");
}
//MIRV
if(this== ModItems.ammo_mirv_low) {
list.add(EnumChatFormatting.RED + "- Decreased blast radius");
}
if(this== ModItems.ammo_mirv_high) {
list.add(EnumChatFormatting.BLUE + "+ Increased blast radius");
list.add(EnumChatFormatting.BLUE + "+ Fallout");
}
if(this== ModItems.ammo_mirv_safe) {
list.add(EnumChatFormatting.RED + "- Decreased blast radius");
list.add(EnumChatFormatting.RED + "- No block damage");
}
if(this== ModItems.ammo_mirv_special) {
list.add(EnumChatFormatting.BLUE + "+ 6 Low-yield mini nukes");
list.add(EnumChatFormatting.BLUE + "+ 6 Mini nukes");
list.add(EnumChatFormatting.BLUE + "+ 6 Tiny tots");
list.add(EnumChatFormatting.BLUE + "+ 6 Balefire shells");
list.add(EnumChatFormatting.WHITE + "* Sticky!");
}
//FOLLY
if(this == ModItems.ammo_folly) {
list.add(EnumChatFormatting.BLUE + "+ Focused starmetal reaction blast");
}
if(this == ModItems.ammo_folly_nuclear) {
list.add(EnumChatFormatting.BLUE + "+ Howitzer mini nuke shell");
}
if(this == ModItems.ammo_folly_du) {
list.add(EnumChatFormatting.BLUE + "+ Howitzer 17kg U238 shell");
}
//STINGER
if(this == ModItems.ammo_stinger_rocket) {
list.add(EnumChatFormatting.BLUE + "+ Homing");
}
if(this == ModItems.ammo_stinger_rocket_he) {
list.add(EnumChatFormatting.BLUE + "+ Homing");
list.add(EnumChatFormatting.BLUE + "+ Increased Blast Radius");
list.add(EnumChatFormatting.RED + "- Increased Wear");
}
if(this == ModItems.ammo_stinger_rocket_incendiary) {
list.add(EnumChatFormatting.BLUE + "+ Homing");
list.add(EnumChatFormatting.BLUE + "+ Incendiary explosion");
list.add(EnumChatFormatting.RED + "- Slightly Increased wear");
}
if(this == ModItems.ammo_stinger_rocket_nuclear) {
list.add(EnumChatFormatting.BLUE + "+ Homing");
list.add(EnumChatFormatting.BLUE + "+ Nuclear");
list.add(EnumChatFormatting.RED + "- Highly Increased wear");
}
if(this == ModItems.ammo_stinger_rocket_bones) {
list.add(EnumChatFormatting.BLUE + "+ Homing");
list.add(EnumChatFormatting.YELLOW + "* RATTLE ME BONES");
list.add(EnumChatFormatting.YELLOW + "* WELCOME ABOARD MATEYS!");
list.add(EnumChatFormatting.YELLOW + "* RATTLE ME BONES");
list.add(EnumChatFormatting.YELLOW + "* RATTLE ME BONES");
list.add(EnumChatFormatting.YELLOW + "* SPIN THE WHEEL FOR THE TREASURE TO TAKE");
}
ArrayList<AmmoItemTrait> sortedTraits = new ArrayList<AmmoItemTrait>(ammoTraits);
sortedTraits.sort(Comparator.reverseOrder());
for(AmmoItemTrait trait : sortedTraits) {
final EnumChatFormatting color;
switch(trait.toString().substring(0, 3)) {
case "PRO": color = EnumChatFormatting.BLUE; break;
case "NEU": color = EnumChatFormatting.YELLOW; break;
case "CON": color = EnumChatFormatting.RED; break;
default: color = EnumChatFormatting.DARK_GRAY; break;
}
list.add(color + I18nUtil.resolveKey(trait.key));
}
}
}
@Override
public ItemEnumMulti setUnlocalizedName(String uloc) {
setTextureName(RefStrings.MODID + ':' + uloc);
return (ItemEnumMulti) super.setUnlocalizedName(uloc);
}
}

View File

@ -2,6 +2,8 @@ package com.hbm.lib;
import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.items.ItemAmmoEnums.Ammo357Magnum;
import com.hbm.items.ItemAmmoEnums.AmmoFatman;
import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemBreedingRod.*;
import com.hbm.items.special.ItemBookLore.BookLoreType;
@ -21,7 +23,7 @@ public class HbmChestContents {
new WeightedRandomChestContent(ModItems.ingot_titanium, 0, 1, 1, 3),
new WeightedRandomChestContent(ModItems.circuit_targeting_tier1, 0, 1, 1, 5),
new WeightedRandomChestContent(ModItems.gun_revolver, 0, 1, 1, 3),
new WeightedRandomChestContent(ModItems.gun_revolver_ammo, 0, 2, 6, 4),
new WeightedRandomChestContent(ModItems.ammo_357, Ammo357Magnum.LEAD.ordinal(), 2, 6, 4),
new WeightedRandomChestContent(ModItems.gun_kit_1, 0, 1, 3, 4),
new WeightedRandomChestContent(ModItems.gun_lever_action, 0, 1, 1, 1),
new WeightedRandomChestContent(ModItems.ammo_20gauge, 0, 2, 6, 3),
@ -102,9 +104,9 @@ public class HbmChestContents {
new WeightedRandomChestContent(ModItems.gun_rpg, 0, 1, 1, 4),
new WeightedRandomChestContent(ModItems.ammo_rocket, 0, 1, 4, 5),
new WeightedRandomChestContent(ModItems.gun_fatman, 0, 1, 1, 1),
new WeightedRandomChestContent(ModItems.ammo_nuke_safe, 0, 1, 2, 1),
new WeightedRandomChestContent(ModItems.ammo_nuke_low, 0, 1, 2, 1),
new WeightedRandomChestContent(ModItems.ammo_nuke_pumpkin, 0, 1, 2, 1),
new WeightedRandomChestContent(ModItems.ammo_nuke, AmmoFatman.SAFE.ordinal(), 1, 2, 1),
new WeightedRandomChestContent(ModItems.ammo_nuke, AmmoFatman.LOW.ordinal(), 1, 2, 1),
new WeightedRandomChestContent(ModItems.ammo_nuke, AmmoFatman.PUMPKIN.ordinal(), 1, 2, 1),
new WeightedRandomChestContent(ModItems.grenade_nuclear, 0, 1, 1, 2),
new WeightedRandomChestContent(ModItems.grenade_smart, 0, 1, 3, 3),
new WeightedRandomChestContent(ModItems.grenade_mirv, 0, 1, 1, 2),
@ -204,14 +206,14 @@ public class HbmChestContents {
new WeightedRandomChestContent(ModItems.t45_kit, 0, 1, 1, 3),
new WeightedRandomChestContent(ModItems.fusion_core, 0, 1, 1, 10),
new WeightedRandomChestContent(ModItems.gun_revolver, 0, 1, 1, 4),
new WeightedRandomChestContent(ModItems.gun_revolver_ammo, 0, 1, 24, 4),
new WeightedRandomChestContent(ModItems.ammo_357, Ammo357Magnum.LEAD.ordinal(), 1, 24, 4),
new WeightedRandomChestContent(ModItems.gun_kit_1, 0, 2, 3, 4),
new WeightedRandomChestContent(ModItems.gun_rpg, 0, 1, 1, 3),
new WeightedRandomChestContent(ModItems.ammo_rocket, 0, 1, 6, 3),
new WeightedRandomChestContent(ModItems.rod, BreedingRodType.U235.ordinal(), 1, 1, 2),
new WeightedRandomChestContent(ModItems.billet_uranium_fuel, 0, 1, 1, 2),
new WeightedRandomChestContent(ModItems.ingot_uranium_fuel, 0, 1, 1, 2),
new WeightedRandomChestContent(ModItems.ammo_nuke_safe, 0, 1, 2, 1),
new WeightedRandomChestContent(ModItems.ammo_nuke, AmmoFatman.SAFE.ordinal(), 1, 2, 1),
new WeightedRandomChestContent(ModItems.gun_fatman, 0, 1, 1, 1),
new WeightedRandomChestContent(ModItems.bottle_nuka, 0, 1, 3, 6),
new WeightedRandomChestContent(ModItems.bottle_quantum, 0, 1, 1, 3),
@ -321,7 +323,7 @@ public class HbmChestContents {
public static WeightedRandomChestContent[] vault4 = new WeightedRandomChestContent[] {
new WeightedRandomChestContent(ModItems.ammo_container, 0, 3, 6, 1),
new WeightedRandomChestContent(ModItems.clip_fatman, 0, 2, 3, 1),
new WeightedRandomChestContent(ModItems.ammo_mirv, 0, 2, 3, 1),
new WeightedRandomChestContent(ModItems.ammo_nuke, AmmoFatman.MIRV.ordinal(), 2, 3, 1),
new WeightedRandomChestContent(ModItems.gun_mirv, 0, 1, 1, 1),
new WeightedRandomChestContent(ModItems.gun_fatman, 0, 1, 1, 1),
new WeightedRandomChestContent(ModItems.gun_proto, 0, 1, 1, 1),

View File

@ -0,0 +1,19 @@
package com.hbm.lib;
import java.util.Set;
import com.google.common.collect.ImmutableSet;
import com.hbm.items.weapon.ItemAmmo.AmmoItemTrait;
public class HbmCollection {
public static final Set<AmmoItemTrait> APType = ImmutableSet.of(AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.CON_WEAR);
public static final Set<AmmoItemTrait> FlechetteType = ImmutableSet.of(AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_LESS_BOUNCY, AmmoItemTrait.CON_WEAR);
public static final Set<AmmoItemTrait> IncendiaryType = ImmutableSet.of(AmmoItemTrait.PRO_INCENDIARY, AmmoItemTrait.CON_WEAR);
public static final Set<AmmoItemTrait> PhosphorusType = ImmutableSet.of(AmmoItemTrait.PRO_PHOSPHORUS, AmmoItemTrait.NEU_WARCRIME1, AmmoItemTrait.CON_WEAR, AmmoItemTrait.CON_PENETRATION);
public static final Set<AmmoItemTrait> PhosphorusTypeSpecial = ImmutableSet.of(AmmoItemTrait.PRO_PHOSPHORUS_SPLASH, AmmoItemTrait.NEU_WARCRIME1, AmmoItemTrait.CON_WEAR);
public static final Set<AmmoItemTrait> ExplosiveType = ImmutableSet.of(AmmoItemTrait.PRO_EXPLOSIVE, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.CON_HEAVY_WEAR);
public static final Set<AmmoItemTrait> DUType = ImmutableSet.of(AmmoItemTrait.PRO_HEAVY_DAMAGE, AmmoItemTrait.NEU_HEAVY_METAL, AmmoItemTrait.CON_HEAVY_WEAR);
public static final Set<AmmoItemTrait> StarmetalType = ImmutableSet.of(AmmoItemTrait.PRO_HEAVY_DAMAGE, AmmoItemTrait.NEU_STARMETAL, AmmoItemTrait.CON_HEAVY_WEAR);
public static final Set<AmmoItemTrait> ChlorophyteType = ImmutableSet.of(AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_WEAR, AmmoItemTrait.NEU_CHLOROPHYTE, AmmoItemTrait.NEU_HOMING, AmmoItemTrait.CON_PENETRATION);
}

View File

@ -475,7 +475,6 @@ public class ClientProxy extends ServerProxy {
MinecraftForgeClient.registerItemRenderer(ModItems.gun_avenger, new ItemRenderOverkill());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_lacunae, new ItemRenderOverkill());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_folly, new ItemRenderOverkill());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_brimstone, new ItemRenderObj());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_hk69, new ItemRenderWeaponObj());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_bio_revolver, new ItemRenderBioRevolver());
MinecraftForgeClient.registerItemRenderer(ModItems.gun_deagle, new ItemRenderWeaponObj());

View File

@ -60,6 +60,7 @@ import com.hbm.inventory.recipes.*;
import com.hbm.inventory.recipes.anvil.AnvilRecipes;
import com.hbm.inventory.recipes.loader.SerializableRecipe;
import com.hbm.items.ModItems;
import com.hbm.items.ItemAmmoEnums.Ammo4Gauge;
import com.hbm.lib.HbmWorld;
import com.hbm.lib.Library;
import com.hbm.lib.RefStrings;
@ -617,7 +618,7 @@ public class MainRegistry {
achStratum = new Achievement("achievement.stratum", "stratum", -4, -2, new ItemStack(ModBlocks.stone_gneiss), null).initIndependentStat().setSpecial().registerStat();
achOmega12 = new Achievement("achievement.omega12", "omega12", 17, -1, ModItems.particle_digamma, null).initIndependentStat().setSpecial().registerStat();
achWitchtaunter = new Achievement("achievement.witchtaunter", "witchtaunter", -8, 7, ModItems.ammo_4gauge_vampire, null).initIndependentStat().setSpecial().registerStat();
achWitchtaunter = new Achievement("achievement.witchtaunter", "witchtaunter", -8, 7, ModItems.ammo_4gauge.stackFromEnum(Ammo4Gauge.VAMPIRE), null).initIndependentStat().setSpecial().registerStat();
achSlimeball = new Achievement("achievement.slimeball", "slimeball", -10, 6, Items.slime_ball, null).initIndependentStat().registerStat();
achSulfuric = new Achievement("achievement.sulfuric", "sulfuric", -10, 8, ModItems.bucket_sulfuric_acid, achSlimeball).initIndependentStat().setSpecial().registerStat();

View File

@ -699,7 +699,6 @@ public class ResourceManager {
public static final IModelCustom crucible = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/crucible.obj"));
public static final IModelCustom chainsaw = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/chainsaw.obj"), false);
public static final IModelCustom brimstone = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/brimstone.obj"));
public static final IModelCustom hk69 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/hk69.obj"));
public static final IModelCustom deagle = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/deagle.obj"));
public static final IModelCustom shotty = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/supershotty.obj"));
@ -770,7 +769,6 @@ public class ResourceManager {
public static final ResourceLocation crucible_blade = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/crucible_blade.png");
public static final ResourceLocation chainsaw_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/chainsaw.png");
public static final ResourceLocation brimstone_tex = new ResourceLocation(RefStrings.MODID, "textures/models/brimstone.png");
public static final ResourceLocation hk69_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/hk69.png");
public static final ResourceLocation deagle_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/deagle.png");
public static final ResourceLocation ks23_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/ks23.png");

View File

@ -4,6 +4,7 @@ import com.hbm.blocks.ModBlocks;
import com.hbm.inventory.container.ContainerAnvil;
import com.hbm.inventory.recipes.anvil.AnvilRecipes;
import com.hbm.inventory.recipes.anvil.AnvilRecipes.AnvilConstructionRecipe;
import com.hbm.items.ItemAmmoEnums;
import com.hbm.items.ModItems;
import com.hbm.main.MainRegistry;
import com.hbm.util.InventoryUtil;
@ -52,7 +53,7 @@ public class AnvilCraftPacket implements IMessage {
if(!(p.openContainer instanceof ContainerAnvil)) //player isn't even using an anvil -> bad
return null;
ContainerAnvil anvil = (ContainerAnvil)p.openContainer;
ContainerAnvil anvil = (ContainerAnvil) p.openContainer;
AnvilConstructionRecipe recipe = AnvilRecipes.getConstruction().get(m.recipeIndex);
if(!recipe.isTierValid(anvil.tier)) //player is using the wrong type of anvil -> bad
@ -71,7 +72,7 @@ public class AnvilCraftPacket implements IMessage {
p.triggerAchievement(MainRegistry.achAssembly);
if(recipe.output.get(0).stack.getItem() == ModItems.billet_pu_mix)
p.triggerAchievement(MainRegistry.achChicagoPile);
if(recipe.output.get(0).stack.getItem() == ModItems.ammo_4gauge_vampire)
if(recipe.output.get(0).stack.getItem() == ModItems.ammo_4gauge && recipe.output.get(0).stack.getItemDamage() == ItemAmmoEnums.Ammo4Gauge.VAMPIRE.ordinal())
p.triggerAchievement(MainRegistry.achWitchtaunter);
} else {

View File

@ -36,7 +36,7 @@ public class HbmPotion extends Potion {
public static HbmPotion radx;
public static HbmPotion lead;
public static HbmPotion radaway;
public static HbmPotion telekinesis;
//public static HbmPotion telekinesis;
public static HbmPotion phosphorus;
public static HbmPotion stability;
public static HbmPotion potionsickness;
@ -54,7 +54,7 @@ public class HbmPotion extends Potion {
radx = registerPotion(PotionConfig.radxID, false, 0xBB4B00, "potion.hbm_radx", 5, 0);
lead = registerPotion(PotionConfig.leadID, true, 0x767682, "potion.hbm_lead", 6, 0);
radaway = registerPotion(PotionConfig.radawayID, false, 0xBB4B00, "potion.hbm_radaway", 7, 0);
telekinesis = registerPotion(PotionConfig.telekinesisID, true, 0x00F3FF, "potion.hbm_telekinesis", 0, 1);
//telekinesis = registerPotion(PotionConfig.telekinesisID, true, 0x00F3FF, "potion.hbm_telekinesis", 0, 1);
phosphorus = registerPotion(PotionConfig.phosphorusID, true, 0xFFFF00, "potion.hbm_phosphorus", 1, 1);
stability = registerPotion(PotionConfig.stabilityID, false, 0xD0D0D0, "potion.hbm_stability", 2, 1);
potionsickness = registerPotion(PotionConfig.potionsicknessID, false, 0xff8080, "potion.hbm_potionsickness", 3, 1);
@ -148,7 +148,7 @@ public class HbmPotion extends Potion {
entity.attackEntityFrom(ModDamageSource.lead, (level + 1));
}
if(this == telekinesis) {
/*if(this == telekinesis) {
int remaining = entity.getActivePotionEffect(this).getDuration();
@ -158,7 +158,7 @@ public class HbmPotion extends Potion {
entity.motionY = -2;
entity.fallDistance = 50;
}
}
}*/
if(this == phosphorus && !entity.worldObj.isRemote) {
entity.setFire(1);
@ -171,7 +171,7 @@ public class HbmPotion extends Potion {
return par1 % 2 == 0;
}
if(this == radiation || this == radaway || this == telekinesis || this == phosphorus) {
if(this == radiation || this == radaway || /*this == telekinesis ||*/ this == phosphorus) {
return true;
}

View File

@ -4,14 +4,10 @@ import org.lwjgl.opengl.GL11;
import com.hbm.items.ModItems;
import com.hbm.items.weapon.GunB92;
import com.hbm.items.weapon.GunBoltAction;
import com.hbm.items.weapon.GunLeverAction;
import com.hbm.items.weapon.GunLeverActionS;
import com.hbm.lib.RefStrings;
import com.hbm.render.anim.HbmAnimations;
import com.hbm.render.model.ModelB92;
import com.hbm.render.model.ModelB93;
import com.hbm.render.model.ModelBoltAction;
import com.hbm.render.model.ModelLeverAction;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
@ -21,14 +17,12 @@ import net.minecraftforge.client.IItemRenderer;
public class ItemRenderGunAnim implements IItemRenderer {
protected ModelLeverAction leveraction;
protected ModelBoltAction boltaction;
protected ModelLeverAction flippedGun;
protected ModelB92 b92;
protected ModelB93 b93;
public ItemRenderGunAnim() {
leveraction = new ModelLeverAction();
boltaction = new ModelBoltAction();
flippedGun = new ModelLeverAction();
b92 = new ModelB92();
b93 = new ModelB93();
}
@ -52,24 +46,14 @@ public class ItemRenderGunAnim implements IItemRenderer {
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
float lever = 0;
switch(type) {
case EQUIPPED_FIRST_PERSON:
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_CULL_FACE);
if(item.getItem() == ModItems.gun_lever_action || item.getItem() == ModItems.gun_lever_action_sonata)
if(item.getItem() == ModItems.gun_lever_action_sonata)
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLeverAction.png"));
if(item.getItem() == ModItems.gun_bolt_action)
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelBoltActionDark.png"));
if(item.getItem() == ModItems.gun_lever_action_dark)
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelLeverActionDark.png"));
if(item.getItem() == ModItems.gun_bolt_action_green)
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelBoltActionGreen.png"));
if(item.getItem() == ModItems.gun_bolt_action_saturnite)
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelBoltActionSaturnite.png"));
if(item.getItem() == ModItems.gun_b92)
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation(RefStrings.MODID +":textures/models/ModelB92SM.png"));
if(item.getItem() == ModItems.gun_b93)
@ -87,29 +71,12 @@ public class ItemRenderGunAnim implements IItemRenderer {
GL11.glTranslatef(2.3F, 0.2F, 0.8F);
}
if(item.getItem() == ModItems.gun_lever_action || item.getItem() == ModItems.gun_lever_action_dark) {
double[] recoil = HbmAnimations.getRelevantTransformation("LEVER_RECOIL");
GL11.glTranslated(recoil[0], recoil[1] * 4, recoil[2]);
GL11.glTranslatef(-1.5F, 0, 0);
double[] rotation = HbmAnimations.getRelevantTransformation("LEVER_ROTATE");
GL11.glRotated(rotation[2], 0.0, 0.0, 1.0);
lever = (float) Math.toRadians(rotation[2] * 2);
GL11.glTranslatef(1.5F, 0, 0);
}
if((item.getItem() == ModItems.gun_lever_action_sonata) && GunLeverActionS.getRotationFromAnim(item) > 0) {
GL11.glRotatef(GunLeverActionS.getRotationFromAnim(item) * -25, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(GunLeverActionS.getOffsetFromAnim(item) * 1.5F, 0.0F, 0.0F);
GL11.glTranslatef(0.0F, GunLeverActionS.getOffsetFromAnim(item) * -1.5F, 0.0F);
}
if((item.getItem() == ModItems.gun_bolt_action || item.getItem() == ModItems.gun_bolt_action_green || item.getItem() == ModItems.gun_bolt_action_saturnite) && GunBoltAction.getRotationFromAnim(item) > 0) {
GL11.glRotatef(GunBoltAction.getRotationFromAnim(item) * 10, 2.5F, 0.0F, 1.5F);
GL11.glTranslatef(GunBoltAction.getOffsetFromAnim(item) * -1.75F, 0.0F, 0.0F);
}
if(item.getItem() == ModItems.gun_b92 && GunB92.getRotationFromAnim(item) > 0) {
float off = GunB92.getRotationFromAnim(item) * 2;
GL11.glRotatef(GunB92.getRotationFromAnim(item) * -90, 0.0F, 0.0F, 1.0F);
@ -122,21 +89,8 @@ public class ItemRenderGunAnim implements IItemRenderer {
GL11.glTranslatef(off * -0.5F, off * -0.5F, 0.0F);
}
if(item.getItem() == ModItems.gun_bolt_action || item.getItem() == ModItems.gun_bolt_action_green ||
item.getItem() == ModItems.gun_lever_action || item.getItem() == ModItems.gun_lever_action_dark
|| item.getItem() == ModItems.gun_bolt_action_saturnite) {
GL11.glTranslatef(0.0F, -0.4F, 0.0F);
GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(5.0F, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(-0.2F, 0.0F, -0.2F);
}
if(item.getItem() == ModItems.gun_lever_action || item.getItem() == ModItems.gun_lever_action_dark)
leveraction.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, lever);
if(item.getItem() == ModItems.gun_lever_action_sonata)
leveraction.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunLeverActionS.getRotationFromAnim(item));
if(item.getItem() == ModItems.gun_bolt_action || item.getItem() == ModItems.gun_bolt_action_green || item.getItem() == ModItems.gun_bolt_action_saturnite)
boltaction.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunBoltAction.getLevRotationFromAnim(item), GunBoltAction.getTransFromAnim(item));
flippedGun.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunLeverActionS.getRotationFromAnim(item));
if(item.getItem() == ModItems.gun_b92)
b92.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunB92.getTransFromAnim(item));
if(item.getItem() == ModItems.gun_b93)
@ -177,12 +131,8 @@ public class ItemRenderGunAnim implements IItemRenderer {
GL11.glTranslatef(2.3F, 0.2F, 0.8F);
}
if(item.getItem() == ModItems.gun_lever_action || item.getItem() == ModItems.gun_lever_action_dark)
leveraction.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunLeverAction.getRotationFromAnim(item));
if(item.getItem() == ModItems.gun_lever_action_sonata)
leveraction.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunLeverActionS.getRotationFromAnim(item));
if(item.getItem() == ModItems.gun_bolt_action || item.getItem() == ModItems.gun_bolt_action_green || item.getItem() == ModItems.gun_bolt_action_saturnite)
boltaction.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunBoltAction.getLevRotationFromAnim(item), GunBoltAction.getTransFromAnim(item));
flippedGun.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunLeverActionS.getRotationFromAnim(item));
if(item.getItem() == ModItems.gun_b92)
b92.renderAnim((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F, GunB92.getTransFromAnim(item));
if(item.getItem() == ModItems.gun_b93)

View File

@ -1,57 +0,0 @@
package com.hbm.render.item.weapon;
import org.lwjgl.opengl.GL11;
import com.hbm.items.ModItems;
import com.hbm.main.ResourceManager;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraftforge.client.IItemRenderer;
public class ItemRenderObj implements IItemRenderer {
public ItemRenderObj() { }
@Override
public boolean handleRenderType(ItemStack item, ItemRenderType type) {
switch(type) {
case EQUIPPED:
case EQUIPPED_FIRST_PERSON:
case ENTITY:
return true;
default: return false;
}
}
@Override
public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
return false;
}
@Override
public void renderItem(ItemRenderType type, ItemStack item, Object... data) {
switch(type) {
case EQUIPPED_FIRST_PERSON:
GL11.glRotatef(70F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-50F, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(-0.6F, -0.9F, 0.2F);
case EQUIPPED:
case ENTITY:
default:
GL11.glPushMatrix();
if(item.getItem() == ModItems.gun_brimstone)
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.brimstone_tex);
//GL11.glRotatef(-135.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(10F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(190F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-15F, 0.0F, 0.0F, 1.0F);
GL11.glScalef(0.75F, 0.75F, 0.75F);
GL11.glTranslatef(-0.7F, -0.4F, -1.1F);
GL11.glDisable(GL11.GL_CULL_FACE);
if(item.getItem() == ModItems.gun_brimstone)
ResourceManager.brimstone.renderAll();
GL11.glPopMatrix(); break;
}
}
}

View File

@ -1,6 +1,7 @@
package com.hbm.tileentity.machine;
import com.hbm.items.ModItems;
import com.hbm.items.ItemAmmoEnums.Ammo4Gauge;
import com.hbm.items.tool.ItemKeyPin;
import net.minecraft.entity.player.EntityPlayer;
@ -186,7 +187,7 @@ public class TileEntityMachineKeyForge extends TileEntity implements ISidedInven
//DEBUG, remove later
if(slots[2] != null && slots[2].getItem() == ModItems.ammo_4gauge) {
slots[2] = new ItemStack(ModItems.ammo_4gauge_titan, slots[2].stackSize);
slots[2] = ModItems.ammo_4gauge.stackFromEnum(slots[2].stackSize, Ammo4Gauge.QUACK);
}
}
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB