From 78d98e08f6494c5f08c20c43684f1d309a227ddb Mon Sep 17 00:00:00 2001 From: Light_Quanta Date: Sun, 30 Mar 2025 11:14:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=A8=E5=86=8C=E6=9E=AA=E6=A2=B0=E8=83=BD?= =?UTF-8?q?=E9=87=8F=E5=AD=98=E5=82=A8=E8=83=BD=E5=8A=9B=EF=BC=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E7=89=A9=E5=93=81=E6=B3=A8=E5=86=8C=E7=B1=BB=E6=B3=9B?= =?UTF-8?q?=E5=9E=8B=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../capability/ModCapabilities.java | 21 ++ .../client/overlay/AmmoBarOverlay.java | 5 +- .../datagen/ModItemModelProvider.java | 9 +- .../base/ContainerMobileVehicleEntity.java | 4 +- .../superbwarfare/init/ModItems.java | 276 +++++++++--------- .../item/gun/launcher/SecondaryCataclysm.java | 9 +- .../item/gun/sniper/SentinelItem.java | 17 +- .../item/gun/special/TaserItem.java | 12 +- 8 files changed, 193 insertions(+), 160 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/capability/ModCapabilities.java b/src/main/java/com/atsuishio/superbwarfare/capability/ModCapabilities.java index 895e64eff..20064f2c5 100644 --- a/src/main/java/com/atsuishio/superbwarfare/capability/ModCapabilities.java +++ b/src/main/java/com/atsuishio/superbwarfare/capability/ModCapabilities.java @@ -14,6 +14,9 @@ import com.atsuishio.superbwarfare.init.ModEntities; import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.item.BatteryItem; import com.atsuishio.superbwarfare.item.CreativeChargingStationBlockItem; +import com.atsuishio.superbwarfare.item.gun.launcher.SecondaryCataclysm; +import com.atsuishio.superbwarfare.item.gun.sniper.SentinelItem; +import com.atsuishio.superbwarfare.item.gun.special.TaserItem; import net.minecraft.world.entity.EntityType; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; @@ -56,6 +59,24 @@ public class ModCapabilities { } } + // 泰瑟枪 + event.registerItem(Capabilities.EnergyStorage.ITEM, + (obj, ctx) -> (obj.getItem() instanceof TaserItem taser) ? taser.getEnergyStorage() : null, + ModItems.TASER.value() + ); + + // 哨兵 + event.registerItem(Capabilities.EnergyStorage.ITEM, + (obj, ctx) -> (obj.getItem() instanceof SentinelItem sentinel) ? sentinel.getEnergyStorage() : null, + ModItems.SENTINEL.value() + ); + + // 二次灾变 + event.registerItem(Capabilities.EnergyStorage.ITEM, + (obj, ctx) -> (obj.getItem() instanceof SecondaryCataclysm cataclysm) ? cataclysm.getEnergyStorage() : null, + ModItems.SECONDARY_CATACLYSM.value() + ); + // 载具 for (var entity : ModEntities.REGISTRY.getEntries()) { if (entity.get().getBaseClass().isAssignableFrom(EnergyVehicleEntity.class)) { diff --git a/src/main/java/com/atsuishio/superbwarfare/client/overlay/AmmoBarOverlay.java b/src/main/java/com/atsuishio/superbwarfare/client/overlay/AmmoBarOverlay.java index 023ba5793..a5973063e 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/overlay/AmmoBarOverlay.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/overlay/AmmoBarOverlay.java @@ -202,7 +202,7 @@ public class AmmoBarOverlay { ); // 渲染弹药类型 - String ammoName = getGunAmmoType(stack); + String ammoName = getGunAmmoTypeString(stack); event.getGuiGraphics().drawString( Minecraft.getInstance().font, ammoName, @@ -450,7 +450,8 @@ public class AmmoBarOverlay { return "∞"; } - private static String getGunAmmoType(ItemStack stack) { + // TODO i18n + private static String getGunAmmoTypeString(ItemStack stack) { if (stack.getItem() == ModItems.BOCEK.get()) { return "Arrow"; } diff --git a/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemModelProvider.java b/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemModelProvider.java index 7ea33906e..4ba3d6d01 100644 --- a/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemModelProvider.java +++ b/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemModelProvider.java @@ -3,6 +3,7 @@ package com.atsuishio.superbwarfare.datagen; import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.init.ModBlocks; import com.atsuishio.superbwarfare.init.ModItems; +import com.atsuishio.superbwarfare.item.common.BlueprintItem; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; @@ -68,8 +69,8 @@ public class ModItemModelProvider extends ItemModelProvider { simpleItem(ModItems.TRANSCRIPT); simpleItem(ModItems.RAW_SILVER); simpleItem(ModItems.SILVER_INGOT); - handheldItem(ModItems.CROWBAR); - handheldItem(ModItems.DEFUSER); + handheldItem(ModItems.CROWBAR.getId()); + handheldItem(ModItems.DEFUSER.getId()); simpleItem(ModItems.FIRING_PARAMETERS); simpleItem(ModItems.BEAM_TEST); simpleItem(ModItems.HANDGUN_AMMO); @@ -180,12 +181,12 @@ public class ModItemModelProvider extends ItemModelProvider { modLoc("block/" + BuiltInRegistries.BLOCK.getKey(block.get()).getPath())); } - private ItemModelBuilder gunBlueprintItem(DeferredHolder item) { + private ItemModelBuilder gunBlueprintItem(DeferredHolder item) { return withExistingParent(item.getId().getPath(), ResourceLocation.withDefaultNamespace("item/generated")) .texture("layer0", Mod.loc("item/gun_blueprint")); } - private ItemModelBuilder cannonBlueprintItem(DeferredHolder item) { + private ItemModelBuilder cannonBlueprintItem(DeferredHolder item) { return withExistingParent(item.getId().getPath(), ResourceLocation.withDefaultNamespace("item/generated")) .texture("layer0", Mod.loc("item/cannon_blueprint")); } diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/base/ContainerMobileVehicleEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/base/ContainerMobileVehicleEntity.java index eca65b486..1ff5ccdc8 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/base/ContainerMobileVehicleEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/base/ContainerMobileVehicleEntity.java @@ -223,7 +223,7 @@ public abstract class ContainerMobileVehicleEntity extends MobileVehicleEntity i @Nullable @Override - public AbstractContainerMenu createMenu(int pContainerId, Inventory pPlayerInventory, Player pPlayer) { + public AbstractContainerMenu createMenu(int pContainerId, @NotNull Inventory pPlayerInventory, Player pPlayer) { if (pPlayer.isSpectator()) { return null; } else { @@ -231,7 +231,7 @@ public abstract class ContainerMobileVehicleEntity extends MobileVehicleEntity i } } - // TODO Capability + // TODO item handler Capability // @Override // public @NotNull LazyOptional getCapability(@NotNull Capability capability, @Nullable Direction facing) { // if (this.isAlive() && capability == ForgeCapabilities.ITEM_HANDLER) { diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java b/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java index b4bd8ae96..891f74017 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java @@ -50,83 +50,83 @@ public class ModItems { */ public static final DeferredRegister GUNS = DeferredRegister.create(BuiltInRegistries.ITEM, Mod.MODID); - public static final DeferredHolder TASER = GUNS.register("taser", TaserItem::new); - public static final DeferredHolder GLOCK_17 = GUNS.register("glock_17", Glock17Item::new); - public static final DeferredHolder GLOCK_18 = GUNS.register("glock_18", Glock18Item::new); - public static final DeferredHolder MP_443 = GUNS.register("mp_443", Mp443Item::new); - public static final DeferredHolder M_1911 = GUNS.register("m_1911", M1911Item::new); - public static final DeferredHolder HOMEMADE_SHOTGUN = GUNS.register("homemade_shotgun", HomemadeShotgunItem::new); - public static final DeferredHolder TRACHELIUM = GUNS.register("trachelium", Trachelium::new); + public static final DeferredHolder TASER = GUNS.register("taser", TaserItem::new); + public static final DeferredHolder GLOCK_17 = GUNS.register("glock_17", Glock17Item::new); + public static final DeferredHolder GLOCK_18 = GUNS.register("glock_18", Glock18Item::new); + public static final DeferredHolder MP_443 = GUNS.register("mp_443", Mp443Item::new); + public static final DeferredHolder M_1911 = GUNS.register("m_1911", M1911Item::new); + public static final DeferredHolder HOMEMADE_SHOTGUN = GUNS.register("homemade_shotgun", HomemadeShotgunItem::new); + public static final DeferredHolder TRACHELIUM = GUNS.register("trachelium", Trachelium::new); public static final DeferredHolder VECTOR = GUNS.register("vector", VectorItem::new); - public static final DeferredHolder AK_47 = GUNS.register("ak_47", AK47Item::new); - public static final DeferredHolder AK_12 = GUNS.register("ak_12", AK12Item::new); - public static final DeferredHolder SKS = GUNS.register("sks", SksItem::new); - public static final DeferredHolder M_4 = GUNS.register("m_4", M4Item::new); - public static final DeferredHolder HK_416 = GUNS.register("hk_416", Hk416Item::new); - public static final DeferredHolder QBZ_95 = GUNS.register("qbz_95", Qbz95Item::new); - public static final DeferredHolder MK_14 = GUNS.register("mk_14", Mk14Item::new); - public static final DeferredHolder MARLIN = GUNS.register("marlin", MarlinItem::new); - public static final DeferredHolder K_98 = GUNS.register("k_98", K98Item::new); - public static final DeferredHolder MOSIN_NAGANT = GUNS.register("mosin_nagant", MosinNagantItem::new); - public static final DeferredHolder SVD = GUNS.register("svd", SvdItem::new); - public static final DeferredHolder M_98B = GUNS.register("m_98b", M98bItem::new); - public static final DeferredHolder SENTINEL = GUNS.register("sentinel", SentinelItem::new); - public static final DeferredHolder HUNTING_RIFLE = GUNS.register("hunting_rifle", HuntingRifleItem::new); - public static final DeferredHolder NTW_20 = GUNS.register("ntw_20", Ntw20Item::new); - public static final DeferredHolder M_870 = GUNS.register("m_870", M870Item::new); - public static final DeferredHolder AA_12 = GUNS.register("aa_12", Aa12Item::new); - public static final DeferredHolder DEVOTION = GUNS.register("devotion", DevotionItem::new); - public static final DeferredHolder RPK = GUNS.register("rpk", RpkItem::new); - public static final DeferredHolder M_60 = GUNS.register("m_60", M60Item::new); - public static final DeferredHolder MINIGUN = GUNS.register("minigun", MinigunItem::new); - public static final DeferredHolder M_79 = GUNS.register("m_79", M79Item::new); - public static final DeferredHolder SECONDARY_CATACLYSM = GUNS.register("secondary_cataclysm", SecondaryCataclysm::new); - public static final DeferredHolder RPG = GUNS.register("rpg", RpgItem::new); - public static final DeferredHolder JAVELIN = GUNS.register("javelin", JavelinItem::new); - public static final DeferredHolder BOCEK = GUNS.register("bocek", BocekItem::new); + public static final DeferredHolder AK_47 = GUNS.register("ak_47", AK47Item::new); + public static final DeferredHolder AK_12 = GUNS.register("ak_12", AK12Item::new); + public static final DeferredHolder SKS = GUNS.register("sks", SksItem::new); + public static final DeferredHolder M_4 = GUNS.register("m_4", M4Item::new); + public static final DeferredHolder HK_416 = GUNS.register("hk_416", Hk416Item::new); + public static final DeferredHolder QBZ_95 = GUNS.register("qbz_95", Qbz95Item::new); + public static final DeferredHolder MK_14 = GUNS.register("mk_14", Mk14Item::new); + public static final DeferredHolder MARLIN = GUNS.register("marlin", MarlinItem::new); + public static final DeferredHolder K_98 = GUNS.register("k_98", K98Item::new); + public static final DeferredHolder MOSIN_NAGANT = GUNS.register("mosin_nagant", MosinNagantItem::new); + public static final DeferredHolder SVD = GUNS.register("svd", SvdItem::new); + public static final DeferredHolder M_98B = GUNS.register("m_98b", M98bItem::new); + public static final DeferredHolder SENTINEL = GUNS.register("sentinel", SentinelItem::new); + public static final DeferredHolder HUNTING_RIFLE = GUNS.register("hunting_rifle", HuntingRifleItem::new); + public static final DeferredHolder NTW_20 = GUNS.register("ntw_20", Ntw20Item::new); + public static final DeferredHolder M_870 = GUNS.register("m_870", M870Item::new); + public static final DeferredHolder AA_12 = GUNS.register("aa_12", Aa12Item::new); + public static final DeferredHolder DEVOTION = GUNS.register("devotion", DevotionItem::new); + public static final DeferredHolder RPK = GUNS.register("rpk", RpkItem::new); + public static final DeferredHolder M_60 = GUNS.register("m_60", M60Item::new); + public static final DeferredHolder MINIGUN = GUNS.register("minigun", MinigunItem::new); + public static final DeferredHolder M_79 = GUNS.register("m_79", M79Item::new); + public static final DeferredHolder SECONDARY_CATACLYSM = GUNS.register("secondary_cataclysm", SecondaryCataclysm::new); + public static final DeferredHolder RPG = GUNS.register("rpg", RpgItem::new); + public static final DeferredHolder JAVELIN = GUNS.register("javelin", JavelinItem::new); + public static final DeferredHolder BOCEK = GUNS.register("bocek", BocekItem::new); /** * Ammo */ public static final DeferredRegister AMMO = DeferredRegister.create(BuiltInRegistries.ITEM, Mod.MODID); - public static final DeferredHolder HANDGUN_AMMO = AMMO.register("handgun_ammo", () -> new AmmoSupplierItem(AmmoType.HANDGUN, 1, new Item.Properties())); - public static final DeferredHolder RIFLE_AMMO = AMMO.register("rifle_ammo", () -> new AmmoSupplierItem(AmmoType.RIFLE, 1, new Item.Properties())); - public static final DeferredHolder SNIPER_AMMO = AMMO.register("sniper_ammo", () -> new AmmoSupplierItem(AmmoType.SNIPER, 1, new Item.Properties())); - public static final DeferredHolder SHOTGUN_AMMO = AMMO.register("shotgun_ammo", () -> new AmmoSupplierItem(AmmoType.SHOTGUN, 1, new Item.Properties())); - public static final DeferredHolder HEAVY_AMMO = AMMO.register("heavy_ammo", () -> new AmmoSupplierItem(AmmoType.HEAVY, 1, new Item.Properties())); - public static final DeferredHolder HANDGUN_AMMO_BOX = AMMO.register("handgun_ammo_box", HandgunAmmoBox::new); - public static final DeferredHolder RIFLE_AMMO_BOX = AMMO.register("rifle_ammo_box", RifleAmmoBox::new); - public static final DeferredHolder SNIPER_AMMO_BOX = AMMO.register("sniper_ammo_box", SniperAmmoBox::new); - public static final DeferredHolder SHOTGUN_AMMO_BOX = AMMO.register("shotgun_ammo_box", ShotgunAmmoBox::new); - public static final DeferredHolder CREATIVE_AMMO_BOX = AMMO.register("creative_ammo_box", CreativeAmmoBox::new); - public static final DeferredHolder AMMO_BOX = AMMO.register("ammo_box", AmmoBox::new); + public static final DeferredHolder HANDGUN_AMMO = AMMO.register("handgun_ammo", () -> new AmmoSupplierItem(AmmoType.HANDGUN, 1, new Item.Properties())); + public static final DeferredHolder RIFLE_AMMO = AMMO.register("rifle_ammo", () -> new AmmoSupplierItem(AmmoType.RIFLE, 1, new Item.Properties())); + public static final DeferredHolder SNIPER_AMMO = AMMO.register("sniper_ammo", () -> new AmmoSupplierItem(AmmoType.SNIPER, 1, new Item.Properties())); + public static final DeferredHolder SHOTGUN_AMMO = AMMO.register("shotgun_ammo", () -> new AmmoSupplierItem(AmmoType.SHOTGUN, 1, new Item.Properties())); + public static final DeferredHolder HEAVY_AMMO = AMMO.register("heavy_ammo", () -> new AmmoSupplierItem(AmmoType.HEAVY, 1, new Item.Properties())); + public static final DeferredHolder HANDGUN_AMMO_BOX = AMMO.register("handgun_ammo_box", HandgunAmmoBox::new); + public static final DeferredHolder RIFLE_AMMO_BOX = AMMO.register("rifle_ammo_box", RifleAmmoBox::new); + public static final DeferredHolder SNIPER_AMMO_BOX = AMMO.register("sniper_ammo_box", SniperAmmoBox::new); + public static final DeferredHolder SHOTGUN_AMMO_BOX = AMMO.register("shotgun_ammo_box", ShotgunAmmoBox::new); + public static final DeferredHolder CREATIVE_AMMO_BOX = AMMO.register("creative_ammo_box", CreativeAmmoBox::new); + public static final DeferredHolder AMMO_BOX = AMMO.register("ammo_box", AmmoBox::new); public static final DeferredHolder TASER_ELECTRODE = AMMO.register("taser_electrode", () -> new Item(new Item.Properties())); public static final DeferredHolder GRENADE_40MM = AMMO.register("grenade_40mm", () -> new Item(new Item.Properties())); public static final DeferredHolder JAVELIN_MISSILE = AMMO.register("javelin_missile", () -> new Item(new Item.Properties())); - public static final DeferredHolder MORTAR_SHELL = AMMO.register("mortar_shell", MortarShell::new); - public static final DeferredHolder POTION_MORTAR_SHELL = AMMO.register("potion_mortar_shell", PotionMortarShell::new); - public static final DeferredHolder ROCKET = AMMO.register("rocket", Rocket::new); - public static final DeferredHolder LUNGE_MINE = AMMO.register("lunge_mine", LungeMine::new); + public static final DeferredHolder MORTAR_SHELL = AMMO.register("mortar_shell", MortarShell::new); + public static final DeferredHolder POTION_MORTAR_SHELL = AMMO.register("potion_mortar_shell", PotionMortarShell::new); + public static final DeferredHolder ROCKET = AMMO.register("rocket", Rocket::new); + public static final DeferredHolder LUNGE_MINE = AMMO.register("lunge_mine", LungeMine::new); public static final DeferredHolder HE_5_INCHES = AMMO.register("he_5_inches", () -> new CannonShellItem(new Item.Properties().rarity(Rarity.RARE))); public static final DeferredHolder AP_5_INCHES = AMMO.register("ap_5_inches", () -> new CannonShellItem(new Item.Properties().rarity(Rarity.RARE))); - public static final DeferredHolder HAND_GRENADE = AMMO.register("hand_grenade", HandGrenade::new); - public static final DeferredHolder RGO_GRENADE = AMMO.register("rgo_grenade", RgoGrenade::new); - public static final DeferredHolder CLAYMORE_MINE = AMMO.register("claymore_mine", ClaymoreMine::new); - public static final DeferredHolder C4_BOMB = AMMO.register("c4_bomb", C4Bomb::new); + public static final DeferredHolder HAND_GRENADE = AMMO.register("hand_grenade", HandGrenade::new); + public static final DeferredHolder RGO_GRENADE = AMMO.register("rgo_grenade", RgoGrenade::new); + public static final DeferredHolder CLAYMORE_MINE = AMMO.register("claymore_mine", ClaymoreMine::new); + public static final DeferredHolder C4_BOMB = AMMO.register("c4_bomb", C4Bomb::new); public static final DeferredHolder SMALL_SHELL = AMMO.register("small_shell", () -> new Item(new Item.Properties())); public static final DeferredHolder ROCKET_70 = AMMO.register("rocket_70", () -> new Item(new Item.Properties())); public static final DeferredHolder WIRE_GUIDE_MISSILE = AMMO.register("wire_guide_missile", () -> new Item(new Item.Properties())); - public static final DeferredHolder BEAM_TEST = AMMO.register("beam_test", BeamTest::new); + public static final DeferredHolder BEAM_TEST = AMMO.register("beam_test", BeamTest::new); /** * items */ public static final DeferredRegister ITEMS = DeferredRegister.create(Registries.ITEM, Mod.MODID); - public static final DeferredHolder CONTAINER = ITEMS.register("container", ContainerBlockItem::new); - public static final DeferredHolder SMALL_CONTAINER = ITEMS.register("small_container", SmallContainerBlockItem::new); - public static final DeferredHolder SENPAI_SPAWN_EGG = ITEMS.register("senpai_spawn_egg", () -> new DeferredSpawnEggItem(ModEntities.SENPAI::value, -11584987, -14014413, new Item.Properties())); + public static final DeferredHolder CONTAINER = ITEMS.register("container", ContainerBlockItem::new); + public static final DeferredHolder SMALL_CONTAINER = ITEMS.register("small_container", SmallContainerBlockItem::new); + public static final DeferredHolder SENPAI_SPAWN_EGG = ITEMS.register("senpai_spawn_egg", () -> new DeferredSpawnEggItem(ModEntities.SENPAI::value, -11584987, -14014413, new Item.Properties())); public static final DeferredHolder ANCIENT_CPU = ITEMS.register("ancient_cpu", () -> new Item(new Item.Properties().rarity(Rarity.RARE))); public static final DeferredHolder PROPELLER = ITEMS.register("propeller", () -> new Item(new Item.Properties())); public static final DeferredHolder LARGE_PROPELLER = ITEMS.register("large_propeller", () -> new Item(new Item.Properties())); @@ -134,24 +134,24 @@ public class ModItems { public static final DeferredHolder LARGE_MOTOR = ITEMS.register("large_motor", () -> new Item(new Item.Properties())); public static final DeferredHolder WHEEL = ITEMS.register("wheel", () -> new Item(new Item.Properties())); public static final DeferredHolder TRACK = ITEMS.register("track", () -> new Item(new Item.Properties())); - public static final DeferredHolder DRONE = ITEMS.register("drone", Drone::new); + public static final DeferredHolder DRONE = ITEMS.register("drone", Drone::new); - public static final DeferredHolder MONITOR = ITEMS.register("monitor", Monitor::new); + public static final DeferredHolder MONITOR = ITEMS.register("monitor", Monitor::new); - public static final DeferredHolder DETONATOR = ITEMS.register("detonator", Detonator::new); - public static final DeferredHolder TARGET_DEPLOYER = ITEMS.register("target_deployer", TargetDeployer::new); - public static final DeferredHolder KNIFE = ITEMS.register("knife", Knife::new); - public static final DeferredHolder HAMMER = ITEMS.register("hammer", Hammer::new); - public static final DeferredHolder CROWBAR = ITEMS.register("crowbar", Crowbar::new); - public static final DeferredHolder DEFUSER = ITEMS.register("defuser", Defuser::new); - public static final DeferredHolder ARMOR_PLATE = ITEMS.register("armor_plate", ArmorPlate::new); + public static final DeferredHolder DETONATOR = ITEMS.register("detonator", Detonator::new); + public static final DeferredHolder TARGET_DEPLOYER = ITEMS.register("target_deployer", TargetDeployer::new); + public static final DeferredHolder KNIFE = ITEMS.register("knife", Knife::new); + public static final DeferredHolder HAMMER = ITEMS.register("hammer", Hammer::new); + public static final DeferredHolder CROWBAR = ITEMS.register("crowbar", Crowbar::new); + public static final DeferredHolder DEFUSER = ITEMS.register("defuser", Defuser::new); + public static final DeferredHolder ARMOR_PLATE = ITEMS.register("armor_plate", ArmorPlate::new); - public static final DeferredHolder RU_HELMET_6B47 = ITEMS.register("ru_helmet_6b47", RuHelmet6b47::new); - public static final DeferredHolder RU_CHEST_6B43 = ITEMS.register("ru_chest_6b43", RuChest6b43::new); - public static final DeferredHolder US_HELMET_PASTG = ITEMS.register("us_helmet_pastg", UsHelmetPastg::new); - public static final DeferredHolder US_CHEST_IOTV = ITEMS.register("us_chest_iotv", UsChestIotv::new); - public static final DeferredHolder GE_HELMET_M_35 = ITEMS.register("ge_helmet_m_35", GeHelmetM35::new); - public static final DeferredHolder MORTAR_DEPLOYER = ITEMS.register("mortar_deployer", MortarDeployer::new); + public static final DeferredHolder RU_HELMET_6B47 = ITEMS.register("ru_helmet_6b47", RuHelmet6b47::new); + public static final DeferredHolder RU_CHEST_6B43 = ITEMS.register("ru_chest_6b43", RuChest6b43::new); + public static final DeferredHolder US_HELMET_PASTG = ITEMS.register("us_helmet_pastg", UsHelmetPastg::new); + public static final DeferredHolder US_CHEST_IOTV = ITEMS.register("us_chest_iotv", UsChestIotv::new); + public static final DeferredHolder GE_HELMET_M_35 = ITEMS.register("ge_helmet_m_35", GeHelmetM35::new); + public static final DeferredHolder MORTAR_DEPLOYER = ITEMS.register("mortar_deployer", MortarDeployer::new); public static final DeferredHolder MORTAR_BARREL = ITEMS.register("mortar_barrel", () -> new Item(new Item.Properties())); public static final DeferredHolder MORTAR_BASE_PLATE = ITEMS.register("mortar_base_plate", () -> new Item(new Item.Properties())); public static final DeferredHolder MORTAR_BIPOD = ITEMS.register("mortar_bipod", () -> new Item(new Item.Properties())); @@ -178,13 +178,13 @@ public class ModItems { public static final DeferredHolder GALENA = ITEMS.register("galena", () -> new Item(new Item.Properties())); public static final DeferredHolder SCHEELITE = ITEMS.register("scheelite", () -> new Item(new Item.Properties())); public static final DeferredHolder RAW_SILVER = ITEMS.register("raw_silver", () -> new Item(new Item.Properties())); - public static final DeferredHolder DOG_TAG = ITEMS.register("dog_tag", DogTag::new); - public static final DeferredHolder CELL = ITEMS.register("cell", () -> new BatteryItem(24000, new Item.Properties())); - public static final DeferredHolder BATTERY = ITEMS.register("battery", () -> new BatteryItem(100000, new Item.Properties())); - public static final DeferredHolder SMALL_BATTERY_PACK = ITEMS.register("small_battery_pack", () -> new BatteryItem(500000, new Item.Properties())); - public static final DeferredHolder MEDIUM_BATTERY_PACK = ITEMS.register("medium_battery_pack", () -> new BatteryItem(5000000, new Item.Properties())); - public static final DeferredHolder LARGE_BATTERY_PACK = ITEMS.register("large_battery_pack", () -> new BatteryItem(20000000, new Item.Properties())); - public static final DeferredHolder TRANSCRIPT = ITEMS.register("transcript", Transcript::new); + public static final DeferredHolder DOG_TAG = ITEMS.register("dog_tag", DogTag::new); + public static final DeferredHolder CELL = ITEMS.register("cell", () -> new BatteryItem(24000, new Item.Properties())); + public static final DeferredHolder BATTERY = ITEMS.register("battery", () -> new BatteryItem(100000, new Item.Properties())); + public static final DeferredHolder SMALL_BATTERY_PACK = ITEMS.register("small_battery_pack", () -> new BatteryItem(500000, new Item.Properties())); + public static final DeferredHolder MEDIUM_BATTERY_PACK = ITEMS.register("medium_battery_pack", () -> new BatteryItem(5000000, new Item.Properties())); + public static final DeferredHolder LARGE_BATTERY_PACK = ITEMS.register("large_battery_pack", () -> new BatteryItem(20000000, new Item.Properties())); + public static final DeferredHolder TRANSCRIPT = ITEMS.register("transcript", Transcript::new); public static final DeferredHolder FIRING_PARAMETERS = ITEMS.register("firing_parameters", FiringParameters::new); public static final DeferredHolder TUNGSTEN_ROD = ITEMS.register("tungsten_rod", () -> new Item(new Item.Properties())); @@ -205,48 +205,48 @@ public class ModItems { public static final DeferredHolder NETHERITE_TRIGGER = ITEMS.register("netherite_trigger", () -> new Item(new Item.Properties().rarity(ModRarity.getLegendary()))); public static final DeferredHolder NETHERITE_SPRING = ITEMS.register("netherite_spring", () -> new Item(new Item.Properties().rarity(ModRarity.getLegendary()))); - public static final DeferredHolder COMMON_MATERIAL_PACK = ITEMS.register("common_material_pack", () -> new MaterialPack(Rarity.COMMON)); - public static final DeferredHolder RARE_MATERIAL_PACK = ITEMS.register("rare_material_pack", () -> new MaterialPack(Rarity.RARE)); - public static final DeferredHolder EPIC_MATERIAL_PACK = ITEMS.register("epic_material_pack", () -> new MaterialPack(Rarity.EPIC)); - public static final DeferredHolder LEGENDARY_MATERIAL_PACK = ITEMS.register("legendary_material_pack", () -> new MaterialPack(ModRarity.getLegendary())); + public static final DeferredHolder COMMON_MATERIAL_PACK = ITEMS.register("common_material_pack", () -> new MaterialPack(Rarity.COMMON)); + public static final DeferredHolder RARE_MATERIAL_PACK = ITEMS.register("rare_material_pack", () -> new MaterialPack(Rarity.RARE)); + public static final DeferredHolder EPIC_MATERIAL_PACK = ITEMS.register("epic_material_pack", () -> new MaterialPack(Rarity.EPIC)); + public static final DeferredHolder LEGENDARY_MATERIAL_PACK = ITEMS.register("legendary_material_pack", () -> new MaterialPack(ModRarity.getLegendary())); - public static final DeferredHolder TRACHELIUM_BLUEPRINT = ITEMS.register("trachelium_blueprint", () -> new BlueprintItem(Rarity.EPIC)); - public static final DeferredHolder GLOCK_17_BLUEPRINT = ITEMS.register("glock_17_blueprint", () -> new BlueprintItem(Rarity.COMMON)); - public static final DeferredHolder MP_443_BLUEPRINT = ITEMS.register("mp_443_blueprint", () -> new BlueprintItem(Rarity.COMMON)); - public static final DeferredHolder GLOCK_18_BLUEPRINT = ITEMS.register("glock_18_blueprint", () -> new BlueprintItem(Rarity.RARE)); - public static final DeferredHolder HUNTING_RIFLE_BLUEPRINT = ITEMS.register("hunting_rifle_blueprint", () -> new BlueprintItem(Rarity.EPIC)); - public static final DeferredHolder M_79_BLUEPRINT = ITEMS.register("m_79_blueprint", () -> new BlueprintItem(Rarity.RARE)); - public static final DeferredHolder RPG_BLUEPRINT = ITEMS.register("rpg_blueprint", () -> new BlueprintItem(Rarity.EPIC)); - public static final DeferredHolder BOCEK_BLUEPRINT = ITEMS.register("bocek_blueprint", () -> new BlueprintItem(Rarity.EPIC)); - public static final DeferredHolder M_4_BLUEPRINT = ITEMS.register("m_4_blueprint", () -> new BlueprintItem(Rarity.RARE)); - public static final DeferredHolder AA_12_BLUEPRINT = ITEMS.register("aa_12_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); - public static final DeferredHolder HK_416_BLUEPRINT = ITEMS.register("hk_416_blueprint", () -> new BlueprintItem(Rarity.EPIC)); - public static final DeferredHolder RPK_BLUEPRINT = ITEMS.register("rpk_blueprint", () -> new BlueprintItem(Rarity.EPIC)); - public static final DeferredHolder SKS_BLUEPRINT = ITEMS.register("sks_blueprint", () -> new BlueprintItem(Rarity.RARE)); - public static final DeferredHolder NTW_20_BLUEPRINT = ITEMS.register("ntw_20_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); - public static final DeferredHolder VECTOR_BLUEPRINT = ITEMS.register("vector_blueprint", () -> new BlueprintItem(Rarity.EPIC)); - public static final DeferredHolder MINIGUN_BLUEPRINT = ITEMS.register("minigun_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); - public static final DeferredHolder MK_14_BLUEPRINT = ITEMS.register("mk_14_blueprint", () -> new BlueprintItem(Rarity.EPIC)); - public static final DeferredHolder SENTINEL_BLUEPRINT = ITEMS.register("sentinel_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); - public static final DeferredHolder M_60_BLUEPRINT = ITEMS.register("m_60_blueprint", () -> new BlueprintItem(Rarity.EPIC)); - public static final DeferredHolder SVD_BLUEPRINT = ITEMS.register("svd_blueprint", () -> new BlueprintItem(Rarity.EPIC)); - public static final DeferredHolder MARLIN_BLUEPRINT = ITEMS.register("marlin_blueprint", () -> new BlueprintItem(Rarity.COMMON)); - public static final DeferredHolder M_870_BLUEPRINT = ITEMS.register("m_870_blueprint", () -> new BlueprintItem(Rarity.RARE)); - public static final DeferredHolder M_98B_BLUEPRINT = ITEMS.register("m_98b_blueprint", () -> new BlueprintItem(Rarity.EPIC)); - public static final DeferredHolder AK_47_BLUEPRINT = ITEMS.register("ak_47_blueprint", () -> new BlueprintItem(Rarity.RARE)); - public static final DeferredHolder AK_12_BLUEPRINT = ITEMS.register("ak_12_blueprint", () -> new BlueprintItem(Rarity.EPIC)); - public static final DeferredHolder DEVOTION_BLUEPRINT = ITEMS.register("devotion_blueprint", () -> new BlueprintItem(Rarity.EPIC)); - public static final DeferredHolder TASER_BLUEPRINT = ITEMS.register("taser_blueprint", () -> new BlueprintItem(Rarity.COMMON)); - public static final DeferredHolder M_1911_BLUEPRINT = ITEMS.register("m_1911_blueprint", () -> new BlueprintItem(Rarity.COMMON)); - public static final DeferredHolder QBZ_95_BLUEPRINT = ITEMS.register("qbz_95_blueprint", () -> new BlueprintItem(Rarity.EPIC)); - public static final DeferredHolder K_98_BLUEPRINT = ITEMS.register("k_98_blueprint", () -> new BlueprintItem(Rarity.RARE)); - public static final DeferredHolder MOSIN_NAGANT_BLUEPRINT = ITEMS.register("mosin_nagant_blueprint", () -> new BlueprintItem(Rarity.RARE)); - public static final DeferredHolder JAVELIN_BLUEPRINT = ITEMS.register("javelin_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); - public static final DeferredHolder M_2_HB_BLUEPRINT = ITEMS.register("m2hb_blueprint", () -> new BlueprintItem(Rarity.RARE)); - public static final DeferredHolder SECONDARY_CATACLYSM_BLUEPRINT = ITEMS.register("secondary_cataclysm_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); - public static final DeferredHolder MK_42_BLUEPRINT = ITEMS.register("mk_42_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); - public static final DeferredHolder MLE_1934_BLUEPRINT = ITEMS.register("mle_1934_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); - public static final DeferredHolder ANNIHILATOR_BLUEPRINT = ITEMS.register("annihilator_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); + public static final DeferredHolder TRACHELIUM_BLUEPRINT = ITEMS.register("trachelium_blueprint", () -> new BlueprintItem(Rarity.EPIC)); + public static final DeferredHolder GLOCK_17_BLUEPRINT = ITEMS.register("glock_17_blueprint", () -> new BlueprintItem(Rarity.COMMON)); + public static final DeferredHolder MP_443_BLUEPRINT = ITEMS.register("mp_443_blueprint", () -> new BlueprintItem(Rarity.COMMON)); + public static final DeferredHolder GLOCK_18_BLUEPRINT = ITEMS.register("glock_18_blueprint", () -> new BlueprintItem(Rarity.RARE)); + public static final DeferredHolder HUNTING_RIFLE_BLUEPRINT = ITEMS.register("hunting_rifle_blueprint", () -> new BlueprintItem(Rarity.EPIC)); + public static final DeferredHolder M_79_BLUEPRINT = ITEMS.register("m_79_blueprint", () -> new BlueprintItem(Rarity.RARE)); + public static final DeferredHolder RPG_BLUEPRINT = ITEMS.register("rpg_blueprint", () -> new BlueprintItem(Rarity.EPIC)); + public static final DeferredHolder BOCEK_BLUEPRINT = ITEMS.register("bocek_blueprint", () -> new BlueprintItem(Rarity.EPIC)); + public static final DeferredHolder M_4_BLUEPRINT = ITEMS.register("m_4_blueprint", () -> new BlueprintItem(Rarity.RARE)); + public static final DeferredHolder AA_12_BLUEPRINT = ITEMS.register("aa_12_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); + public static final DeferredHolder HK_416_BLUEPRINT = ITEMS.register("hk_416_blueprint", () -> new BlueprintItem(Rarity.EPIC)); + public static final DeferredHolder RPK_BLUEPRINT = ITEMS.register("rpk_blueprint", () -> new BlueprintItem(Rarity.EPIC)); + public static final DeferredHolder SKS_BLUEPRINT = ITEMS.register("sks_blueprint", () -> new BlueprintItem(Rarity.RARE)); + public static final DeferredHolder NTW_20_BLUEPRINT = ITEMS.register("ntw_20_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); + public static final DeferredHolder VECTOR_BLUEPRINT = ITEMS.register("vector_blueprint", () -> new BlueprintItem(Rarity.EPIC)); + public static final DeferredHolder MINIGUN_BLUEPRINT = ITEMS.register("minigun_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); + public static final DeferredHolder MK_14_BLUEPRINT = ITEMS.register("mk_14_blueprint", () -> new BlueprintItem(Rarity.EPIC)); + public static final DeferredHolder SENTINEL_BLUEPRINT = ITEMS.register("sentinel_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); + public static final DeferredHolder M_60_BLUEPRINT = ITEMS.register("m_60_blueprint", () -> new BlueprintItem(Rarity.EPIC)); + public static final DeferredHolder SVD_BLUEPRINT = ITEMS.register("svd_blueprint", () -> new BlueprintItem(Rarity.EPIC)); + public static final DeferredHolder MARLIN_BLUEPRINT = ITEMS.register("marlin_blueprint", () -> new BlueprintItem(Rarity.COMMON)); + public static final DeferredHolder M_870_BLUEPRINT = ITEMS.register("m_870_blueprint", () -> new BlueprintItem(Rarity.RARE)); + public static final DeferredHolder M_98B_BLUEPRINT = ITEMS.register("m_98b_blueprint", () -> new BlueprintItem(Rarity.EPIC)); + public static final DeferredHolder AK_47_BLUEPRINT = ITEMS.register("ak_47_blueprint", () -> new BlueprintItem(Rarity.RARE)); + public static final DeferredHolder AK_12_BLUEPRINT = ITEMS.register("ak_12_blueprint", () -> new BlueprintItem(Rarity.EPIC)); + public static final DeferredHolder DEVOTION_BLUEPRINT = ITEMS.register("devotion_blueprint", () -> new BlueprintItem(Rarity.EPIC)); + public static final DeferredHolder TASER_BLUEPRINT = ITEMS.register("taser_blueprint", () -> new BlueprintItem(Rarity.COMMON)); + public static final DeferredHolder M_1911_BLUEPRINT = ITEMS.register("m_1911_blueprint", () -> new BlueprintItem(Rarity.COMMON)); + public static final DeferredHolder QBZ_95_BLUEPRINT = ITEMS.register("qbz_95_blueprint", () -> new BlueprintItem(Rarity.EPIC)); + public static final DeferredHolder K_98_BLUEPRINT = ITEMS.register("k_98_blueprint", () -> new BlueprintItem(Rarity.RARE)); + public static final DeferredHolder MOSIN_NAGANT_BLUEPRINT = ITEMS.register("mosin_nagant_blueprint", () -> new BlueprintItem(Rarity.RARE)); + public static final DeferredHolder JAVELIN_BLUEPRINT = ITEMS.register("javelin_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); + public static final DeferredHolder M_2_HB_BLUEPRINT = ITEMS.register("m2hb_blueprint", () -> new BlueprintItem(Rarity.RARE)); + public static final DeferredHolder SECONDARY_CATACLYSM_BLUEPRINT = ITEMS.register("secondary_cataclysm_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); + public static final DeferredHolder MK_42_BLUEPRINT = ITEMS.register("mk_42_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); + public static final DeferredHolder MLE_1934_BLUEPRINT = ITEMS.register("mle_1934_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); + public static final DeferredHolder ANNIHILATOR_BLUEPRINT = ITEMS.register("annihilator_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); public static final DeferredHolder LIGHT_ARMAMENT_MODULE = ITEMS.register("light_armament_module", () -> new Item(new Item.Properties().rarity(Rarity.RARE))); public static final DeferredHolder MEDIUM_ARMAMENT_MODULE = ITEMS.register("medium_armament_module", () -> new Item(new Item.Properties().rarity(Rarity.EPIC))); @@ -257,25 +257,25 @@ public class ModItems { */ public static final DeferredRegister BLOCKS = DeferredRegister.create(BuiltInRegistries.ITEM, Mod.MODID); - public static final DeferredHolder GALENA_ORE = block(ModBlocks.GALENA_ORE); - public static final DeferredHolder DEEPSLATE_GALENA_ORE = block(ModBlocks.DEEPSLATE_GALENA_ORE); - public static final DeferredHolder SCHEELITE_ORE = block(ModBlocks.SCHEELITE_ORE); - public static final DeferredHolder DEEPSLATE_SCHEELITE_ORE = block(ModBlocks.DEEPSLATE_SCHEELITE_ORE); - public static final DeferredHolder SILVER_ORE = block(ModBlocks.SILVER_ORE); - public static final DeferredHolder DEEPSLATE_SILVER_ORE = block(ModBlocks.DEEPSLATE_SILVER_ORE); - public static final DeferredHolder JUMP_PAD = block(ModBlocks.JUMP_PAD); - public static final DeferredHolder SANDBAG = block(ModBlocks.SANDBAG); - public static final DeferredHolder BARBED_WIRE = block(ModBlocks.BARBED_WIRE); - public static final DeferredHolder DRAGON_TEETH = block(ModBlocks.DRAGON_TEETH); - public static final DeferredHolder REFORGING_TABLE = block(ModBlocks.REFORGING_TABLE); + public static final DeferredHolder GALENA_ORE = block(ModBlocks.GALENA_ORE); + public static final DeferredHolder DEEPSLATE_GALENA_ORE = block(ModBlocks.DEEPSLATE_GALENA_ORE); + public static final DeferredHolder SCHEELITE_ORE = block(ModBlocks.SCHEELITE_ORE); + public static final DeferredHolder DEEPSLATE_SCHEELITE_ORE = block(ModBlocks.DEEPSLATE_SCHEELITE_ORE); + public static final DeferredHolder SILVER_ORE = block(ModBlocks.SILVER_ORE); + public static final DeferredHolder DEEPSLATE_SILVER_ORE = block(ModBlocks.DEEPSLATE_SILVER_ORE); + public static final DeferredHolder JUMP_PAD = block(ModBlocks.JUMP_PAD); + public static final DeferredHolder SANDBAG = block(ModBlocks.SANDBAG); + public static final DeferredHolder BARBED_WIRE = block(ModBlocks.BARBED_WIRE); + public static final DeferredHolder DRAGON_TEETH = block(ModBlocks.DRAGON_TEETH); + public static final DeferredHolder REFORGING_TABLE = block(ModBlocks.REFORGING_TABLE); public static final DeferredHolder CREATIVE_CHARGING_STATION = BLOCKS.register("creative_charging_station", CreativeChargingStationBlockItem::new); public static final DeferredHolder CHARGING_STATION = BLOCKS.register("charging_station", ChargingStationBlockItem::new); - public static final DeferredHolder LEAD_BLOCK = block(ModBlocks.LEAD_BLOCK); - public static final DeferredHolder STEEL_BLOCK = block(ModBlocks.STEEL_BLOCK); - public static final DeferredHolder TUNGSTEN_BLOCK = block(ModBlocks.TUNGSTEN_BLOCK); - public static final DeferredHolder SILVER_BLOCK = block(ModBlocks.SILVER_BLOCK); - public static final DeferredHolder CEMENTED_CARBIDE_BLOCK = block(ModBlocks.CEMENTED_CARBIDE_BLOCK); - public static final DeferredHolder FUMO_25 = block(ModBlocks.FUMO_25); + public static final DeferredHolder LEAD_BLOCK = block(ModBlocks.LEAD_BLOCK); + public static final DeferredHolder STEEL_BLOCK = block(ModBlocks.STEEL_BLOCK); + public static final DeferredHolder TUNGSTEN_BLOCK = block(ModBlocks.TUNGSTEN_BLOCK); + public static final DeferredHolder SILVER_BLOCK = block(ModBlocks.SILVER_BLOCK); + public static final DeferredHolder CEMENTED_CARBIDE_BLOCK = block(ModBlocks.CEMENTED_CARBIDE_BLOCK); + public static final DeferredHolder FUMO_25 = block(ModBlocks.FUMO_25); /** * Perk Items @@ -289,14 +289,14 @@ public class ModItems { ModPerks.DAMAGE_PERKS.getEntries().forEach(registryObject -> PERKS.register(registryObject.getId().getPath(), () -> new PerkItem<>(registryObject))); } - public static final DeferredHolder SHORTCUT_PACK = PERKS.register("shortcut_pack", ShortcutPack::new); + public static final DeferredHolder SHORTCUT_PACK = PERKS.register("shortcut_pack", ShortcutPack::new); public static final DeferredHolder EMPTY_PERK = PERKS.register("empty_perk", () -> new Item(new Item.Properties())); /** * 单独注册,用于Tab图标,不要删 */ public static final DeferredHolder AP_BULLET = PERKS.register("ap_bullet", () -> new PerkItem<>(ModPerks.AP_BULLET)); - private static DeferredHolder block(DeferredHolder block) { + private static DeferredHolder block(DeferredHolder block) { return BLOCKS.register(block.getId().getPath(), () -> new BlockItem(block.get(), new Item.Properties())); } 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 bd2c5e0c6..b3f320260 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 @@ -32,6 +32,8 @@ import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.energy.EnergyStorage; +import net.neoforged.neoforge.energy.IEnergyStorage; import net.neoforged.neoforge.network.PacketDistributor; import org.jetbrains.annotations.NotNull; import software.bernie.geckolib.animatable.GeoItem; @@ -42,10 +44,13 @@ import software.bernie.geckolib.util.GeckoLibUtil; import javax.annotation.ParametersAreNonnullByDefault; import java.util.Optional; -import java.util.function.Supplier; public class SecondaryCataclysm extends GunItem implements GeoItem, SpecialFireWeapon { - private final Supplier energyCapacity = () -> 24000; + private final IEnergyStorage energyStorage = new EnergyStorage(24000); + + public IEnergyStorage getEnergyStorage() { + return energyStorage; + } private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public static ItemDisplayContext transformType; 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 0bacee234..f8a9fd50e 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 @@ -24,6 +24,8 @@ import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.energy.EnergyStorage; +import net.neoforged.neoforge.energy.IEnergyStorage; import org.jetbrains.annotations.NotNull; import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache; @@ -34,11 +36,14 @@ import software.bernie.geckolib.util.GeckoLibUtil; import javax.annotation.ParametersAreNonnullByDefault; import java.util.Optional; import java.util.Set; -import java.util.function.Supplier; public class SentinelItem extends GunItem implements GeoItem { - private final Supplier energyCapacity; + public IEnergyStorage getEnergyStorage() { + return energyStorage; + } + + private final IEnergyStorage energyStorage; private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public static ItemDisplayContext transformType; @@ -46,7 +51,7 @@ public class SentinelItem extends GunItem implements GeoItem { public SentinelItem() { super(new Properties().stacksTo(1).rarity(ModRarity.getLegendary())); - this.energyCapacity = () -> 24000; + this.energyStorage = new EnergyStorage(24000); } @Override @@ -62,12 +67,6 @@ public class SentinelItem extends GunItem implements GeoItem { return Math.round((float) (cap != null ? cap.getEnergyStored() : 0) * 13.0F / 24000F); } - // TODO register cap -// @Override -// public ICapabilityProvider initCapabilities(ItemStack stack, CompoundTag tag) { -// return new ItemEnergyProvider(stack, energyCapacity.get()); -// } - @Override public int getBarColor(@NotNull ItemStack pStack) { return 0x95E9FF; 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 c1f9defdb..8983a67aa 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 @@ -34,6 +34,8 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; import net.minecraft.world.level.Level; import net.neoforged.neoforge.capabilities.Capabilities; +import net.neoforged.neoforge.energy.EnergyStorage; +import net.neoforged.neoforge.energy.IEnergyStorage; import net.neoforged.neoforge.network.PacketDistributor; import org.jetbrains.annotations.NotNull; import software.bernie.geckolib.animatable.GeoItem; @@ -45,7 +47,6 @@ import software.bernie.geckolib.util.GeckoLibUtil; import javax.annotation.ParametersAreNonnullByDefault; import java.util.Optional; import java.util.Set; -import java.util.function.Supplier; public class TaserItem extends GunItem implements GeoItem, SpecialFireWeapon { @@ -53,11 +54,16 @@ public class TaserItem extends GunItem implements GeoItem, SpecialFireWeapon { private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public static ItemDisplayContext transformType; - private final Supplier energyCapacity; + + public IEnergyStorage getEnergyStorage() { + return energyStorage; + } + + private final IEnergyStorage energyStorage; public TaserItem() { super(new Properties().stacksTo(1).rarity(Rarity.COMMON)); - this.energyCapacity = () -> MAX_ENERGY; + this.energyStorage = new EnergyStorage(MAX_ENERGY); } @Override