mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
778 lines
24 KiB
Java
778 lines
24 KiB
Java
package com.hbm.items;
|
|
|
|
import java.util.Set;
|
|
|
|
import com.google.common.collect.ImmutableSet;
|
|
import com.hbm.items.weapon.ItemAmmo.AmmoItemTrait;
|
|
import com.hbm.lib.HbmCollection;
|
|
|
|
public class ItemAmmoEnums {
|
|
|
|
public enum AmmoLunaticSniper implements IAmmoItemEnum {
|
|
SABOT("ammo_luna"),
|
|
INCENDIARY("ammo_luna_incendiary"),
|
|
EXPLOSIVE("ammo_luna_explosive");
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private AmmoLunaticSniper(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum AmmoFireExt implements IAmmoItemEnum {
|
|
WATER("ammo_fireext"),
|
|
FOAM("ammo_fireext_foam"),
|
|
SAND("ammo_fireext_sand");
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private AmmoFireExt(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum AmmoFlamethrower implements IAmmoItemEnum {
|
|
DIESEL("ammo_fuel"),
|
|
NAPALM("ammo_fuel_napalm", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_RANGE, AmmoItemTrait.CON_HEAVY_WEAR),
|
|
PHOSPHORUS("ammo_fuel_phosphorus", 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("ammo_fuel_vaporizer", 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("ammo_fuel_gas", AmmoItemTrait.PRO_NO_GRAVITY, AmmoItemTrait.PRO_POISON_GAS, AmmoItemTrait.CON_NO_DAMAGE, AmmoItemTrait.CON_NO_FIRE);
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private AmmoFlamethrower(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum AmmoMisc implements IAmmoItemEnum {
|
|
//LUNA_SNIPER("ammo_lunar", Gun50BMGFactory.getLunaticSabotRound(), AmmoItemTrait.PRO_HEAVY_DAMAGE, AmmoItemTrait.PRO_ACCURATE2, AmmoItemTrait.NEU_HEAVY_METAL),
|
|
DGK("ammo_dkg");
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private AmmoMisc(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum AmmoStinger implements IAmmoItemEnum {
|
|
STOCK("ammo_stinger_rocket"),
|
|
HE("ammo_stinger_rocket_he", AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.CON_WEAR),
|
|
INCENDIARY("ammo_stinger_rocket_incendiary", HbmCollection.IncendiaryType),
|
|
NUCLEAR("ammo_stinger_rocket_nuclear", AmmoItemTrait.PRO_NUCLEAR, AmmoItemTrait.CON_SUPER_WEAR),
|
|
BONES("ammo_stinger_rocket_bones");
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private AmmoStinger(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
private AmmoStinger(String unloc, Set<AmmoItemTrait> traits) {
|
|
this.traits = traits;
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum AmmoRocket implements IAmmoItemEnum {
|
|
STOCK("ammo_rocket"),
|
|
HE("ammo_rocket_he", AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.CON_WEAR),
|
|
INCENDIARY("ammo_rocket_incendiary", HbmCollection.IncendiaryType),
|
|
EMP("ammo_rocket_emp", AmmoItemTrait.PRO_EMP, AmmoItemTrait.CON_RADIUS),
|
|
SLEEK("ammo_rocket_sleek", AmmoItemTrait.PRO_RADIUS_HIGH, AmmoItemTrait.PRO_NO_GRAVITY, AmmoItemTrait.CON_SPEED),
|
|
SHRAPNEL("ammo_rocket_shrapnel", AmmoItemTrait.PRO_SHRAPNEL),
|
|
GLARE("ammo_rocket_glare", AmmoItemTrait.PRO_SPEED, AmmoItemTrait.PRO_INCENDIARY, AmmoItemTrait.CON_WEAR),
|
|
NUCLEAR("ammo_rocket_nuclear", AmmoItemTrait.PRO_NUCLEAR, AmmoItemTrait.CON_SUPER_WEAR, AmmoItemTrait.CON_SPEED),
|
|
CHLORINE("ammo_rocket_toxic", AmmoItemTrait.PRO_CHLORINE, AmmoItemTrait.CON_NO_EXPLODE1, AmmoItemTrait.CON_SPEED),
|
|
RPC("ammo_rocket_rpc", AmmoItemTrait.PRO_CHAINSAW, AmmoItemTrait.PRO_PENETRATION, AmmoItemTrait.PRO_NO_GRAVITY, AmmoItemTrait.CON_WEAR, AmmoItemTrait.CON_NO_EXPLODE1, AmmoItemTrait.NEU_UHH ),
|
|
PHOSPHORUS("ammo_rocket_phosphorus", HbmCollection.PhosphorusTypeSpecial),
|
|
CANISTER("ammo_rocket_canister"),
|
|
DIGAMMA("ammo_rocket_digamma");
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private AmmoRocket(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
private AmmoRocket(String unloc, Set<AmmoItemTrait> traits) {
|
|
this.traits = traits;
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum AmmoGrenade implements IAmmoItemEnum {
|
|
STOCK("ammo_grenade"),
|
|
HE("ammo_grenade_he", AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.CON_WEAR),
|
|
INCENDIARY("ammo_grenade_incendiary", AmmoItemTrait.PRO_INCENDIARY, AmmoItemTrait.CON_WEAR),
|
|
PHOSPHORUS("ammo_grenade_phosphorus", AmmoItemTrait.PRO_PHOSPHORUS_SPLASH, AmmoItemTrait.NEU_WARCRIME1, AmmoItemTrait.CON_WEAR),
|
|
CHLORINE("ammo_grenade_toxic", AmmoItemTrait.PRO_CHLORINE, AmmoItemTrait.CON_NO_EXPLODE1),
|
|
SLEEK("ammo_grenade_sleek", AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.NEU_JOLT),
|
|
CONCUSSION("ammo_grenade_concussion", AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.CON_NO_EXPLODE2),
|
|
FINNED("ammo_grenade_finned", AmmoItemTrait.PRO_GRAVITY, AmmoItemTrait.CON_RADIUS),
|
|
NUCLEAR("ammo_grenade_nuclear", AmmoItemTrait.PRO_NUCLEAR, AmmoItemTrait.PRO_RANGE, AmmoItemTrait.CON_HEAVY_WEAR),
|
|
TRACER("ammo_grenade_tracer", AmmoItemTrait.NEU_BLANK),
|
|
KAMPF("ammo_grenade_kampf", AmmoItemTrait.PRO_ROCKET_PROPELLED, AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.PRO_ACCURATE1, AmmoItemTrait.CON_WEAR),
|
|
LEADBURSTER("ammo_grenade_leadburster", AmmoItemTrait.NEU_LEADBURSTER, AmmoItemTrait.CON_NO_EXPLODE1);
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private AmmoGrenade(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum AmmoFatman implements IAmmoItemEnum {
|
|
STOCK("ammo_nuke"),
|
|
LOW("ammo_nuke_low", AmmoItemTrait.CON_RADIUS),
|
|
HIGH("ammo_nuke_high", AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.PRO_FALLOUT),
|
|
TOTS("ammo_nuke_tots", AmmoItemTrait.PRO_BOMB_COUNT, AmmoItemTrait.NEU_FUN, AmmoItemTrait.CON_ACCURACY2, AmmoItemTrait.CON_RADIUS, AmmoItemTrait.CON_NO_MIRV),
|
|
SAFE("ammo_nuke_safe", AmmoItemTrait.CON_RADIUS, AmmoItemTrait.CON_NO_EXPLODE2),
|
|
PUMPKIN("ammo_nuke_pumpkin", AmmoItemTrait.CON_NN),
|
|
MIRV("ammo_mirv"),
|
|
MIRV_LOW("ammo_mirv_low", AmmoItemTrait.CON_RADIUS),
|
|
MIRV_HIGH("ammo_mirv_high", AmmoItemTrait.PRO_RADIUS, AmmoItemTrait.PRO_FALLOUT),
|
|
MIRV_SAFE("ammo_mirv_safe", AmmoItemTrait.CON_RADIUS, AmmoItemTrait.CON_NO_EXPLODE2),
|
|
MIRV_SPECIAL("ammo_mirv_special"),
|
|
BALEFIRE("gun_bf_ammo"),
|
|
BARREL("ammo_nuke_barrel");
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private AmmoFatman(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum AmmoDart implements IAmmoItemEnum {
|
|
GPS("ammo_dart"),
|
|
NUCLEAR("ammo_dart_nuclear"),
|
|
NERF("ammo_dart_nerf");
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private AmmoDart(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum Ammo240Shell implements IAmmoItemEnum {
|
|
STOCK("ammo_shell"),
|
|
EXPLOSIVE("ammo_shell_explosive"),
|
|
APFSDS_T("ammo_shell_apfsds_t"),
|
|
APFSDS_DU("ammo_shell_apfsds_du"),
|
|
W9("ammo_shell_w9");
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private Ammo240Shell(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum Ammo9mm implements IAmmoItemEnum {
|
|
STOCK("ammo_9mm"),
|
|
AP("ammo_9mm_ap", HbmCollection.APType),
|
|
DU("ammo_9mm_du", HbmCollection.DUType),
|
|
CHLOROPHYTE("ammo_9mm_chlorophyte", HbmCollection.ChlorophyteType),
|
|
ROCKET("ammo_9mm_rocket", AmmoItemTrait.PRO_ROCKET, AmmoItemTrait.NEU_UHH);
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private Ammo9mm(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
private Ammo9mm(String unloc, Set<AmmoItemTrait> traits) {
|
|
this.traits = traits;
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum Ammo762NATO implements IAmmoItemEnum {
|
|
STOCK("ammo_762"),
|
|
AP("ammo_762_ap", HbmCollection.APType),
|
|
DU("ammo_762_du", HbmCollection.DUType),
|
|
TRACER("ammo_762_tracer", AmmoItemTrait.NEU_TRACER),
|
|
PHOSPHORUS("ammo_762_phosphorus", HbmCollection.PhosphorusType),
|
|
BLANK("ammo_762_k", AmmoItemTrait.NEU_BLANK);
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private Ammo762NATO(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
private Ammo762NATO(String unloc, Set<AmmoItemTrait> traits) {
|
|
this.traits = traits;
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum Ammo75Bolt implements IAmmoItemEnum {
|
|
STOCK("ammo_75bolt"),
|
|
INCENDIARY("ammo_75bolt_incendiary"),
|
|
HE("ammo_75bolt_he");
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private Ammo75Bolt(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum Ammo5mm implements IAmmoItemEnum {
|
|
STOCK("ammo_5mm"),
|
|
EXPLOSIVE("ammo_5mm_explosive", HbmCollection.ExplosiveType),
|
|
DU("ammo_5mm_du", HbmCollection.DUType),
|
|
STAR("ammo_5mm_star", HbmCollection.StarmetalType),
|
|
CHLOROPHYTE("ammo_5mm_chlorophyte", HbmCollection.ChlorophyteType);
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private Ammo5mm(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
private Ammo5mm(String unloc, Set<AmmoItemTrait> traits) {
|
|
this.traits = traits;
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum Ammo556mm implements IAmmoItemEnum {
|
|
STOCK("ammo_556"),
|
|
GOLD("gun_pm_ammo"),
|
|
PHOSPHORUS("ammo_556_phosphorus", HbmCollection.PhosphorusType),
|
|
AP("ammo_556_ap", HbmCollection.APType),
|
|
DU("ammo_556_du", HbmCollection.DUType),
|
|
STAR("ammo_556_star", HbmCollection.StarmetalType),
|
|
CHLOROPHYTE("ammo_556_chlorophyte", HbmCollection.ChlorophyteType),
|
|
SLEEK("ammo_556_sleek", AmmoItemTrait.NEU_MASKMAN_METEORITE),
|
|
TRACER("ammo_556_tracer", AmmoItemTrait.NEU_TRACER),
|
|
FLECHETTE("ammo_556_flechette", HbmCollection.FlechetteType),
|
|
FLECHETTE_INCENDIARY("ammo_556_flechette_incendiary", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_INCENDIARY, AmmoItemTrait.NEU_LESS_BOUNCY, AmmoItemTrait.CON_WEAR, AmmoItemTrait.CON_PENETRATION),
|
|
FLECHETTE_PHOSPHORUS("ammo_556_flechette_phosphorus", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_PHOSPHORUS, AmmoItemTrait.NEU_WARCRIME2, AmmoItemTrait.NEU_LESS_BOUNCY, AmmoItemTrait.CON_WEAR, AmmoItemTrait.CON_PENETRATION),
|
|
FLECHETTE_DU("ammo_556_flechette_du", AmmoItemTrait.PRO_HEAVY_DAMAGE, AmmoItemTrait.PRO_PENETRATION, AmmoItemTrait.NEU_HEAVY_METAL, AmmoItemTrait.NEU_LESS_BOUNCY, AmmoItemTrait.CON_HEAVY_WEAR),
|
|
FLECHETTE_CHLOROPHYTE("ammo_556_flechette_chlorophyte", HbmCollection.ChlorophyteType),
|
|
FLECHETTE_SLEEK("ammo_556_flechette_sleek", AmmoItemTrait.NEU_MASKMAN_METEORITE),
|
|
K("ammo_556_k", AmmoItemTrait.NEU_BLANK);
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private Ammo556mm(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
private Ammo556mm(String unloc, Set<AmmoItemTrait> traits) {
|
|
this.traits = traits;
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum Ammo50BMG implements IAmmoItemEnum {
|
|
STOCK("ammo_50bmg"),
|
|
INCENDIARY("ammo_50bmg_incendiary", HbmCollection.IncendiaryType),
|
|
PHOSPHORUS("ammo_50bmg_phosphorus", HbmCollection.PhosphorusType),
|
|
EXPLOSIVE("ammo_50bmg_explosive", HbmCollection.ExplosiveType),
|
|
AP("ammo_50bmg_ap", HbmCollection.APType),
|
|
DU("ammo_50bmg_du", HbmCollection.DUType),
|
|
STAR("ammo_50bmg_star", HbmCollection.StarmetalType),
|
|
CHLOROPHYTE("ammo_50bmg_chlorophyte", HbmCollection.ChlorophyteType),
|
|
SLEEK("ammo_50bmg_sleek", AmmoItemTrait.NEU_MASKMAN_METEORITE),
|
|
FLECHETTE("ammo_50bmg_flechette", AmmoItemTrait.PRO_DAMAGE),
|
|
FLECHETTE_AM("ammo_50bmg_flechette_am", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_UHH),
|
|
FLECHETTE_PO("ammo_50bmg_flechette_po", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_UHH);
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private Ammo50BMG(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
private Ammo50BMG(String unloc, Set<AmmoItemTrait> traits) {
|
|
this.traits = traits;
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum Ammo50AE implements IAmmoItemEnum {
|
|
STOCK("ammo_50ae"),
|
|
AP("ammo_50ae_ap", HbmCollection.APType),
|
|
DU("ammo_50ae_du", HbmCollection.DUType),
|
|
STAR("ammo_50ae_star", HbmCollection.StarmetalType),
|
|
CHLOROPHYTE("ammo_50ae_chlorophyte", HbmCollection.ChlorophyteType);
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private Ammo50AE(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
private Ammo50AE(String unloc, Set<AmmoItemTrait> traits) {
|
|
this.traits = traits;
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum Ammo4Gauge implements IAmmoItemEnum {
|
|
STOCK("ammo_4gauge"),
|
|
SLUG("ammo_4gauge_slug", AmmoItemTrait.PRO_ACCURATE2, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_WEAR, AmmoItemTrait.CON_SING_PROJECTILE),
|
|
FLECHETTE("ammo_4gauge_flechette", HbmCollection.FlechetteType),
|
|
FLECHETTE_PHOSPHORUS("ammo_4gauge_flechette_phosphorus", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_PHOSPHORUS, AmmoItemTrait.NEU_WARCRIME2, AmmoItemTrait.NEU_LESS_BOUNCY, AmmoItemTrait.CON_WEAR),
|
|
EXPLOSIVE("ammo_4gauge_explosive", AmmoItemTrait.PRO_EXPLOSIVE, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_40MM, AmmoItemTrait.CON_HEAVY_WEAR, AmmoItemTrait.CON_SING_PROJECTILE),
|
|
MINING("ammo_4gauge_semtex", AmmoItemTrait.PRO_EXPLOSIVE, AmmoItemTrait.PRO_MINING, AmmoItemTrait.CON_NO_EXPLODE3, AmmoItemTrait.CON_HEAVY_WEAR, AmmoItemTrait.CON_SING_PROJECTILE),
|
|
BALEFIRE("ammo_4gauge_balefire", AmmoItemTrait.PRO_EXPLOSIVE, AmmoItemTrait.PRO_BALEFIRE, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.CON_HEAVY_WEAR, AmmoItemTrait.CON_SING_PROJECTILE),
|
|
KAMPF("ammo_4gauge_kampf", AmmoItemTrait.PRO_EXPLOSIVE, AmmoItemTrait.PRO_ROCKET_PROPELLED, AmmoItemTrait.PRO_ACCURATE1, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.CON_WEAR, AmmoItemTrait.CON_SING_PROJECTILE),
|
|
CANISTER("ammo_4gauge_canister"),
|
|
SLEEK("ammo_4gauge_sleek", AmmoItemTrait.NEU_MASKMAN_FLECHETTE),
|
|
CLAW("ammo_4gauge_claw"),
|
|
VAMPIRE("ammo_4gauge_vampire"),
|
|
VOID("ammo_4gauge_void"),
|
|
QUACK("ammo_4gauge_titan", AmmoItemTrait.PRO_MARAUDER, AmmoItemTrait.NEU_NO_CON);
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private Ammo4Gauge(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
private Ammo4Gauge(String unloc, Set<AmmoItemTrait> traits) {
|
|
this.traits = traits;
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum Ammo45ACP implements IAmmoItemEnum {
|
|
STOCK("ammo_45"),
|
|
AP("ammo_45_ap", HbmCollection.APType),
|
|
DU("ammo_45_du", HbmCollection.DUType);
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private Ammo45ACP(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
private Ammo45ACP(String unloc, Set<AmmoItemTrait> traits) {
|
|
this.traits = traits;
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum Ammo44Magnum implements IAmmoItemEnum {
|
|
STOCK("ammo_44"),
|
|
AP("ammo_44_ap", HbmCollection.APType),
|
|
DU("ammo_44_du", HbmCollection.DUType),
|
|
PHOSPHORUS("ammo_44_phosphorus", HbmCollection.PhosphorusType),
|
|
STAR("ammo_44_star", HbmCollection.StarmetalType),
|
|
CHLOROPHYTE("ammo_44_chlorophyte", HbmCollection.ChlorophyteType),
|
|
PIP("ammo_44_pip", AmmoItemTrait.NEU_BOXCAR, AmmoItemTrait.CON_DAMAGE),
|
|
BJ("ammo_44_bj", AmmoItemTrait.NEU_BOAT, AmmoItemTrait.CON_DAMAGE),
|
|
SILVER("ammo_44_silver", AmmoItemTrait.NEU_BUILDING, AmmoItemTrait.CON_DAMAGE),
|
|
ROCKET("ammo_44_rocket", AmmoItemTrait.PRO_ROCKET, AmmoItemTrait.NEU_UHH);
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private Ammo44Magnum(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
private Ammo44Magnum(String unloc, Set<AmmoItemTrait> traits) {
|
|
this.traits = traits;
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum Ammo357Magnum implements IAmmoItemEnum {
|
|
IRON("gun_revolver_iron_ammo"),
|
|
LEAD("gun_revolver_ammo"),
|
|
NUCLEAR("gun_revolver_lead_ammo"),
|
|
GOLD("gun_revolver_gold_ammo"),
|
|
DESH("ammo_357_desh", AmmoItemTrait.PRO_FIT_357, AmmoItemTrait.PRO_DAMAGE_SLIGHT),
|
|
SCHRABIDIUM("gun_revolver_schrabidium_ammo"),
|
|
STEEL("gun_revolver_cursed_ammo"),
|
|
NIGHTMARE1("gun_revolver_nightmare_ammo"),
|
|
NIGHTMARE2("gun_revolver_nightmare2_ammo");
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private Ammo357Magnum(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum Ammo22LR implements IAmmoItemEnum {
|
|
STOCK("ammo_22lr"),
|
|
AP("ammo_22lr_ap", HbmCollection.APType),
|
|
CHLOROPHYTE("ammo_22lr_chlorophyte", HbmCollection.ChlorophyteType);
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private Ammo22LR(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
private Ammo22LR(String unloc, Set<AmmoItemTrait> traits) {
|
|
this.traits = traits;
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum Ammo20Gauge implements IAmmoItemEnum {
|
|
STOCK("ammo_20gauge"),
|
|
SLUG("ammo_20gauge_slug", AmmoItemTrait.PRO_ACCURATE2, AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_WEAR, AmmoItemTrait.CON_SING_PROJECTILE),
|
|
FLECHETTE("ammo_20gauge_flechette", HbmCollection.FlechetteType),
|
|
INCENDIARY("ammo_20gauge_incendiary", AmmoItemTrait.PRO_INCENDIARY, AmmoItemTrait.CON_WEAR),
|
|
SHRAPNEL("ammo_20gauge_shrapnel", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_MORE_BOUNCY, AmmoItemTrait.CON_WEAR),
|
|
EXPLOSIVE("ammo_20gauge_explosive", HbmCollection.ExplosiveType),
|
|
CAUSTIC("ammo_20gauge_caustic", AmmoItemTrait.PRO_TOXIC, AmmoItemTrait.PRO_CAUSTIC, AmmoItemTrait.NEU_NO_BOUNCE, AmmoItemTrait.CON_HEAVY_WEAR),
|
|
SHOCK("ammo_20gauge_shock", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_STUNNING, AmmoItemTrait.PRO_EMP, AmmoItemTrait.NEU_NO_BOUNCE, AmmoItemTrait.CON_HEAVY_WEAR),
|
|
WITHER("ammo_20gauge_wither", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_WITHERING),
|
|
SLEEK("ammo_20gauge_sleek", AmmoItemTrait.NEU_MASKMAN_FLECHETTE);
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private Ammo20Gauge(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
private Ammo20Gauge(String unloc, Set<AmmoItemTrait> traits) {
|
|
this.traits = traits;
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum Ammo12Gauge implements IAmmoItemEnum {
|
|
STOCK("ammo_12gauge"),
|
|
INCENDIARY("ammo_12gauge_incendiary", AmmoItemTrait.PRO_INCENDIARY, AmmoItemTrait.CON_WEAR),
|
|
SHRAPNEL("ammo_12gauge_shrapnel", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.NEU_MORE_BOUNCY, AmmoItemTrait.CON_WEAR),
|
|
DU("ammo_12gauge_du", AmmoItemTrait.PRO_DAMAGE, AmmoItemTrait.PRO_PENETRATION, AmmoItemTrait.NEU_HEAVY_METAL, AmmoItemTrait.CON_HEAVY_WEAR),
|
|
MARAUDER("ammo_12gauge_marauder", AmmoItemTrait.PRO_MARAUDER, AmmoItemTrait.NEU_NO_CON),
|
|
SLEEK("ammo_12gauge_sleek", AmmoItemTrait.NEU_MASKMAN_FLECHETTE),
|
|
PERCUSSION("ammo_12gauge_percussion", AmmoItemTrait.PRO_PERCUSSION, AmmoItemTrait.CON_NO_PROJECTILE);
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private Ammo12Gauge(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override
|
|
public Set<AmmoItemTrait> getTraits() {
|
|
return traits;
|
|
}
|
|
|
|
@Override
|
|
public String getInternalName() {
|
|
return unloc;
|
|
}
|
|
}
|
|
|
|
public enum AmmoCoilgun implements IAmmoItemEnum {
|
|
STOCK("ammo_coilgun"),
|
|
DU("ammo_coilgun_du", AmmoItemTrait.PRO_HEAVY_DAMAGE, AmmoItemTrait.CON_HEAVY_WEAR),
|
|
RUBBER("ammo_coilgun_rubber", AmmoItemTrait.NEU_MORE_BOUNCY, AmmoItemTrait.CON_DAMAGE);
|
|
|
|
private final Set<AmmoItemTrait> traits;
|
|
private final String unloc;
|
|
|
|
private AmmoCoilgun(String unloc, AmmoItemTrait... traits) {
|
|
this.traits = safeAssign(traits);
|
|
this.unloc = unloc;
|
|
}
|
|
|
|
@Override public Set<AmmoItemTrait> getTraits() { return traits; }
|
|
@Override public String getInternalName() { return unloc; }
|
|
}
|
|
|
|
public interface IAmmoItemEnum {
|
|
public Set<AmmoItemTrait> getTraits();
|
|
public String getInternalName();
|
|
}
|
|
|
|
static Set<AmmoItemTrait> safeAssign(AmmoItemTrait[] traits) {
|
|
return traits == null ? ImmutableSet.of() : ImmutableSet.copyOf(traits);
|
|
}
|
|
}
|