diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock17Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock17Item.java index 0aad5da44..aaf86208d 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock17Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock17Item.java @@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; @@ -110,11 +108,6 @@ public class Glock17Item extends GunItem implements GeoItem { return "GLOCK-17"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.HANDGUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk); - } - @Override public boolean isMagazineReload(ItemStack stack) { return true; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock18Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock18Item.java index cd3f3caff..a4892448c 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock18Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Glock18Item.java @@ -3,12 +3,9 @@ package com.atsuishio.superbwarfare.item.gun.handgun; import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.client.renderer.item.Glock18ItemRenderer; import com.atsuishio.superbwarfare.event.ClientEventHandler; -import com.atsuishio.superbwarfare.init.ModPerks; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; @@ -113,11 +110,6 @@ public class Glock18Item extends GunItem implements GeoItem { return "GLOCK-18"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.HANDGUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk) || perk == ModPerks.DESPERADO.get(); - } - @Override public boolean isMagazineReload(ItemStack stack) { return true; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/M1911Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/M1911Item.java index 730868092..15e6acf25 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/M1911Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/M1911Item.java @@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; @@ -112,11 +110,6 @@ public class M1911Item extends GunItem implements GeoItem { return "M-1911"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.HANDGUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk); - } - @Override public boolean isMagazineReload(ItemStack stack) { return true; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Mp443Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Mp443Item.java index 1b89a9ed7..d045b10e5 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Mp443Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Mp443Item.java @@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; @@ -109,11 +107,6 @@ public class Mp443Item extends GunItem implements GeoItem { return "MP-443"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.HANDGUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk); - } - @Override public boolean isMagazineReload(ItemStack stack) { return true; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Trachelium.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Trachelium.java index 761c1475a..c323fd5e8 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Trachelium.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/handgun/Trachelium.java @@ -8,8 +8,6 @@ import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import com.atsuishio.superbwarfare.tools.NBTTool; import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; @@ -296,11 +294,6 @@ public class Trachelium extends GunItem implements GeoItem { return "TRACHELIUM"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.HANDGUN_PERKS.test(perk); - } - @Override public boolean isMagazineReload(ItemStack stack) { return true; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/heavy/Ntw20Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/heavy/Ntw20Item.java index 561f3a59b..ac982d274 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/heavy/Ntw20Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/heavy/Ntw20Item.java @@ -9,8 +9,6 @@ import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import com.atsuishio.superbwarfare.tools.GunsTool; import com.atsuishio.superbwarfare.tools.NBTTool; import net.minecraft.client.Minecraft; @@ -157,11 +155,6 @@ public class Ntw20Item extends GunItem implements GeoItem { return "NTW-20"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.SNIPER_RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk); - } - @Override public boolean isMagazineReload(ItemStack stack) { return true; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/JavelinItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/JavelinItem.java index 4decd2ce4..b57a372dc 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/JavelinItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/JavelinItem.java @@ -13,7 +13,6 @@ import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; import com.atsuishio.superbwarfare.network.message.receive.ShootClientMessage; import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import com.atsuishio.superbwarfare.tools.*; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; @@ -191,11 +190,6 @@ public class JavelinItem extends GunItem implements GeoItem { return "FGM-148"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.LAUNCHER_PERKS.test(perk); - } - @Override public @NotNull Optional getTooltipImage(@NotNull ItemStack pStack) { return Optional.of(new LauncherImageComponent(pStack)); 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 58895b81c..618e4bf96 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 @@ -5,13 +5,11 @@ import com.atsuishio.superbwarfare.client.renderer.item.M79ItemRenderer; import com.atsuishio.superbwarfare.client.tooltip.component.LauncherImageComponent; import com.atsuishio.superbwarfare.entity.projectile.GunGrenadeEntity; import com.atsuishio.superbwarfare.event.ClientEventHandler; -import com.atsuishio.superbwarfare.init.ModPerks; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; import com.atsuishio.superbwarfare.perk.AmmoPerk; import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import com.atsuishio.superbwarfare.tools.ParticleTool; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; @@ -101,11 +99,6 @@ public class M79Item extends GunItem implements GeoItem { return "M79 LAUNCHER"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.LAUNCHER_PERKS.test(perk) || perk == ModPerks.MICRO_MISSILE.get(); - } - @Override public @NotNull Optional getTooltipImage(@NotNull ItemStack pStack) { return Optional.of(new LauncherImageComponent(pStack)); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/RpgItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/RpgItem.java index b55f98d87..d21d58b86 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/RpgItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/RpgItem.java @@ -5,13 +5,11 @@ import com.atsuishio.superbwarfare.client.renderer.item.RpgItemRenderer; import com.atsuishio.superbwarfare.client.tooltip.component.LauncherImageComponent; import com.atsuishio.superbwarfare.entity.projectile.RpgRocketEntity; import com.atsuishio.superbwarfare.event.ClientEventHandler; -import com.atsuishio.superbwarfare.init.ModPerks; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; import com.atsuishio.superbwarfare.perk.AmmoPerk; import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import com.atsuishio.superbwarfare.tools.ParticleTool; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; @@ -129,11 +127,6 @@ public class RpgItem extends GunItem implements GeoItem { return "RPG-7"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.LAUNCHER_PERKS.test(perk) || perk == ModPerks.MICRO_MISSILE.get(); - } - @Override public @NotNull Optional getTooltipImage(@NotNull ItemStack pStack) { return Optional.of(new LauncherImageComponent(pStack)); 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 6d29a9f94..309d67989 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 @@ -7,14 +7,12 @@ import com.atsuishio.superbwarfare.entity.projectile.GunGrenadeEntity; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModEnumExtensions; import com.atsuishio.superbwarfare.init.ModItems; -import com.atsuishio.superbwarfare.init.ModPerks; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.EnergyStorageItem; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; import com.atsuishio.superbwarfare.perk.AmmoPerk; import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import com.atsuishio.superbwarfare.tools.ParticleTool; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; @@ -187,11 +185,6 @@ public class SecondaryCataclysm extends GunItem implements GeoItem, EnergyStorag return "SECONDARY CATACLYSM"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.LAUNCHER_PERKS.test(perk) || perk == ModPerks.MICRO_MISSILE.get() || perk == ModPerks.REGENERATION.get(); - } - @Override public @NotNull Optional getTooltipImage(@NotNull ItemStack pStack) { return Optional.of(new SecondaryCataclysmImageComponent(pStack)); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/DevotionItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/DevotionItem.java index bbabc6480..cef2a0304 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/DevotionItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/DevotionItem.java @@ -3,12 +3,9 @@ package com.atsuishio.superbwarfare.item.gun.machinegun; import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.client.renderer.item.DevotionItemRenderer; import com.atsuishio.superbwarfare.event.ClientEventHandler; -import com.atsuishio.superbwarfare.init.ModPerks; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; @@ -95,11 +92,6 @@ public class DevotionItem extends GunItem implements GeoItem { return "Devotion"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.MACHINE_GUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk) || perk == ModPerks.DESPERADO.get() || perk == ModPerks.TURBO_CHARGER.get(); - } - @Override public boolean isMagazineReload(ItemStack stack) { return true; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/M60Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/M60Item.java index 016b74563..6eb9995ec 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/M60Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/M60Item.java @@ -3,12 +3,9 @@ package com.atsuishio.superbwarfare.item.gun.machinegun; import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.client.renderer.item.M60ItemRenderer; import com.atsuishio.superbwarfare.event.ClientEventHandler; -import com.atsuishio.superbwarfare.init.ModPerks; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; @@ -131,11 +128,6 @@ public class M60Item extends GunItem implements GeoItem { return "M60"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.MACHINE_GUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk) || perk == ModPerks.DESPERADO.get(); - } - @Override public boolean isMagazineReload(ItemStack stack) { return true; 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 dba45bb83..5e7856775 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 @@ -4,10 +4,8 @@ import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.client.renderer.item.MinigunItemRenderer; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModEnumExtensions; -import com.atsuishio.superbwarfare.init.ModPerks; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; -import com.atsuishio.superbwarfare.perk.Perk; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; @@ -23,10 +21,6 @@ import software.bernie.geckolib.util.GeckoLibUtil; import java.util.function.Supplier; public class MinigunItem extends GunItem implements GeoItem { - @Override - public int getCustomRPM(ItemStack stack) { - return GunData.from(stack).data().getInt("CustomRPM"); - } private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public static ItemDisplayContext transformType; @@ -35,6 +29,11 @@ public class MinigunItem extends GunItem implements GeoItem { super(new Properties().stacksTo(1).rarity(ModEnumExtensions.getLegendary())); } + @Override + public int getCustomRPM(ItemStack stack) { + return GunData.from(stack).data().getInt("CustomRPM"); + } + @Override public Supplier> getRenderer() { return MinigunItemRenderer::new; @@ -81,15 +80,6 @@ public class MinigunItem extends GunItem implements GeoItem { return "M134 MINIGUN"; } - @Override - public boolean canApplyPerk(Perk perk) { - return switch (perk.type) { - 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(); - }; - } - @Override public boolean isAutoWeapon(ItemStack stack) { return true; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/RpkItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/RpkItem.java index f49895891..f0a17a59a 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/RpkItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/machinegun/RpkItem.java @@ -4,13 +4,10 @@ import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.client.ClickHandler; import com.atsuishio.superbwarfare.client.renderer.item.RpkItemRenderer; import com.atsuishio.superbwarfare.event.ClientEventHandler; -import com.atsuishio.superbwarfare.init.ModPerks; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import com.atsuishio.superbwarfare.tools.GunsTool; import com.atsuishio.superbwarfare.tools.NBTTool; import net.minecraft.client.Minecraft; @@ -178,11 +175,6 @@ public class RpkItem extends GunItem implements GeoItem { return "RPK"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.MACHINE_GUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk) || perk == ModPerks.DESPERADO.get(); - } - @Override @ParametersAreNonnullByDefault public void inventoryTick(ItemStack stack, Level level, Entity entity, int slot, boolean selected) { diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/InsidiousItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/InsidiousItem.java index e50d2ef49..e35c9eda1 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/InsidiousItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/InsidiousItem.java @@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; @@ -90,11 +88,6 @@ public class InsidiousItem extends GunItem implements GeoItem { return "INSIDIOUS"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk); - } - @Override public boolean isMagazineReload(ItemStack stack) { return true; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/M4Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/M4Item.java index 764005810..53d6c86ff 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/M4Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/M4Item.java @@ -8,8 +8,6 @@ import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import com.atsuishio.superbwarfare.tools.GunsTool; import com.atsuishio.superbwarfare.tools.NBTTool; import net.minecraft.client.Minecraft; @@ -180,11 +178,6 @@ public class M4Item extends GunItem implements GeoItem { return "M4A1"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk); - } - @Override public boolean isMagazineReload(ItemStack stack) { return true; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/MarlinItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/MarlinItem.java index 23c4de587..09af13633 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/MarlinItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/MarlinItem.java @@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; @@ -130,11 +128,6 @@ public class MarlinItem extends GunItem implements GeoItem { return "MARLIN-1894"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk); - } - @Override public boolean isIterativeReload(ItemStack stack) { return true; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Mk14Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Mk14Item.java index 5cb95b25b..958a7b2d5 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Mk14Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Mk14Item.java @@ -8,8 +8,6 @@ import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import com.atsuishio.superbwarfare.tools.GunsTool; import com.atsuishio.superbwarfare.tools.NBTTool; import net.minecraft.client.Minecraft; @@ -176,11 +174,6 @@ public class Mk14Item extends GunItem implements GeoItem { return "MK-14"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk); - } - @Override public boolean isMagazineReload(ItemStack stack) { return true; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Qbz95Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Qbz95Item.java index 83e1a478d..e4e820c8e 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Qbz95Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/Qbz95Item.java @@ -8,8 +8,6 @@ import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import com.atsuishio.superbwarfare.tools.GunsTool; import com.atsuishio.superbwarfare.tools.NBTTool; import net.minecraft.client.Minecraft; @@ -189,11 +187,6 @@ public class Qbz95Item extends GunItem implements GeoItem { return "QBZ-95-1"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk); - } - @Override public boolean isMagazineReload(ItemStack stack) { return true; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/SksItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/SksItem.java index 75bae003b..e75370d54 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/SksItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/rifle/SksItem.java @@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; @@ -114,11 +112,6 @@ public class SksItem extends GunItem implements GeoItem { return "SKS"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk); - } - @Override public boolean isMagazineReload(ItemStack stack) { return true; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/Aa12Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/Aa12Item.java index 43ade2bfb..9e783d839 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/Aa12Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/Aa12Item.java @@ -5,12 +5,9 @@ import com.atsuishio.superbwarfare.client.renderer.item.Aa12ItemRenderer; import com.atsuishio.superbwarfare.client.tooltip.component.ShotgunImageComponent; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModEnumExtensions; -import com.atsuishio.superbwarfare.init.ModPerks; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; @@ -120,11 +117,6 @@ public class Aa12Item extends GunItem implements GeoItem { return "AA-12"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.SHOTGUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk) || perk == ModPerks.DESPERADO.get(); - } - @Override public @NotNull Optional getTooltipImage(@NotNull ItemStack pStack) { return Optional.of(new ShotgunImageComponent(pStack)); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/HomemadeShotgunItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/HomemadeShotgunItem.java index b19c1048f..2c5be9328 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/HomemadeShotgunItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/HomemadeShotgunItem.java @@ -7,8 +7,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import com.atsuishio.superbwarfare.tools.ParticleTool; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; @@ -60,7 +58,7 @@ public class HomemadeShotgunItem extends GunItem implements GeoItem { } @Override - public int getBarColor(ItemStack stack) { + public int getBarColor(@NotNull ItemStack stack) { float stackMaxDamage = (float) this.getMaxDamage(stack); float f = Math.max(0.0F, (stackMaxDamage - (float) stack.getDamageValue()) / stackMaxDamage); return Mth.hsvToRgb(f / 3.0F, 1.0F, 1.0F); @@ -121,11 +119,6 @@ public class HomemadeShotgunItem extends GunItem implements GeoItem { return "Homemade Shotgun"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.SHOTGUN_PERKS.test(perk); - } - @Override public @NotNull Optional getTooltipImage(@NotNull ItemStack pStack) { return Optional.of(new ShotgunImageComponent(pStack)); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/M870Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/M870Item.java index 755e24dc4..d85188293 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/M870Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/shotgun/M870Item.java @@ -7,8 +7,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; @@ -135,11 +133,6 @@ public class M870Item extends GunItem implements GeoItem { return "M870 MCS"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.SHOTGUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk); - } - @Override public @NotNull Optional getTooltipImage(@NotNull ItemStack pStack) { return Optional.of(new ShotgunImageComponent(pStack)); 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 077fbb94e..e1675fe0b 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 @@ -8,8 +8,6 @@ import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; @@ -157,11 +155,6 @@ public class VectorItem extends GunItem implements GeoItem { return "VECTOR"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.SMG_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk); - } - @Override public boolean isMagazineReload(ItemStack stack) { return true; 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 85ba904b0..ffe267ec4 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 @@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; @@ -89,11 +87,6 @@ public class HuntingRifleItem extends GunItem implements GeoItem { return "Hunting Rifle"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.SNIPER_RIFLE_PERKS.test(perk); - } - @Override public boolean isMagazineReload(ItemStack stack) { return true; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/K98Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/K98Item.java index 952892a14..20688579f 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/K98Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/K98Item.java @@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; @@ -139,11 +137,6 @@ public class K98Item extends GunItem implements GeoItem { return "KAR-98K"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.SNIPER_RIFLE_PERKS.test(perk); - } - @Override public boolean isClipReload(ItemStack stack) { return true; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/M98bItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/M98bItem.java index fcb268df8..2c19f69ce 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/M98bItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/M98bItem.java @@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; @@ -113,11 +111,6 @@ public class M98bItem extends GunItem implements GeoItem { return "M98-B"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.SNIPER_RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk); - } - @Override public boolean isMagazineReload(ItemStack stack) { return true; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/MosinNagantItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/MosinNagantItem.java index 9c727db29..266fb7d95 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/MosinNagantItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/MosinNagantItem.java @@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; @@ -137,11 +135,6 @@ public class MosinNagantItem extends GunItem implements GeoItem { return "MOSIN NAGANT"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.SNIPER_RIFLE_PERKS.test(perk); - } - @Override public boolean isIterativeReload(ItemStack stack) { return true; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SentinelItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SentinelItem.java index 7ad7509a1..a1edd501b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SentinelItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SentinelItem.java @@ -5,13 +5,10 @@ import com.atsuishio.superbwarfare.client.renderer.item.SentinelItemRenderer; import com.atsuishio.superbwarfare.client.tooltip.component.SentinelImageComponent; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModEnumExtensions; -import com.atsuishio.superbwarfare.init.ModPerks; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.EnergyStorageItem; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import net.minecraft.client.Minecraft; import net.minecraft.client.player.LocalPlayer; import net.minecraft.resources.ResourceLocation; @@ -172,11 +169,6 @@ public class SentinelItem extends GunItem implements GeoItem, EnergyStorageItem return "SENTINEL"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.SNIPER_RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk) || perk == ModPerks.REGENERATION.get(); - } - @Override public @NotNull Optional getTooltipImage(@NotNull ItemStack pStack) { return Optional.of(new SentinelImageComponent(pStack)); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SvdItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SvdItem.java index 29c34e797..d18f9e66f 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SvdItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/sniper/SvdItem.java @@ -8,8 +8,6 @@ import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType; -import com.atsuishio.superbwarfare.perk.Perk; -import com.atsuishio.superbwarfare.perk.PerkHelper; import com.atsuishio.superbwarfare.tools.GunsTool; import com.atsuishio.superbwarfare.tools.NBTTool; import net.minecraft.client.Minecraft; @@ -140,11 +138,6 @@ public class SvdItem extends GunItem implements GeoItem { return "SVD"; } - @Override - public boolean canApplyPerk(Perk perk) { - return PerkHelper.SNIPER_RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk); - } - @Override public boolean isCustomizable(ItemStack stack) { return true; 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 3f1c57bf8..4c941c948 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 @@ -140,15 +140,6 @@ public class BocekItem extends GunItem implements GeoItem { return "Bocek"; } - @Override - public boolean canApplyPerk(Perk perk) { - return switch (perk.type) { - 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(); - }; - } - @Override public @NotNull Optional getTooltipImage(@NotNull ItemStack pStack) { return Optional.of(new BocekImageComponent(pStack)); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/special/TaserItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/special/TaserItem.java index ca1cc4294..89b154d27 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/special/TaserItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/special/TaserItem.java @@ -150,16 +150,6 @@ public class TaserItem extends GunItem implements GeoItem, EnergyStorageItem { return "TASER"; } - @Override - public boolean canApplyPerk(Perk perk) { - return switch (perk.type) { - case AMMO -> perk == ModPerks.LONGER_WIRE.get(); - case FUNCTIONAL -> - perk == ModPerks.REGENERATION.get() || perk == ModPerks.POWERFUL_ATTRACTION.get() || perk == ModPerks.INTELLIGENT_CHIP.get(); - case DAMAGE -> perk == ModPerks.VOLT_OVERLOAD.get(); - }; - } - @Override public @NotNull Optional getTooltipImage(@NotNull ItemStack pStack) { return Optional.of(new EnergyImageComponent(pStack)); diff --git a/src/main/java/com/atsuishio/superbwarfare/perk/PerkHelper.java b/src/main/java/com/atsuishio/superbwarfare/perk/PerkHelper.java deleted file mode 100644 index decf5fb03..000000000 --- a/src/main/java/com/atsuishio/superbwarfare/perk/PerkHelper.java +++ /dev/null @@ -1,92 +0,0 @@ -package com.atsuishio.superbwarfare.perk; - -import com.atsuishio.superbwarfare.init.ModPerks; - -import java.util.function.Predicate; - -public class PerkHelper { - - public static final Predicate SHOTGUN_PERKS = perk -> switch (perk.type) { - 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() - || perk == ModPerks.FIELD_DOCTOR.get() - || perk == ModPerks.INTELLIGENT_CHIP.get(); - case DAMAGE -> perk == ModPerks.GUTSHOT_STRAIGHT.get() - || perk == ModPerks.MONSTER_HUNTER.get() - || perk == ModPerks.KILL_CLIP.get() - || perk == ModPerks.VORPAL_WEAPON.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(); - }; - - public static final Predicate HANDGUN_PERKS = perk -> switch (perk.type) { - 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() - || 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.VORPAL_WEAPON.get(); - }; - - public static final Predicate SNIPER_RIFLE_PERKS = perk -> switch (perk.type) { - 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.SUBSISTENCE.get() - || perk == ModPerks.FOURTH_TIMES_CHARM.get() - || perk == ModPerks.POWERFUL_ATTRACTION.get() - || perk == ModPerks.INTELLIGENT_CHIP.get(); - case DAMAGE -> perk == ModPerks.KILL_CLIP.get() - || perk == ModPerks.MONSTER_HUNTER.get() - || perk == ModPerks.VORPAL_WEAPON.get(); - }; - - public static final Predicate SMG_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.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(); - }; - - public static final Predicate MACHINE_GUN_PERKS = perk -> switch (perk.type) { - 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() - || perk == ModPerks.INTELLIGENT_CHIP.get(); - case DAMAGE -> perk == ModPerks.MONSTER_HUNTER.get() - || perk == ModPerks.KILLING_TALLY.get() - || perk == ModPerks.VORPAL_WEAPON.get(); - }; - - public static final Predicate MAGAZINE_PERKS = perk -> false; - - 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(); -} diff --git a/src/main/resources/data/superbwarfare/guns/aa_12.json b/src/main/resources/data/superbwarfare/guns/aa_12.json index 4c4b2f527..77e8613e3 100644 --- a/src/main/resources/data/superbwarfare/guns/aa_12.json +++ b/src/main/resources/data/superbwarfare/guns/aa_12.json @@ -14,5 +14,21 @@ "BypassesArmor": 0.05, "SoundRadius": 18, "RPM": 360, - "AmmoType": "@ShotgunAmmo" + "AmmoType": "@ShotgunAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:field_doctor", + "superbwarfare:heal_clip", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:gutshot_straight", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "superbwarfare:desperado", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire", + "!superbwarfare:butterfly_bullet" + ] } diff --git a/src/main/resources/data/superbwarfare/guns/bocek.json b/src/main/resources/data/superbwarfare/guns/bocek.json index ef3a1e8b7..92d08d967 100644 --- a/src/main/resources/data/superbwarfare/guns/bocek.json +++ b/src/main/resources/data/superbwarfare/guns/bocek.json @@ -6,5 +6,13 @@ "BypassesArmor": 0.25, "Magazine": 1, "EmptyReloadTime": 6, - "AmmoType": "minecraft:arrow" + "AmmoType": "minecraft:arrow", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:field_doctor", + "superbwarfare:intelligent_chip", + "superbwarfare:monster_hunter", + "!superbwarfare:micro_missile", + "!superbwarfare:butterfly_bullet" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/devotion.json b/src/main/resources/data/superbwarfare/guns/devotion.json index 7ffe3e42a..8ab4f4ddc 100644 --- a/src/main/resources/data/superbwarfare/guns/devotion.json +++ b/src/main/resources/data/superbwarfare/guns/devotion.json @@ -14,5 +14,19 @@ "BypassesArmor": 0.25, "SoundRadius": 13, "RPM": 400, - "AmmoType": "@RifleAmmo" + "AmmoType": "@RifleAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:killing_tally", + "superbwarfare:desperado", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "superbwarfare:turbo_charger", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/glock_17.json b/src/main/resources/data/superbwarfare/guns/glock_17.json index b44b96fc5..278a887b9 100644 --- a/src/main/resources/data/superbwarfare/guns/glock_17.json +++ b/src/main/resources/data/superbwarfare/guns/glock_17.json @@ -12,5 +12,21 @@ "BypassesArmor": 0.15, "SoundRadius": 8, "RPM": 400, - "AmmoType": "@HandgunAmmo" + "AmmoType": "@HandgunAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:field_doctor", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:gutshot_straight", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire", + "!superbwarfare:butterfly_bullet" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/glock_18.json b/src/main/resources/data/superbwarfare/guns/glock_18.json index 4b2a02615..26359ba98 100644 --- a/src/main/resources/data/superbwarfare/guns/glock_18.json +++ b/src/main/resources/data/superbwarfare/guns/glock_18.json @@ -13,5 +13,22 @@ "BypassesArmor": 0.15, "SoundRadius": 8, "RPM": 1300, - "AmmoType": "@HandgunAmmo" + "AmmoType": "@HandgunAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:field_doctor", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:gutshot_straight", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "superbwarfare:desperado", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire", + "!superbwarfare:butterfly_bullet" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/homemade_shotgun.json b/src/main/resources/data/superbwarfare/guns/homemade_shotgun.json index 759328498..e1e5495d5 100644 --- a/src/main/resources/data/superbwarfare/guns/homemade_shotgun.json +++ b/src/main/resources/data/superbwarfare/guns/homemade_shotgun.json @@ -13,5 +13,20 @@ "BypassesArmor": 0.01, "SoundRadius": 16, "RPM": 600, - "AmmoType": "@ShotgunAmmo" + "AmmoType": "@ShotgunAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:field_doctor", + "superbwarfare:heal_clip", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:gutshot_straight", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire", + "!superbwarfare:butterfly_bullet" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/hunting_rifle.json b/src/main/resources/data/superbwarfare/guns/hunting_rifle.json index fe92ac4da..c59eb7831 100644 --- a/src/main/resources/data/superbwarfare/guns/hunting_rifle.json +++ b/src/main/resources/data/superbwarfare/guns/hunting_rifle.json @@ -10,5 +10,19 @@ "EmptyReloadTime": 64, "BypassesArmor": 0.7, "SoundRadius": 20, - "AmmoType": "@SniperAmmo" + "AmmoType": "@SniperAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire", + "!superbwarfare:butterfly_bullet" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/insidious.json b/src/main/resources/data/superbwarfare/guns/insidious.json index 4b85e86d5..f4f5027f4 100644 --- a/src/main/resources/data/superbwarfare/guns/insidious.json +++ b/src/main/resources/data/superbwarfare/guns/insidious.json @@ -13,5 +13,22 @@ "BypassesArmor": 0.4, "SoundRadius": 12, "RPM": 900, - "AmmoType": "@RifleAmmo" + "AmmoType": "@RifleAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:field_doctor", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:gutshot_straight", + "superbwarfare:monster_hunter", + "superbwarfare:head_seeker", + "superbwarfare:desperado", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/javelin.json b/src/main/resources/data/superbwarfare/guns/javelin.json index 0adfde737..5c374f3b6 100644 --- a/src/main/resources/data/superbwarfare/guns/javelin.json +++ b/src/main/resources/data/superbwarfare/guns/javelin.json @@ -7,5 +7,11 @@ "Damage": 700, "ExplosionDamage": 60, "ExplosionRadius": 5, - "AmmoType": "superbwarfare:javelin_missile" + "AmmoType": "superbwarfare:javelin_missile", + "AvailablePerks": [ + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/k_98.json b/src/main/resources/data/superbwarfare/guns/k_98.json index d0b5b41b8..6c2f3824e 100644 --- a/src/main/resources/data/superbwarfare/guns/k_98.json +++ b/src/main/resources/data/superbwarfare/guns/k_98.json @@ -15,5 +15,19 @@ "FinishTime": 18, "BypassesArmor": 0.5, "SoundRadius": 18, - "AmmoType": "@SniperAmmo" + "AmmoType": "@SniperAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire", + "!superbwarfare:butterfly_bullet" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/m_1911.json b/src/main/resources/data/superbwarfare/guns/m_1911.json index 3f9ea8360..6875dfe56 100644 --- a/src/main/resources/data/superbwarfare/guns/m_1911.json +++ b/src/main/resources/data/superbwarfare/guns/m_1911.json @@ -12,5 +12,21 @@ "BypassesArmor": 0.2, "SoundRadius": 10, "RPM": 400, - "AmmoType": "@HandgunAmmo" + "AmmoType": "@HandgunAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:field_doctor", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:gutshot_straight", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire", + "!superbwarfare:butterfly_bullet" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/m_4.json b/src/main/resources/data/superbwarfare/guns/m_4.json index 73c7d0b69..8fda9012c 100644 --- a/src/main/resources/data/superbwarfare/guns/m_4.json +++ b/src/main/resources/data/superbwarfare/guns/m_4.json @@ -15,5 +15,22 @@ "BypassesArmor": 0.25, "SoundRadius": 14, "RPM": 850, - "AmmoType": "@RifleAmmo" + "AmmoType": "@RifleAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:field_doctor", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:gutshot_straight", + "superbwarfare:monster_hunter", + "superbwarfare:head_seeker", + "superbwarfare:desperado", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/m_60.json b/src/main/resources/data/superbwarfare/guns/m_60.json index c4258d33d..7c6fbf68e 100644 --- a/src/main/resources/data/superbwarfare/guns/m_60.json +++ b/src/main/resources/data/superbwarfare/guns/m_60.json @@ -13,5 +13,18 @@ "BypassesArmor": 0.25, "SoundRadius": 15, "RPM": 600, - "AmmoType": "@RifleAmmo" + "AmmoType": "@RifleAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:killing_tally", + "superbwarfare:desperado", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/m_79.json b/src/main/resources/data/superbwarfare/guns/m_79.json index 3acfee3b7..1107baad5 100644 --- a/src/main/resources/data/superbwarfare/guns/m_79.json +++ b/src/main/resources/data/superbwarfare/guns/m_79.json @@ -10,5 +10,12 @@ "Weight": 4, "EmptyReloadTime": 64, "RPM": 180, - "AmmoType": "superbwarfare:grenade_40mm" + "AmmoType": "superbwarfare:grenade_40mm", + "AvailablePerks": [ + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "superbwarfare:micro_missile" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/m_870.json b/src/main/resources/data/superbwarfare/guns/m_870.json index 255599ab8..3ff32915a 100644 --- a/src/main/resources/data/superbwarfare/guns/m_870.json +++ b/src/main/resources/data/superbwarfare/guns/m_870.json @@ -15,5 +15,20 @@ "BypassesArmor": 0.05, "SoundRadius": 16, "BoltActionTime": 11, - "AmmoType": "@ShotgunAmmo" + "AmmoType": "@ShotgunAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:field_doctor", + "superbwarfare:heal_clip", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:gutshot_straight", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire", + "!superbwarfare:butterfly_bullet" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/m_98b.json b/src/main/resources/data/superbwarfare/guns/m_98b.json index 73e341727..fb5f17a62 100644 --- a/src/main/resources/data/superbwarfare/guns/m_98b.json +++ b/src/main/resources/data/superbwarfare/guns/m_98b.json @@ -15,5 +15,19 @@ "EmptyReloadTime": 78, "BypassesArmor": 0.6, "SoundRadius": 18, - "AmmoType": "@SniperAmmo" + "AmmoType": "@SniperAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire", + "!superbwarfare:butterfly_bullet" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/marlin.json b/src/main/resources/data/superbwarfare/guns/marlin.json index ff166c7e9..5e6d6eca7 100644 --- a/src/main/resources/data/superbwarfare/guns/marlin.json +++ b/src/main/resources/data/superbwarfare/guns/marlin.json @@ -13,5 +13,22 @@ "BypassesArmor": 0.3, "SoundRadius": 15, "BoltActionTime": 12, - "AmmoType": "@RifleAmmo" + "AmmoType": "@RifleAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:field_doctor", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:gutshot_straight", + "superbwarfare:monster_hunter", + "superbwarfare:head_seeker", + "superbwarfare:desperado", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/minigun.json b/src/main/resources/data/superbwarfare/guns/minigun.json index 9a0ac1047..ded0535ab 100644 --- a/src/main/resources/data/superbwarfare/guns/minigun.json +++ b/src/main/resources/data/superbwarfare/guns/minigun.json @@ -12,5 +12,15 @@ "FireMode": 2, "AmmoType": "@RifleAmmo", "ShootDelay": 20, - "HeatPerShoot": 0.5 + "HeatPerShoot": 0.5, + "AvailablePerks": [ + "@Ammo", + "superbwarfare:field_doctor", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/mk_14.json b/src/main/resources/data/superbwarfare/guns/mk_14.json index 206a4e983..eebfe35ef 100644 --- a/src/main/resources/data/superbwarfare/guns/mk_14.json +++ b/src/main/resources/data/superbwarfare/guns/mk_14.json @@ -15,5 +15,22 @@ "BypassesArmor": 0.4, "SoundRadius": 16, "RPM": 700, - "AmmoType": "@RifleAmmo" + "AmmoType": "@RifleAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:field_doctor", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:gutshot_straight", + "superbwarfare:monster_hunter", + "superbwarfare:head_seeker", + "superbwarfare:desperado", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/mosin_nagant.json b/src/main/resources/data/superbwarfare/guns/mosin_nagant.json index b15471bb4..e1d7d80cd 100644 --- a/src/main/resources/data/superbwarfare/guns/mosin_nagant.json +++ b/src/main/resources/data/superbwarfare/guns/mosin_nagant.json @@ -15,5 +15,19 @@ "FinishTime": 18, "BypassesArmor": 0.54, "SoundRadius": 18, - "AmmoType": "@SniperAmmo" + "AmmoType": "@SniperAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire", + "!superbwarfare:butterfly_bullet" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/mp_443.json b/src/main/resources/data/superbwarfare/guns/mp_443.json index b44b96fc5..278a887b9 100644 --- a/src/main/resources/data/superbwarfare/guns/mp_443.json +++ b/src/main/resources/data/superbwarfare/guns/mp_443.json @@ -12,5 +12,21 @@ "BypassesArmor": 0.15, "SoundRadius": 8, "RPM": 400, - "AmmoType": "@HandgunAmmo" + "AmmoType": "@HandgunAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:field_doctor", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:gutshot_straight", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire", + "!superbwarfare:butterfly_bullet" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/ntw_20.json b/src/main/resources/data/superbwarfare/guns/ntw_20.json index bc48b05cf..a3c57c577 100644 --- a/src/main/resources/data/superbwarfare/guns/ntw_20.json +++ b/src/main/resources/data/superbwarfare/guns/ntw_20.json @@ -14,5 +14,19 @@ "EmptyReloadTime": 112, "BypassesArmor": 1, "SoundRadius": 22, - "AmmoType": "@HeavyAmmo" + "AmmoType": "@HeavyAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire", + "!superbwarfare:butterfly_bullet" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/qbz_95.json b/src/main/resources/data/superbwarfare/guns/qbz_95.json index 7ee0f292f..0d4f31474 100644 --- a/src/main/resources/data/superbwarfare/guns/qbz_95.json +++ b/src/main/resources/data/superbwarfare/guns/qbz_95.json @@ -15,5 +15,22 @@ "BypassesArmor": 0.28, "SoundRadius": 13, "RPM": 650, - "AmmoType": "@RifleAmmo" + "AmmoType": "@RifleAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:field_doctor", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:gutshot_straight", + "superbwarfare:monster_hunter", + "superbwarfare:head_seeker", + "superbwarfare:desperado", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/rpg.json b/src/main/resources/data/superbwarfare/guns/rpg.json index 72afc2d30..ad6f33df0 100644 --- a/src/main/resources/data/superbwarfare/guns/rpg.json +++ b/src/main/resources/data/superbwarfare/guns/rpg.json @@ -10,5 +10,12 @@ "Weight": 7, "EmptyReloadTime": 103, "RPM": 120, - "AmmoType": "superbwarfare:rocket" + "AmmoType": "superbwarfare:rocket", + "AvailablePerks": [ + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "superbwarfare:micro_missile" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/rpk.json b/src/main/resources/data/superbwarfare/guns/rpk.json index a3e9043cc..d3c1793b3 100644 --- a/src/main/resources/data/superbwarfare/guns/rpk.json +++ b/src/main/resources/data/superbwarfare/guns/rpk.json @@ -15,5 +15,18 @@ "BypassesArmor": 0.23, "SoundRadius": 14, "RPM": 600, - "AmmoType": "@RifleAmmo" + "AmmoType": "@RifleAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:killing_tally", + "superbwarfare:desperado", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/secondary_cataclysm.json b/src/main/resources/data/superbwarfare/guns/secondary_cataclysm.json index c20939576..a5f869e1b 100644 --- a/src/main/resources/data/superbwarfare/guns/secondary_cataclysm.json +++ b/src/main/resources/data/superbwarfare/guns/secondary_cataclysm.json @@ -13,5 +13,13 @@ "FinishTime": 19, "SoundRadius": 8, "RPM": 300, - "AmmoType": "superbwarfare:grenade_40mm" + "AmmoType": "superbwarfare:grenade_40mm", + "AvailablePerks": [ + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "superbwarfare:micro_missile", + "superbwarfare:regeneration" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/sentinel.json b/src/main/resources/data/superbwarfare/guns/sentinel.json index 3096b3c21..5048d2fcc 100644 --- a/src/main/resources/data/superbwarfare/guns/sentinel.json +++ b/src/main/resources/data/superbwarfare/guns/sentinel.json @@ -13,5 +13,20 @@ "EmptyReloadTime": 89, "BypassesArmor": 0.8, "SoundRadius": 20, - "AmmoType": "@SniperAmmo" + "AmmoType": "@SniperAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:regeneration", + "superbwarfare:kill_clip", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire", + "!superbwarfare:butterfly_bullet" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/sks.json b/src/main/resources/data/superbwarfare/guns/sks.json index 82c25cec1..a37527afd 100644 --- a/src/main/resources/data/superbwarfare/guns/sks.json +++ b/src/main/resources/data/superbwarfare/guns/sks.json @@ -12,5 +12,22 @@ "BypassesArmor": 0.23, "SoundRadius": 16, "RPM": 400, - "AmmoType": "@RifleAmmo" + "AmmoType": "@RifleAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:field_doctor", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:gutshot_straight", + "superbwarfare:monster_hunter", + "superbwarfare:head_seeker", + "superbwarfare:desperado", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/svd.json b/src/main/resources/data/superbwarfare/guns/svd.json index b763bfbd2..b1ea16e6e 100644 --- a/src/main/resources/data/superbwarfare/guns/svd.json +++ b/src/main/resources/data/superbwarfare/guns/svd.json @@ -14,5 +14,19 @@ "BypassesArmor": 0.45, "SoundRadius": 17, "RPM": 300, - "AmmoType": "@SniperAmmo" + "AmmoType": "@SniperAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire", + "!superbwarfare:butterfly_bullet" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/taser.json b/src/main/resources/data/superbwarfare/guns/taser.json index 959988b7e..417ba5ae3 100644 --- a/src/main/resources/data/superbwarfare/guns/taser.json +++ b/src/main/resources/data/superbwarfare/guns/taser.json @@ -8,5 +8,12 @@ "Weight": 1, "EmptyReloadTime": 58, "RPM": 240, - "AmmoType": "superbwarfare:taser_electrode" + "AmmoType": "superbwarfare:taser_electrode", + "AvailablePerks": [ + "superbwarfare:longer_wire", + "superbwarfare:regeneration", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:volt_overload" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/trachelium.json b/src/main/resources/data/superbwarfare/guns/trachelium.json index e84d10e07..e8b994ce8 100644 --- a/src/main/resources/data/superbwarfare/guns/trachelium.json +++ b/src/main/resources/data/superbwarfare/guns/trachelium.json @@ -12,5 +12,21 @@ "SoundRadius": 10, "RPM": 240, "AmmoType": "@RifleAmmo", - "ShootDelay": 6 + "ShootDelay": 6, + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:field_doctor", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:gutshot_straight", + "superbwarfare:monster_hunter", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire", + "!superbwarfare:butterfly_bullet" + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/guns/vector.json b/src/main/resources/data/superbwarfare/guns/vector.json index fd63b60ea..f98b08a35 100644 --- a/src/main/resources/data/superbwarfare/guns/vector.json +++ b/src/main/resources/data/superbwarfare/guns/vector.json @@ -14,5 +14,22 @@ "BypassesArmor": 0.15, "SoundRadius": 11, "RPM": 1200, - "AmmoType": "@HandgunAmmo" + "AmmoType": "@HandgunAmmo", + "AvailablePerks": [ + "@Ammo", + "superbwarfare:heal_clip", + "superbwarfare:field_doctor", + "superbwarfare:fourth_times_charm", + "superbwarfare:subsistence", + "superbwarfare:powerful_attraction", + "superbwarfare:intelligent_chip", + "superbwarfare:kill_clip", + "superbwarfare:gutshot_straight", + "superbwarfare:monster_hunter", + "superbwarfare:head_seeker", + "superbwarfare:desperado", + "superbwarfare:vorpal_weapon", + "!superbwarfare:micro_missile", + "!superbwarfare:longer_wire" + ] } \ No newline at end of file