diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/M79Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/M79Item.java index b2600f524..b41408a6a 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/M79Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/M79Item.java @@ -175,7 +175,7 @@ public class M79Item extends GunItem implements GeoItem, SpecialFireWeapon { @Override public boolean canApplyPerk(Perk perk) { - return PerkHelper.LAUNCHER_PERKS.test(perk); + return PerkHelper.LAUNCHER_PERKS.test(perk) || perk == ModPerks.MICRO_MISSILE.get(); } @Override diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/SecondaryCataclysm.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/SecondaryCataclysm.java index e42076052..5d8af9bab 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/SecondaryCataclysm.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/SecondaryCataclysm.java @@ -275,7 +275,7 @@ public class SecondaryCataclysm extends GunItem implements GeoItem, SpecialFireW @Override public boolean canApplyPerk(Perk perk) { - return PerkHelper.LAUNCHER_PERKS.test(perk); + return PerkHelper.LAUNCHER_PERKS.test(perk) || perk == ModPerks.MICRO_MISSILE.get(); } @Override diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/MinigunItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/MinigunItem.java index 620fa721a..7f923f31e 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/MinigunItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/MinigunItem.java @@ -203,7 +203,7 @@ public class MinigunItem extends GunItem implements GeoItem { @Override public boolean canApplyPerk(Perk perk) { return switch (perk.type) { - case AMMO -> true; + case AMMO -> perk != ModPerks.MICRO_MISSILE.get() && perk != ModPerks.LONGER_WIRE.get(); case FUNCTIONAL -> perk == ModPerks.FIELD_DOCTOR.get() || perk == ModPerks.INTELLIGENT_CHIP.get(); case DAMAGE -> perk == ModPerks.MONSTER_HUNTER.get() || perk == ModPerks.KILLING_TALLY.get(); }; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/smg/VectorItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/smg/VectorItem.java index 64f16279d..51daaa035 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/smg/VectorItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/smg/VectorItem.java @@ -173,7 +173,7 @@ public class VectorItem extends GunItem implements GeoItem { @Override public ResourceLocation getGunIcon() { - return new ResourceLocation(ModUtils.MODID, "textures/gun_icon/vector_icon.png"); + return ModUtils.loc("textures/gun_icon/vector_icon.png"); } @Override diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/HuntingRifleItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/HuntingRifleItem.java index af0037b9c..3bf0c91e6 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/HuntingRifleItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/HuntingRifleItem.java @@ -102,7 +102,6 @@ public class HuntingRifleItem extends GunItem implements GeoItem { @Override public AnimatableInstanceCache getAnimatableInstanceCache() { return this.cache; - } public static ItemStack getGunInstance() { diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/special/BocekItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/special/BocekItem.java index c19a05269..1b8afc581 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/special/BocekItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/special/BocekItem.java @@ -165,7 +165,7 @@ public class BocekItem extends GunItem implements GeoItem, SpecialFireWeapon { @Override public boolean canApplyPerk(Perk perk) { return switch (perk.type) { - case AMMO -> !perk.descriptionId.equals("butterfly_bullet"); + case AMMO -> !perk.descriptionId.equals("butterfly_bullet") && perk != ModPerks.MICRO_MISSILE.get(); case FUNCTIONAL -> perk == ModPerks.FIELD_DOCTOR.get() || perk == ModPerks.INTELLIGENT_CHIP.get(); case DAMAGE -> perk == ModPerks.MONSTER_HUNTER.get() || perk == ModPerks.KILLING_TALLY.get(); }; diff --git a/src/main/java/com/atsuishio/superbwarfare/perk/PerkHelper.java b/src/main/java/com/atsuishio/superbwarfare/perk/PerkHelper.java index d5fbf9e62..51b81de8a 100644 --- a/src/main/java/com/atsuishio/superbwarfare/perk/PerkHelper.java +++ b/src/main/java/com/atsuishio/superbwarfare/perk/PerkHelper.java @@ -181,7 +181,8 @@ public class PerkHelper { } public static final Predicate SHOTGUN_PERKS = perk -> switch (perk.type) { - case AMMO -> !perk.descriptionId.equals("butterfly_bullet"); + case AMMO -> !perk.descriptionId.equals("butterfly_bullet") && perk != ModPerks.MICRO_MISSILE.get() + && perk != ModPerks.LONGER_WIRE.get(); case FUNCTIONAL -> perk == ModPerks.SUBSISTENCE.get() || perk == ModPerks.POWERFUL_ATTRACTION.get() || perk == ModPerks.HEAL_CLIP.get() @@ -193,28 +194,19 @@ public class PerkHelper { || perk == ModPerks.VORPAL_WEAPON.get(); }; - public static final Predicate RIFLE_PERKS = perk -> { - switch (perk.type) { - case AMMO -> { - return true; - } - case FUNCTIONAL -> { - return perk == ModPerks.HEAL_CLIP.get() || perk == ModPerks.FIELD_DOCTOR.get() || - perk == ModPerks.FOURTH_TIMES_CHARM.get() || perk == ModPerks.SUBSISTENCE.get() || - perk == ModPerks.POWERFUL_ATTRACTION.get() || perk == ModPerks.INTELLIGENT_CHIP.get(); - } - case DAMAGE -> { - return perk == ModPerks.KILL_CLIP.get() || perk == ModPerks.GUTSHOT_STRAIGHT.get() || perk == ModPerks.MONSTER_HUNTER.get() || + public static final Predicate RIFLE_PERKS = perk -> switch (perk.type) { + case AMMO -> perk != ModPerks.MICRO_MISSILE.get() && perk != ModPerks.LONGER_WIRE.get(); + case FUNCTIONAL -> perk == ModPerks.HEAL_CLIP.get() || perk == ModPerks.FIELD_DOCTOR.get() || + perk == ModPerks.FOURTH_TIMES_CHARM.get() || perk == ModPerks.SUBSISTENCE.get() || + perk == ModPerks.POWERFUL_ATTRACTION.get() || perk == ModPerks.INTELLIGENT_CHIP.get(); + case DAMAGE -> + perk == ModPerks.KILL_CLIP.get() || perk == ModPerks.GUTSHOT_STRAIGHT.get() || perk == ModPerks.MONSTER_HUNTER.get() || perk == ModPerks.HEAD_SEEKER.get() || perk == ModPerks.DESPERADO.get() || perk == ModPerks.VORPAL_WEAPON.get(); - } - default -> { - return false; - } - } }; public static final Predicate HANDGUN_PERKS = perk -> switch (perk.type) { - case AMMO -> !perk.descriptionId.equals("butterfly_bullet"); + case AMMO -> !perk.descriptionId.equals("butterfly_bullet") && perk != ModPerks.MICRO_MISSILE.get() + && perk != ModPerks.LONGER_WIRE.get(); case FUNCTIONAL -> perk == ModPerks.HEAL_CLIP.get() || perk == ModPerks.FIELD_DOCTOR.get() || perk == ModPerks.SUBSISTENCE.get() @@ -227,8 +219,8 @@ public class PerkHelper { }; public static final Predicate SNIPER_RIFLE_PERKS = perk -> switch (perk.type) { - case AMMO -> !perk.descriptionId.equals("butterfly_bullet"); - + case AMMO -> !perk.descriptionId.equals("butterfly_bullet") && perk != ModPerks.MICRO_MISSILE.get() + && perk != ModPerks.LONGER_WIRE.get(); case FUNCTIONAL -> perk == ModPerks.HEAL_CLIP.get() || perk == ModPerks.FOURTH_TIMES_CHARM.get() || perk == ModPerks.POWERFUL_ATTRACTION.get() @@ -240,7 +232,7 @@ public class PerkHelper { }; public static final Predicate SMG_PERKS = perk -> switch (perk.type) { - case AMMO -> true; + case AMMO -> perk != ModPerks.MICRO_MISSILE.get() && perk != ModPerks.LONGER_WIRE.get(); case FUNCTIONAL -> perk == ModPerks.HEAL_CLIP.get() || perk == ModPerks.FOURTH_TIMES_CHARM.get() || perk == ModPerks.SUBSISTENCE.get() @@ -255,8 +247,7 @@ public class PerkHelper { }; public static final Predicate MACHINE_GUN_PERKS = perk -> switch (perk.type) { - case AMMO -> true; - + case AMMO -> perk != ModPerks.MICRO_MISSILE.get() && perk != ModPerks.LONGER_WIRE.get(); case FUNCTIONAL -> perk == ModPerks.FOURTH_TIMES_CHARM.get() || perk == ModPerks.SUBSISTENCE.get() || perk == ModPerks.POWERFUL_ATTRACTION.get() @@ -271,7 +262,5 @@ public class PerkHelper { public static final Predicate LAUNCHER_PERKS = perk -> perk == ModPerks.MONSTER_HUNTER.get() || perk == ModPerks.POWERFUL_ATTRACTION.get() || perk == ModPerks.INTELLIGENT_CHIP.get() - || perk == ModPerks.VORPAL_WEAPON.get() - || perk == ModPerks.MICRO_MISSILE.get(); - + || perk == ModPerks.VORPAL_WEAPON.get(); }