重构json格式
This commit is contained in:
parent
0de1cc2967
commit
1641592eef
65 changed files with 476 additions and 367 deletions
|
@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
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.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -110,11 +108,6 @@ public class Glock17Item extends GunItem implements GeoItem {
|
||||||
return "GLOCK-17";
|
return "GLOCK-17";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.HANDGUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isMagazineReload(ItemStack stack) {
|
public boolean isMagazineReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -3,12 +3,9 @@ package com.atsuishio.superbwarfare.item.gun.handgun;
|
||||||
import com.atsuishio.superbwarfare.Mod;
|
import com.atsuishio.superbwarfare.Mod;
|
||||||
import com.atsuishio.superbwarfare.client.renderer.item.Glock18ItemRenderer;
|
import com.atsuishio.superbwarfare.client.renderer.item.Glock18ItemRenderer;
|
||||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModPerks;
|
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
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.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -113,11 +110,6 @@ public class Glock18Item extends GunItem implements GeoItem {
|
||||||
return "GLOCK-18";
|
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
|
@Override
|
||||||
public boolean isMagazineReload(ItemStack stack) {
|
public boolean isMagazineReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
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.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -112,11 +110,6 @@ public class M1911Item extends GunItem implements GeoItem {
|
||||||
return "M-1911";
|
return "M-1911";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.HANDGUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isMagazineReload(ItemStack stack) {
|
public boolean isMagazineReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
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.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -109,11 +107,6 @@ public class Mp443Item extends GunItem implements GeoItem {
|
||||||
return "MP-443";
|
return "MP-443";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.HANDGUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isMagazineReload(ItemStack stack) {
|
public boolean isMagazineReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -8,8 +8,6 @@ import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType;
|
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 com.atsuishio.superbwarfare.tools.NBTTool;
|
||||||
import net.minecraft.ChatFormatting;
|
import net.minecraft.ChatFormatting;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
@ -296,11 +294,6 @@ public class Trachelium extends GunItem implements GeoItem {
|
||||||
return "TRACHELIUM";
|
return "TRACHELIUM";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.HANDGUN_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isMagazineReload(ItemStack stack) {
|
public boolean isMagazineReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -9,8 +9,6 @@ import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType;
|
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.GunsTool;
|
||||||
import com.atsuishio.superbwarfare.tools.NBTTool;
|
import com.atsuishio.superbwarfare.tools.NBTTool;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
@ -157,11 +155,6 @@ public class Ntw20Item extends GunItem implements GeoItem {
|
||||||
return "NTW-20";
|
return "NTW-20";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isMagazineReload(ItemStack stack) {
|
public boolean isMagazineReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -13,7 +13,6 @@ import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
||||||
import com.atsuishio.superbwarfare.network.message.receive.ShootClientMessage;
|
import com.atsuishio.superbwarfare.network.message.receive.ShootClientMessage;
|
||||||
import com.atsuishio.superbwarfare.perk.Perk;
|
import com.atsuishio.superbwarfare.perk.Perk;
|
||||||
import com.atsuishio.superbwarfare.perk.PerkHelper;
|
|
||||||
import com.atsuishio.superbwarfare.tools.*;
|
import com.atsuishio.superbwarfare.tools.*;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
|
@ -191,11 +190,6 @@ public class JavelinItem extends GunItem implements GeoItem {
|
||||||
return "FGM-148";
|
return "FGM-148";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.LAUNCHER_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
||||||
return Optional.of(new LauncherImageComponent(pStack));
|
return Optional.of(new LauncherImageComponent(pStack));
|
||||||
|
|
|
@ -5,13 +5,11 @@ import com.atsuishio.superbwarfare.client.renderer.item.M79ItemRenderer;
|
||||||
import com.atsuishio.superbwarfare.client.tooltip.component.LauncherImageComponent;
|
import com.atsuishio.superbwarfare.client.tooltip.component.LauncherImageComponent;
|
||||||
import com.atsuishio.superbwarfare.entity.projectile.GunGrenadeEntity;
|
import com.atsuishio.superbwarfare.entity.projectile.GunGrenadeEntity;
|
||||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModPerks;
|
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
||||||
import com.atsuishio.superbwarfare.perk.AmmoPerk;
|
import com.atsuishio.superbwarfare.perk.AmmoPerk;
|
||||||
import com.atsuishio.superbwarfare.perk.Perk;
|
import com.atsuishio.superbwarfare.perk.Perk;
|
||||||
import com.atsuishio.superbwarfare.perk.PerkHelper;
|
|
||||||
import com.atsuishio.superbwarfare.tools.ParticleTool;
|
import com.atsuishio.superbwarfare.tools.ParticleTool;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
|
@ -101,11 +99,6 @@ public class M79Item extends GunItem implements GeoItem {
|
||||||
return "M79 LAUNCHER";
|
return "M79 LAUNCHER";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.LAUNCHER_PERKS.test(perk) || perk == ModPerks.MICRO_MISSILE.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
||||||
return Optional.of(new LauncherImageComponent(pStack));
|
return Optional.of(new LauncherImageComponent(pStack));
|
||||||
|
|
|
@ -5,13 +5,11 @@ import com.atsuishio.superbwarfare.client.renderer.item.RpgItemRenderer;
|
||||||
import com.atsuishio.superbwarfare.client.tooltip.component.LauncherImageComponent;
|
import com.atsuishio.superbwarfare.client.tooltip.component.LauncherImageComponent;
|
||||||
import com.atsuishio.superbwarfare.entity.projectile.RpgRocketEntity;
|
import com.atsuishio.superbwarfare.entity.projectile.RpgRocketEntity;
|
||||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModPerks;
|
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
||||||
import com.atsuishio.superbwarfare.perk.AmmoPerk;
|
import com.atsuishio.superbwarfare.perk.AmmoPerk;
|
||||||
import com.atsuishio.superbwarfare.perk.Perk;
|
import com.atsuishio.superbwarfare.perk.Perk;
|
||||||
import com.atsuishio.superbwarfare.perk.PerkHelper;
|
|
||||||
import com.atsuishio.superbwarfare.tools.ParticleTool;
|
import com.atsuishio.superbwarfare.tools.ParticleTool;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
|
@ -129,11 +127,6 @@ public class RpgItem extends GunItem implements GeoItem {
|
||||||
return "RPG-7";
|
return "RPG-7";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.LAUNCHER_PERKS.test(perk) || perk == ModPerks.MICRO_MISSILE.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
||||||
return Optional.of(new LauncherImageComponent(pStack));
|
return Optional.of(new LauncherImageComponent(pStack));
|
||||||
|
|
|
@ -7,14 +7,12 @@ import com.atsuishio.superbwarfare.entity.projectile.GunGrenadeEntity;
|
||||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModEnumExtensions;
|
import com.atsuishio.superbwarfare.init.ModEnumExtensions;
|
||||||
import com.atsuishio.superbwarfare.init.ModItems;
|
import com.atsuishio.superbwarfare.init.ModItems;
|
||||||
import com.atsuishio.superbwarfare.init.ModPerks;
|
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.EnergyStorageItem;
|
import com.atsuishio.superbwarfare.item.EnergyStorageItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
||||||
import com.atsuishio.superbwarfare.perk.AmmoPerk;
|
import com.atsuishio.superbwarfare.perk.AmmoPerk;
|
||||||
import com.atsuishio.superbwarfare.perk.Perk;
|
import com.atsuishio.superbwarfare.perk.Perk;
|
||||||
import com.atsuishio.superbwarfare.perk.PerkHelper;
|
|
||||||
import com.atsuishio.superbwarfare.tools.ParticleTool;
|
import com.atsuishio.superbwarfare.tools.ParticleTool;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
|
@ -187,11 +185,6 @@ public class SecondaryCataclysm extends GunItem implements GeoItem, EnergyStorag
|
||||||
return "SECONDARY CATACLYSM";
|
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
|
@Override
|
||||||
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
||||||
return Optional.of(new SecondaryCataclysmImageComponent(pStack));
|
return Optional.of(new SecondaryCataclysmImageComponent(pStack));
|
||||||
|
|
|
@ -3,12 +3,9 @@ package com.atsuishio.superbwarfare.item.gun.machinegun;
|
||||||
import com.atsuishio.superbwarfare.Mod;
|
import com.atsuishio.superbwarfare.Mod;
|
||||||
import com.atsuishio.superbwarfare.client.renderer.item.DevotionItemRenderer;
|
import com.atsuishio.superbwarfare.client.renderer.item.DevotionItemRenderer;
|
||||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModPerks;
|
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
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.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -95,11 +92,6 @@ public class DevotionItem extends GunItem implements GeoItem {
|
||||||
return "Devotion";
|
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
|
@Override
|
||||||
public boolean isMagazineReload(ItemStack stack) {
|
public boolean isMagazineReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -3,12 +3,9 @@ package com.atsuishio.superbwarfare.item.gun.machinegun;
|
||||||
import com.atsuishio.superbwarfare.Mod;
|
import com.atsuishio.superbwarfare.Mod;
|
||||||
import com.atsuishio.superbwarfare.client.renderer.item.M60ItemRenderer;
|
import com.atsuishio.superbwarfare.client.renderer.item.M60ItemRenderer;
|
||||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModPerks;
|
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
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.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -131,11 +128,6 @@ public class M60Item extends GunItem implements GeoItem {
|
||||||
return "M60";
|
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
|
@Override
|
||||||
public boolean isMagazineReload(ItemStack stack) {
|
public boolean isMagazineReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -4,10 +4,8 @@ import com.atsuishio.superbwarfare.Mod;
|
||||||
import com.atsuishio.superbwarfare.client.renderer.item.MinigunItemRenderer;
|
import com.atsuishio.superbwarfare.client.renderer.item.MinigunItemRenderer;
|
||||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModEnumExtensions;
|
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.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
||||||
import com.atsuishio.superbwarfare.perk.Perk;
|
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -23,10 +21,6 @@ import software.bernie.geckolib.util.GeckoLibUtil;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public class MinigunItem extends GunItem implements GeoItem {
|
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);
|
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
|
||||||
public static ItemDisplayContext transformType;
|
public static ItemDisplayContext transformType;
|
||||||
|
@ -35,6 +29,11 @@ public class MinigunItem extends GunItem implements GeoItem {
|
||||||
super(new Properties().stacksTo(1).rarity(ModEnumExtensions.getLegendary()));
|
super(new Properties().stacksTo(1).rarity(ModEnumExtensions.getLegendary()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getCustomRPM(ItemStack stack) {
|
||||||
|
return GunData.from(stack).data().getInt("CustomRPM");
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
|
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
|
||||||
return MinigunItemRenderer::new;
|
return MinigunItemRenderer::new;
|
||||||
|
@ -81,15 +80,6 @@ public class MinigunItem extends GunItem implements GeoItem {
|
||||||
return "M134 MINIGUN";
|
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
|
@Override
|
||||||
public boolean isAutoWeapon(ItemStack stack) {
|
public boolean isAutoWeapon(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -4,13 +4,10 @@ import com.atsuishio.superbwarfare.Mod;
|
||||||
import com.atsuishio.superbwarfare.client.ClickHandler;
|
import com.atsuishio.superbwarfare.client.ClickHandler;
|
||||||
import com.atsuishio.superbwarfare.client.renderer.item.RpkItemRenderer;
|
import com.atsuishio.superbwarfare.client.renderer.item.RpkItemRenderer;
|
||||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModPerks;
|
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType;
|
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.GunsTool;
|
||||||
import com.atsuishio.superbwarfare.tools.NBTTool;
|
import com.atsuishio.superbwarfare.tools.NBTTool;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
@ -178,11 +175,6 @@ public class RpkItem extends GunItem implements GeoItem {
|
||||||
return "RPK";
|
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
|
@Override
|
||||||
@ParametersAreNonnullByDefault
|
@ParametersAreNonnullByDefault
|
||||||
public void inventoryTick(ItemStack stack, Level level, Entity entity, int slot, boolean selected) {
|
public void inventoryTick(ItemStack stack, Level level, Entity entity, int slot, boolean selected) {
|
||||||
|
|
|
@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
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.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -90,11 +88,6 @@ public class InsidiousItem extends GunItem implements GeoItem {
|
||||||
return "INSIDIOUS";
|
return "INSIDIOUS";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isMagazineReload(ItemStack stack) {
|
public boolean isMagazineReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -8,8 +8,6 @@ import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType;
|
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.GunsTool;
|
||||||
import com.atsuishio.superbwarfare.tools.NBTTool;
|
import com.atsuishio.superbwarfare.tools.NBTTool;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
@ -180,11 +178,6 @@ public class M4Item extends GunItem implements GeoItem {
|
||||||
return "M4A1";
|
return "M4A1";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isMagazineReload(ItemStack stack) {
|
public boolean isMagazineReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
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.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -130,11 +128,6 @@ public class MarlinItem extends GunItem implements GeoItem {
|
||||||
return "MARLIN-1894";
|
return "MARLIN-1894";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isIterativeReload(ItemStack stack) {
|
public boolean isIterativeReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -8,8 +8,6 @@ import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType;
|
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.GunsTool;
|
||||||
import com.atsuishio.superbwarfare.tools.NBTTool;
|
import com.atsuishio.superbwarfare.tools.NBTTool;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
@ -176,11 +174,6 @@ public class Mk14Item extends GunItem implements GeoItem {
|
||||||
return "MK-14";
|
return "MK-14";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isMagazineReload(ItemStack stack) {
|
public boolean isMagazineReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -8,8 +8,6 @@ import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType;
|
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.GunsTool;
|
||||||
import com.atsuishio.superbwarfare.tools.NBTTool;
|
import com.atsuishio.superbwarfare.tools.NBTTool;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
@ -189,11 +187,6 @@ public class Qbz95Item extends GunItem implements GeoItem {
|
||||||
return "QBZ-95-1";
|
return "QBZ-95-1";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isMagazineReload(ItemStack stack) {
|
public boolean isMagazineReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
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.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -114,11 +112,6 @@ public class SksItem extends GunItem implements GeoItem {
|
||||||
return "SKS";
|
return "SKS";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isMagazineReload(ItemStack stack) {
|
public boolean isMagazineReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -5,12 +5,9 @@ import com.atsuishio.superbwarfare.client.renderer.item.Aa12ItemRenderer;
|
||||||
import com.atsuishio.superbwarfare.client.tooltip.component.ShotgunImageComponent;
|
import com.atsuishio.superbwarfare.client.tooltip.component.ShotgunImageComponent;
|
||||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModEnumExtensions;
|
import com.atsuishio.superbwarfare.init.ModEnumExtensions;
|
||||||
import com.atsuishio.superbwarfare.init.ModPerks;
|
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
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.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -120,11 +117,6 @@ public class Aa12Item extends GunItem implements GeoItem {
|
||||||
return "AA-12";
|
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
|
@Override
|
||||||
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
||||||
return Optional.of(new ShotgunImageComponent(pStack));
|
return Optional.of(new ShotgunImageComponent(pStack));
|
||||||
|
|
|
@ -7,8 +7,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
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 com.atsuishio.superbwarfare.tools.ParticleTool;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
|
@ -60,7 +58,7 @@ public class HomemadeShotgunItem extends GunItem implements GeoItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getBarColor(ItemStack stack) {
|
public int getBarColor(@NotNull ItemStack stack) {
|
||||||
float stackMaxDamage = (float) this.getMaxDamage(stack);
|
float stackMaxDamage = (float) this.getMaxDamage(stack);
|
||||||
float f = Math.max(0.0F, (stackMaxDamage - (float) stack.getDamageValue()) / stackMaxDamage);
|
float f = Math.max(0.0F, (stackMaxDamage - (float) stack.getDamageValue()) / stackMaxDamage);
|
||||||
return Mth.hsvToRgb(f / 3.0F, 1.0F, 1.0F);
|
return Mth.hsvToRgb(f / 3.0F, 1.0F, 1.0F);
|
||||||
|
@ -121,11 +119,6 @@ public class HomemadeShotgunItem extends GunItem implements GeoItem {
|
||||||
return "Homemade Shotgun";
|
return "Homemade Shotgun";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.SHOTGUN_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
||||||
return Optional.of(new ShotgunImageComponent(pStack));
|
return Optional.of(new ShotgunImageComponent(pStack));
|
||||||
|
|
|
@ -7,8 +7,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
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.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -135,11 +133,6 @@ public class M870Item extends GunItem implements GeoItem {
|
||||||
return "M870 MCS";
|
return "M870 MCS";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.SHOTGUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
||||||
return Optional.of(new ShotgunImageComponent(pStack));
|
return Optional.of(new ShotgunImageComponent(pStack));
|
||||||
|
|
|
@ -8,8 +8,6 @@ import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType;
|
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.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -157,11 +155,6 @@ public class VectorItem extends GunItem implements GeoItem {
|
||||||
return "VECTOR";
|
return "VECTOR";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.SMG_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isMagazineReload(ItemStack stack) {
|
public boolean isMagazineReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
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.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -89,11 +87,6 @@ public class HuntingRifleItem extends GunItem implements GeoItem {
|
||||||
return "Hunting Rifle";
|
return "Hunting Rifle";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isMagazineReload(ItemStack stack) {
|
public boolean isMagazineReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
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.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -139,11 +137,6 @@ public class K98Item extends GunItem implements GeoItem {
|
||||||
return "KAR-98K";
|
return "KAR-98K";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isClipReload(ItemStack stack) {
|
public boolean isClipReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
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.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -113,11 +111,6 @@ public class M98bItem extends GunItem implements GeoItem {
|
||||||
return "M98-B";
|
return "M98-B";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isMagazineReload(ItemStack stack) {
|
public boolean isMagazineReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -6,8 +6,6 @@ import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
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.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -137,11 +135,6 @@ public class MosinNagantItem extends GunItem implements GeoItem {
|
||||||
return "MOSIN NAGANT";
|
return "MOSIN NAGANT";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isIterativeReload(ItemStack stack) {
|
public boolean isIterativeReload(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -5,13 +5,10 @@ import com.atsuishio.superbwarfare.client.renderer.item.SentinelItemRenderer;
|
||||||
import com.atsuishio.superbwarfare.client.tooltip.component.SentinelImageComponent;
|
import com.atsuishio.superbwarfare.client.tooltip.component.SentinelImageComponent;
|
||||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.init.ModEnumExtensions;
|
import com.atsuishio.superbwarfare.init.ModEnumExtensions;
|
||||||
import com.atsuishio.superbwarfare.init.ModPerks;
|
|
||||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.EnergyStorageItem;
|
import com.atsuishio.superbwarfare.item.EnergyStorageItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
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.Minecraft;
|
||||||
import net.minecraft.client.player.LocalPlayer;
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -172,11 +169,6 @@ public class SentinelItem extends GunItem implements GeoItem, EnergyStorageItem
|
||||||
return "SENTINEL";
|
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
|
@Override
|
||||||
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
||||||
return Optional.of(new SentinelImageComponent(pStack));
|
return Optional.of(new SentinelImageComponent(pStack));
|
||||||
|
|
|
@ -8,8 +8,6 @@ import com.atsuishio.superbwarfare.init.ModSounds;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
import com.atsuishio.superbwarfare.item.gun.data.GunData;
|
||||||
import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType;
|
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.GunsTool;
|
||||||
import com.atsuishio.superbwarfare.tools.NBTTool;
|
import com.atsuishio.superbwarfare.tools.NBTTool;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
@ -140,11 +138,6 @@ public class SvdItem extends GunItem implements GeoItem {
|
||||||
return "SVD";
|
return "SVD";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
|
||||||
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isCustomizable(ItemStack stack) {
|
public boolean isCustomizable(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -140,15 +140,6 @@ public class BocekItem extends GunItem implements GeoItem {
|
||||||
return "Bocek";
|
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
|
@Override
|
||||||
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
||||||
return Optional.of(new BocekImageComponent(pStack));
|
return Optional.of(new BocekImageComponent(pStack));
|
||||||
|
|
|
@ -150,16 +150,6 @@ public class TaserItem extends GunItem implements GeoItem, EnergyStorageItem {
|
||||||
return "TASER";
|
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
|
@Override
|
||||||
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
public @NotNull Optional<TooltipComponent> getTooltipImage(@NotNull ItemStack pStack) {
|
||||||
return Optional.of(new EnergyImageComponent(pStack));
|
return Optional.of(new EnergyImageComponent(pStack));
|
||||||
|
|
|
@ -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<Perk> 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<Perk> 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<Perk> 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<Perk> 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<Perk> 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<Perk> 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<Perk> MAGAZINE_PERKS = perk -> false;
|
|
||||||
|
|
||||||
public static final Predicate<Perk> LAUNCHER_PERKS = perk -> perk == ModPerks.MONSTER_HUNTER.get()
|
|
||||||
|| perk == ModPerks.POWERFUL_ATTRACTION.get()
|
|
||||||
|| perk == ModPerks.INTELLIGENT_CHIP.get()
|
|
||||||
|| perk == ModPerks.VORPAL_WEAPON.get();
|
|
||||||
}
|
|
|
@ -14,5 +14,21 @@
|
||||||
"BypassesArmor": 0.05,
|
"BypassesArmor": 0.05,
|
||||||
"SoundRadius": 18,
|
"SoundRadius": 18,
|
||||||
"RPM": 360,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,5 +6,13 @@
|
||||||
"BypassesArmor": 0.25,
|
"BypassesArmor": 0.25,
|
||||||
"Magazine": 1,
|
"Magazine": 1,
|
||||||
"EmptyReloadTime": 6,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -14,5 +14,19 @@
|
||||||
"BypassesArmor": 0.25,
|
"BypassesArmor": 0.25,
|
||||||
"SoundRadius": 13,
|
"SoundRadius": 13,
|
||||||
"RPM": 400,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -12,5 +12,21 @@
|
||||||
"BypassesArmor": 0.15,
|
"BypassesArmor": 0.15,
|
||||||
"SoundRadius": 8,
|
"SoundRadius": 8,
|
||||||
"RPM": 400,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -13,5 +13,22 @@
|
||||||
"BypassesArmor": 0.15,
|
"BypassesArmor": 0.15,
|
||||||
"SoundRadius": 8,
|
"SoundRadius": 8,
|
||||||
"RPM": 1300,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -13,5 +13,20 @@
|
||||||
"BypassesArmor": 0.01,
|
"BypassesArmor": 0.01,
|
||||||
"SoundRadius": 16,
|
"SoundRadius": 16,
|
||||||
"RPM": 600,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -10,5 +10,19 @@
|
||||||
"EmptyReloadTime": 64,
|
"EmptyReloadTime": 64,
|
||||||
"BypassesArmor": 0.7,
|
"BypassesArmor": 0.7,
|
||||||
"SoundRadius": 20,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -13,5 +13,22 @@
|
||||||
"BypassesArmor": 0.4,
|
"BypassesArmor": 0.4,
|
||||||
"SoundRadius": 12,
|
"SoundRadius": 12,
|
||||||
"RPM": 900,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -7,5 +7,11 @@
|
||||||
"Damage": 700,
|
"Damage": 700,
|
||||||
"ExplosionDamage": 60,
|
"ExplosionDamage": 60,
|
||||||
"ExplosionRadius": 5,
|
"ExplosionRadius": 5,
|
||||||
"AmmoType": "superbwarfare:javelin_missile"
|
"AmmoType": "superbwarfare:javelin_missile",
|
||||||
|
"AvailablePerks": [
|
||||||
|
"superbwarfare:powerful_attraction",
|
||||||
|
"superbwarfare:intelligent_chip",
|
||||||
|
"superbwarfare:monster_hunter",
|
||||||
|
"superbwarfare:vorpal_weapon"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -15,5 +15,19 @@
|
||||||
"FinishTime": 18,
|
"FinishTime": 18,
|
||||||
"BypassesArmor": 0.5,
|
"BypassesArmor": 0.5,
|
||||||
"SoundRadius": 18,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -12,5 +12,21 @@
|
||||||
"BypassesArmor": 0.2,
|
"BypassesArmor": 0.2,
|
||||||
"SoundRadius": 10,
|
"SoundRadius": 10,
|
||||||
"RPM": 400,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -15,5 +15,22 @@
|
||||||
"BypassesArmor": 0.25,
|
"BypassesArmor": 0.25,
|
||||||
"SoundRadius": 14,
|
"SoundRadius": 14,
|
||||||
"RPM": 850,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -13,5 +13,18 @@
|
||||||
"BypassesArmor": 0.25,
|
"BypassesArmor": 0.25,
|
||||||
"SoundRadius": 15,
|
"SoundRadius": 15,
|
||||||
"RPM": 600,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -10,5 +10,12 @@
|
||||||
"Weight": 4,
|
"Weight": 4,
|
||||||
"EmptyReloadTime": 64,
|
"EmptyReloadTime": 64,
|
||||||
"RPM": 180,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -15,5 +15,20 @@
|
||||||
"BypassesArmor": 0.05,
|
"BypassesArmor": 0.05,
|
||||||
"SoundRadius": 16,
|
"SoundRadius": 16,
|
||||||
"BoltActionTime": 11,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -15,5 +15,19 @@
|
||||||
"EmptyReloadTime": 78,
|
"EmptyReloadTime": 78,
|
||||||
"BypassesArmor": 0.6,
|
"BypassesArmor": 0.6,
|
||||||
"SoundRadius": 18,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -13,5 +13,22 @@
|
||||||
"BypassesArmor": 0.3,
|
"BypassesArmor": 0.3,
|
||||||
"SoundRadius": 15,
|
"SoundRadius": 15,
|
||||||
"BoltActionTime": 12,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -12,5 +12,15 @@
|
||||||
"FireMode": 2,
|
"FireMode": 2,
|
||||||
"AmmoType": "@RifleAmmo",
|
"AmmoType": "@RifleAmmo",
|
||||||
"ShootDelay": 20,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -15,5 +15,22 @@
|
||||||
"BypassesArmor": 0.4,
|
"BypassesArmor": 0.4,
|
||||||
"SoundRadius": 16,
|
"SoundRadius": 16,
|
||||||
"RPM": 700,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -15,5 +15,19 @@
|
||||||
"FinishTime": 18,
|
"FinishTime": 18,
|
||||||
"BypassesArmor": 0.54,
|
"BypassesArmor": 0.54,
|
||||||
"SoundRadius": 18,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -12,5 +12,21 @@
|
||||||
"BypassesArmor": 0.15,
|
"BypassesArmor": 0.15,
|
||||||
"SoundRadius": 8,
|
"SoundRadius": 8,
|
||||||
"RPM": 400,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -14,5 +14,19 @@
|
||||||
"EmptyReloadTime": 112,
|
"EmptyReloadTime": 112,
|
||||||
"BypassesArmor": 1,
|
"BypassesArmor": 1,
|
||||||
"SoundRadius": 22,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -15,5 +15,22 @@
|
||||||
"BypassesArmor": 0.28,
|
"BypassesArmor": 0.28,
|
||||||
"SoundRadius": 13,
|
"SoundRadius": 13,
|
||||||
"RPM": 650,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -10,5 +10,12 @@
|
||||||
"Weight": 7,
|
"Weight": 7,
|
||||||
"EmptyReloadTime": 103,
|
"EmptyReloadTime": 103,
|
||||||
"RPM": 120,
|
"RPM": 120,
|
||||||
"AmmoType": "superbwarfare:rocket"
|
"AmmoType": "superbwarfare:rocket",
|
||||||
|
"AvailablePerks": [
|
||||||
|
"superbwarfare:powerful_attraction",
|
||||||
|
"superbwarfare:intelligent_chip",
|
||||||
|
"superbwarfare:monster_hunter",
|
||||||
|
"superbwarfare:vorpal_weapon",
|
||||||
|
"superbwarfare:micro_missile"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -15,5 +15,18 @@
|
||||||
"BypassesArmor": 0.23,
|
"BypassesArmor": 0.23,
|
||||||
"SoundRadius": 14,
|
"SoundRadius": 14,
|
||||||
"RPM": 600,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -13,5 +13,13 @@
|
||||||
"FinishTime": 19,
|
"FinishTime": 19,
|
||||||
"SoundRadius": 8,
|
"SoundRadius": 8,
|
||||||
"RPM": 300,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -13,5 +13,20 @@
|
||||||
"EmptyReloadTime": 89,
|
"EmptyReloadTime": 89,
|
||||||
"BypassesArmor": 0.8,
|
"BypassesArmor": 0.8,
|
||||||
"SoundRadius": 20,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -12,5 +12,22 @@
|
||||||
"BypassesArmor": 0.23,
|
"BypassesArmor": 0.23,
|
||||||
"SoundRadius": 16,
|
"SoundRadius": 16,
|
||||||
"RPM": 400,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -14,5 +14,19 @@
|
||||||
"BypassesArmor": 0.45,
|
"BypassesArmor": 0.45,
|
||||||
"SoundRadius": 17,
|
"SoundRadius": 17,
|
||||||
"RPM": 300,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -8,5 +8,12 @@
|
||||||
"Weight": 1,
|
"Weight": 1,
|
||||||
"EmptyReloadTime": 58,
|
"EmptyReloadTime": 58,
|
||||||
"RPM": 240,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -12,5 +12,21 @@
|
||||||
"SoundRadius": 10,
|
"SoundRadius": 10,
|
||||||
"RPM": 240,
|
"RPM": 240,
|
||||||
"AmmoType": "@RifleAmmo",
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
|
@ -14,5 +14,22 @@
|
||||||
"BypassesArmor": 0.15,
|
"BypassesArmor": 0.15,
|
||||||
"SoundRadius": 11,
|
"SoundRadius": 11,
|
||||||
"RPM": 1200,
|
"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"
|
||||||
|
]
|
||||||
}
|
}
|
Loading…
Add table
Reference in a new issue