注册枪械能量存储能力,优化物品注册类泛型类型

This commit is contained in:
Light_Quanta 2025-03-30 11:14:27 +08:00
parent 0f10031875
commit 78d98e08f6
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
8 changed files with 193 additions and 160 deletions

View file

@ -14,6 +14,9 @@ import com.atsuishio.superbwarfare.init.ModEntities;
import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModItems;
import com.atsuishio.superbwarfare.item.BatteryItem; import com.atsuishio.superbwarfare.item.BatteryItem;
import com.atsuishio.superbwarfare.item.CreativeChargingStationBlockItem; 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.minecraft.world.entity.EntityType;
import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.EventBusSubscriber; 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()) { for (var entity : ModEntities.REGISTRY.getEntries()) {
if (entity.get().getBaseClass().isAssignableFrom(EnergyVehicleEntity.class)) { if (entity.get().getBaseClass().isAssignableFrom(EnergyVehicleEntity.class)) {

View file

@ -202,7 +202,7 @@ public class AmmoBarOverlay {
); );
// 渲染弹药类型 // 渲染弹药类型
String ammoName = getGunAmmoType(stack); String ammoName = getGunAmmoTypeString(stack);
event.getGuiGraphics().drawString( event.getGuiGraphics().drawString(
Minecraft.getInstance().font, Minecraft.getInstance().font,
ammoName, ammoName,
@ -450,7 +450,8 @@ public class AmmoBarOverlay {
return ""; return "";
} }
private static String getGunAmmoType(ItemStack stack) { // TODO i18n
private static String getGunAmmoTypeString(ItemStack stack) {
if (stack.getItem() == ModItems.BOCEK.get()) { if (stack.getItem() == ModItems.BOCEK.get()) {
return "Arrow"; return "Arrow";
} }

View file

@ -3,6 +3,7 @@ package com.atsuishio.superbwarfare.datagen;
import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.init.ModBlocks; import com.atsuishio.superbwarfare.init.ModBlocks;
import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModItems;
import com.atsuishio.superbwarfare.item.common.BlueprintItem;
import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.data.PackOutput; import net.minecraft.data.PackOutput;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
@ -68,8 +69,8 @@ public class ModItemModelProvider extends ItemModelProvider {
simpleItem(ModItems.TRANSCRIPT); simpleItem(ModItems.TRANSCRIPT);
simpleItem(ModItems.RAW_SILVER); simpleItem(ModItems.RAW_SILVER);
simpleItem(ModItems.SILVER_INGOT); simpleItem(ModItems.SILVER_INGOT);
handheldItem(ModItems.CROWBAR); handheldItem(ModItems.CROWBAR.getId());
handheldItem(ModItems.DEFUSER); handheldItem(ModItems.DEFUSER.getId());
simpleItem(ModItems.FIRING_PARAMETERS); simpleItem(ModItems.FIRING_PARAMETERS);
simpleItem(ModItems.BEAM_TEST); simpleItem(ModItems.BEAM_TEST);
simpleItem(ModItems.HANDGUN_AMMO); simpleItem(ModItems.HANDGUN_AMMO);
@ -180,12 +181,12 @@ public class ModItemModelProvider extends ItemModelProvider {
modLoc("block/" + BuiltInRegistries.BLOCK.getKey(block.get()).getPath())); modLoc("block/" + BuiltInRegistries.BLOCK.getKey(block.get()).getPath()));
} }
private ItemModelBuilder gunBlueprintItem(DeferredHolder<Item, Item> item) { private ItemModelBuilder gunBlueprintItem(DeferredHolder<Item, BlueprintItem> item) {
return withExistingParent(item.getId().getPath(), ResourceLocation.withDefaultNamespace("item/generated")) return withExistingParent(item.getId().getPath(), ResourceLocation.withDefaultNamespace("item/generated"))
.texture("layer0", Mod.loc("item/gun_blueprint")); .texture("layer0", Mod.loc("item/gun_blueprint"));
} }
private ItemModelBuilder cannonBlueprintItem(DeferredHolder<Item, Item> item) { private ItemModelBuilder cannonBlueprintItem(DeferredHolder<Item, BlueprintItem> item) {
return withExistingParent(item.getId().getPath(), ResourceLocation.withDefaultNamespace("item/generated")) return withExistingParent(item.getId().getPath(), ResourceLocation.withDefaultNamespace("item/generated"))
.texture("layer0", Mod.loc("item/cannon_blueprint")); .texture("layer0", Mod.loc("item/cannon_blueprint"));
} }

View file

@ -223,7 +223,7 @@ public abstract class ContainerMobileVehicleEntity extends MobileVehicleEntity i
@Nullable @Nullable
@Override @Override
public AbstractContainerMenu createMenu(int pContainerId, Inventory pPlayerInventory, Player pPlayer) { public AbstractContainerMenu createMenu(int pContainerId, @NotNull Inventory pPlayerInventory, Player pPlayer) {
if (pPlayer.isSpectator()) { if (pPlayer.isSpectator()) {
return null; return null;
} else { } else {
@ -231,7 +231,7 @@ public abstract class ContainerMobileVehicleEntity extends MobileVehicleEntity i
} }
} }
// TODO Capability // TODO item handler Capability
// @Override // @Override
// public <T> @NotNull LazyOptional<T> getCapability(@NotNull Capability<T> capability, @Nullable Direction facing) { // public <T> @NotNull LazyOptional<T> getCapability(@NotNull Capability<T> capability, @Nullable Direction facing) {
// if (this.isAlive() && capability == ForgeCapabilities.ITEM_HANDLER) { // if (this.isAlive() && capability == ForgeCapabilities.ITEM_HANDLER) {

View file

@ -50,83 +50,83 @@ public class ModItems {
*/ */
public static final DeferredRegister<Item> GUNS = DeferredRegister.create(BuiltInRegistries.ITEM, Mod.MODID); public static final DeferredRegister<Item> GUNS = DeferredRegister.create(BuiltInRegistries.ITEM, Mod.MODID);
public static final DeferredHolder<Item, Item> TASER = GUNS.register("taser", TaserItem::new); public static final DeferredHolder<Item, TaserItem> TASER = GUNS.register("taser", TaserItem::new);
public static final DeferredHolder<Item, Item> GLOCK_17 = GUNS.register("glock_17", Glock17Item::new); public static final DeferredHolder<Item, Glock17Item> GLOCK_17 = GUNS.register("glock_17", Glock17Item::new);
public static final DeferredHolder<Item, Item> GLOCK_18 = GUNS.register("glock_18", Glock18Item::new); public static final DeferredHolder<Item, Glock18Item> GLOCK_18 = GUNS.register("glock_18", Glock18Item::new);
public static final DeferredHolder<Item, Item> MP_443 = GUNS.register("mp_443", Mp443Item::new); public static final DeferredHolder<Item, Mp443Item> MP_443 = GUNS.register("mp_443", Mp443Item::new);
public static final DeferredHolder<Item, Item> M_1911 = GUNS.register("m_1911", M1911Item::new); public static final DeferredHolder<Item, M1911Item> M_1911 = GUNS.register("m_1911", M1911Item::new);
public static final DeferredHolder<Item, Item> HOMEMADE_SHOTGUN = GUNS.register("homemade_shotgun", HomemadeShotgunItem::new); public static final DeferredHolder<Item, HomemadeShotgunItem> HOMEMADE_SHOTGUN = GUNS.register("homemade_shotgun", HomemadeShotgunItem::new);
public static final DeferredHolder<Item, Item> TRACHELIUM = GUNS.register("trachelium", Trachelium::new); public static final DeferredHolder<Item, Trachelium> TRACHELIUM = GUNS.register("trachelium", Trachelium::new);
public static final DeferredHolder<Item, VectorItem> VECTOR = GUNS.register("vector", VectorItem::new); public static final DeferredHolder<Item, VectorItem> VECTOR = GUNS.register("vector", VectorItem::new);
public static final DeferredHolder<Item, Item> AK_47 = GUNS.register("ak_47", AK47Item::new); public static final DeferredHolder<Item, AK47Item> AK_47 = GUNS.register("ak_47", AK47Item::new);
public static final DeferredHolder<Item, Item> AK_12 = GUNS.register("ak_12", AK12Item::new); public static final DeferredHolder<Item, AK12Item> AK_12 = GUNS.register("ak_12", AK12Item::new);
public static final DeferredHolder<Item, Item> SKS = GUNS.register("sks", SksItem::new); public static final DeferredHolder<Item, SksItem> SKS = GUNS.register("sks", SksItem::new);
public static final DeferredHolder<Item, Item> M_4 = GUNS.register("m_4", M4Item::new); public static final DeferredHolder<Item, M4Item> M_4 = GUNS.register("m_4", M4Item::new);
public static final DeferredHolder<Item, Item> HK_416 = GUNS.register("hk_416", Hk416Item::new); public static final DeferredHolder<Item, Hk416Item> HK_416 = GUNS.register("hk_416", Hk416Item::new);
public static final DeferredHolder<Item, Item> QBZ_95 = GUNS.register("qbz_95", Qbz95Item::new); public static final DeferredHolder<Item, Qbz95Item> QBZ_95 = GUNS.register("qbz_95", Qbz95Item::new);
public static final DeferredHolder<Item, Item> MK_14 = GUNS.register("mk_14", Mk14Item::new); public static final DeferredHolder<Item, Mk14Item> MK_14 = GUNS.register("mk_14", Mk14Item::new);
public static final DeferredHolder<Item, Item> MARLIN = GUNS.register("marlin", MarlinItem::new); public static final DeferredHolder<Item, MarlinItem> MARLIN = GUNS.register("marlin", MarlinItem::new);
public static final DeferredHolder<Item, Item> K_98 = GUNS.register("k_98", K98Item::new); public static final DeferredHolder<Item, K98Item> K_98 = GUNS.register("k_98", K98Item::new);
public static final DeferredHolder<Item, Item> MOSIN_NAGANT = GUNS.register("mosin_nagant", MosinNagantItem::new); public static final DeferredHolder<Item, MosinNagantItem> MOSIN_NAGANT = GUNS.register("mosin_nagant", MosinNagantItem::new);
public static final DeferredHolder<Item, Item> SVD = GUNS.register("svd", SvdItem::new); public static final DeferredHolder<Item, SvdItem> SVD = GUNS.register("svd", SvdItem::new);
public static final DeferredHolder<Item, Item> M_98B = GUNS.register("m_98b", M98bItem::new); public static final DeferredHolder<Item, M98bItem> M_98B = GUNS.register("m_98b", M98bItem::new);
public static final DeferredHolder<Item, Item> SENTINEL = GUNS.register("sentinel", SentinelItem::new); public static final DeferredHolder<Item, SentinelItem> SENTINEL = GUNS.register("sentinel", SentinelItem::new);
public static final DeferredHolder<Item, Item> HUNTING_RIFLE = GUNS.register("hunting_rifle", HuntingRifleItem::new); public static final DeferredHolder<Item, HuntingRifleItem> HUNTING_RIFLE = GUNS.register("hunting_rifle", HuntingRifleItem::new);
public static final DeferredHolder<Item, Item> NTW_20 = GUNS.register("ntw_20", Ntw20Item::new); public static final DeferredHolder<Item, Ntw20Item> NTW_20 = GUNS.register("ntw_20", Ntw20Item::new);
public static final DeferredHolder<Item, Item> M_870 = GUNS.register("m_870", M870Item::new); public static final DeferredHolder<Item, M870Item> M_870 = GUNS.register("m_870", M870Item::new);
public static final DeferredHolder<Item, Item> AA_12 = GUNS.register("aa_12", Aa12Item::new); public static final DeferredHolder<Item, Aa12Item> AA_12 = GUNS.register("aa_12", Aa12Item::new);
public static final DeferredHolder<Item, Item> DEVOTION = GUNS.register("devotion", DevotionItem::new); public static final DeferredHolder<Item, DevotionItem> DEVOTION = GUNS.register("devotion", DevotionItem::new);
public static final DeferredHolder<Item, Item> RPK = GUNS.register("rpk", RpkItem::new); public static final DeferredHolder<Item, RpkItem> RPK = GUNS.register("rpk", RpkItem::new);
public static final DeferredHolder<Item, Item> M_60 = GUNS.register("m_60", M60Item::new); public static final DeferredHolder<Item, M60Item> M_60 = GUNS.register("m_60", M60Item::new);
public static final DeferredHolder<Item, Item> MINIGUN = GUNS.register("minigun", MinigunItem::new); public static final DeferredHolder<Item, MinigunItem> MINIGUN = GUNS.register("minigun", MinigunItem::new);
public static final DeferredHolder<Item, Item> M_79 = GUNS.register("m_79", M79Item::new); public static final DeferredHolder<Item, M79Item> M_79 = GUNS.register("m_79", M79Item::new);
public static final DeferredHolder<Item, Item> SECONDARY_CATACLYSM = GUNS.register("secondary_cataclysm", SecondaryCataclysm::new); public static final DeferredHolder<Item, SecondaryCataclysm> SECONDARY_CATACLYSM = GUNS.register("secondary_cataclysm", SecondaryCataclysm::new);
public static final DeferredHolder<Item, Item> RPG = GUNS.register("rpg", RpgItem::new); public static final DeferredHolder<Item, RpgItem> RPG = GUNS.register("rpg", RpgItem::new);
public static final DeferredHolder<Item, Item> JAVELIN = GUNS.register("javelin", JavelinItem::new); public static final DeferredHolder<Item, JavelinItem> JAVELIN = GUNS.register("javelin", JavelinItem::new);
public static final DeferredHolder<Item, Item> BOCEK = GUNS.register("bocek", BocekItem::new); public static final DeferredHolder<Item, BocekItem> BOCEK = GUNS.register("bocek", BocekItem::new);
/** /**
* Ammo * Ammo
*/ */
public static final DeferredRegister<Item> AMMO = DeferredRegister.create(BuiltInRegistries.ITEM, Mod.MODID); public static final DeferredRegister<Item> AMMO = DeferredRegister.create(BuiltInRegistries.ITEM, Mod.MODID);
public static final DeferredHolder<Item, Item> HANDGUN_AMMO = AMMO.register("handgun_ammo", () -> new AmmoSupplierItem(AmmoType.HANDGUN, 1, new Item.Properties())); public static final DeferredHolder<Item, AmmoSupplierItem> HANDGUN_AMMO = AMMO.register("handgun_ammo", () -> new AmmoSupplierItem(AmmoType.HANDGUN, 1, new Item.Properties()));
public static final DeferredHolder<Item, Item> RIFLE_AMMO = AMMO.register("rifle_ammo", () -> new AmmoSupplierItem(AmmoType.RIFLE, 1, new Item.Properties())); public static final DeferredHolder<Item, AmmoSupplierItem> RIFLE_AMMO = AMMO.register("rifle_ammo", () -> new AmmoSupplierItem(AmmoType.RIFLE, 1, new Item.Properties()));
public static final DeferredHolder<Item, Item> SNIPER_AMMO = AMMO.register("sniper_ammo", () -> new AmmoSupplierItem(AmmoType.SNIPER, 1, new Item.Properties())); public static final DeferredHolder<Item, AmmoSupplierItem> SNIPER_AMMO = AMMO.register("sniper_ammo", () -> new AmmoSupplierItem(AmmoType.SNIPER, 1, new Item.Properties()));
public static final DeferredHolder<Item, Item> SHOTGUN_AMMO = AMMO.register("shotgun_ammo", () -> new AmmoSupplierItem(AmmoType.SHOTGUN, 1, new Item.Properties())); public static final DeferredHolder<Item, AmmoSupplierItem> SHOTGUN_AMMO = AMMO.register("shotgun_ammo", () -> new AmmoSupplierItem(AmmoType.SHOTGUN, 1, new Item.Properties()));
public static final DeferredHolder<Item, Item> HEAVY_AMMO = AMMO.register("heavy_ammo", () -> new AmmoSupplierItem(AmmoType.HEAVY, 1, new Item.Properties())); public static final DeferredHolder<Item, AmmoSupplierItem> HEAVY_AMMO = AMMO.register("heavy_ammo", () -> new AmmoSupplierItem(AmmoType.HEAVY, 1, new Item.Properties()));
public static final DeferredHolder<Item, Item> HANDGUN_AMMO_BOX = AMMO.register("handgun_ammo_box", HandgunAmmoBox::new); public static final DeferredHolder<Item, HandgunAmmoBox> HANDGUN_AMMO_BOX = AMMO.register("handgun_ammo_box", HandgunAmmoBox::new);
public static final DeferredHolder<Item, Item> RIFLE_AMMO_BOX = AMMO.register("rifle_ammo_box", RifleAmmoBox::new); public static final DeferredHolder<Item, RifleAmmoBox> RIFLE_AMMO_BOX = AMMO.register("rifle_ammo_box", RifleAmmoBox::new);
public static final DeferredHolder<Item, Item> SNIPER_AMMO_BOX = AMMO.register("sniper_ammo_box", SniperAmmoBox::new); public static final DeferredHolder<Item, SniperAmmoBox> SNIPER_AMMO_BOX = AMMO.register("sniper_ammo_box", SniperAmmoBox::new);
public static final DeferredHolder<Item, Item> SHOTGUN_AMMO_BOX = AMMO.register("shotgun_ammo_box", ShotgunAmmoBox::new); public static final DeferredHolder<Item, ShotgunAmmoBox> SHOTGUN_AMMO_BOX = AMMO.register("shotgun_ammo_box", ShotgunAmmoBox::new);
public static final DeferredHolder<Item, Item> CREATIVE_AMMO_BOX = AMMO.register("creative_ammo_box", CreativeAmmoBox::new); public static final DeferredHolder<Item, CreativeAmmoBox> CREATIVE_AMMO_BOX = AMMO.register("creative_ammo_box", CreativeAmmoBox::new);
public static final DeferredHolder<Item, Item> AMMO_BOX = AMMO.register("ammo_box", AmmoBox::new); public static final DeferredHolder<Item, AmmoBox> AMMO_BOX = AMMO.register("ammo_box", AmmoBox::new);
public static final DeferredHolder<Item, Item> TASER_ELECTRODE = AMMO.register("taser_electrode", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> TASER_ELECTRODE = AMMO.register("taser_electrode", () -> new Item(new Item.Properties()));
public static final DeferredHolder<Item, Item> GRENADE_40MM = AMMO.register("grenade_40mm", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> GRENADE_40MM = AMMO.register("grenade_40mm", () -> new Item(new Item.Properties()));
public static final DeferredHolder<Item, Item> JAVELIN_MISSILE = AMMO.register("javelin_missile", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> JAVELIN_MISSILE = AMMO.register("javelin_missile", () -> new Item(new Item.Properties()));
public static final DeferredHolder<Item, Item> MORTAR_SHELL = AMMO.register("mortar_shell", MortarShell::new); public static final DeferredHolder<Item, MortarShell> MORTAR_SHELL = AMMO.register("mortar_shell", MortarShell::new);
public static final DeferredHolder<Item, Item> POTION_MORTAR_SHELL = AMMO.register("potion_mortar_shell", PotionMortarShell::new); public static final DeferredHolder<Item, PotionMortarShell> POTION_MORTAR_SHELL = AMMO.register("potion_mortar_shell", PotionMortarShell::new);
public static final DeferredHolder<Item, Item> ROCKET = AMMO.register("rocket", Rocket::new); public static final DeferredHolder<Item, Rocket> ROCKET = AMMO.register("rocket", Rocket::new);
public static final DeferredHolder<Item, Item> LUNGE_MINE = AMMO.register("lunge_mine", LungeMine::new); public static final DeferredHolder<Item, LungeMine> LUNGE_MINE = AMMO.register("lunge_mine", LungeMine::new);
public static final DeferredHolder<Item, Item> HE_5_INCHES = AMMO.register("he_5_inches", () -> new CannonShellItem(new Item.Properties().rarity(Rarity.RARE))); public static final DeferredHolder<Item, Item> HE_5_INCHES = AMMO.register("he_5_inches", () -> new CannonShellItem(new Item.Properties().rarity(Rarity.RARE)));
public static final DeferredHolder<Item, Item> AP_5_INCHES = AMMO.register("ap_5_inches", () -> new CannonShellItem(new Item.Properties().rarity(Rarity.RARE))); public static final DeferredHolder<Item, Item> AP_5_INCHES = AMMO.register("ap_5_inches", () -> new CannonShellItem(new Item.Properties().rarity(Rarity.RARE)));
public static final DeferredHolder<Item, Item> HAND_GRENADE = AMMO.register("hand_grenade", HandGrenade::new); public static final DeferredHolder<Item, HandGrenade> HAND_GRENADE = AMMO.register("hand_grenade", HandGrenade::new);
public static final DeferredHolder<Item, Item> RGO_GRENADE = AMMO.register("rgo_grenade", RgoGrenade::new); public static final DeferredHolder<Item, RgoGrenade> RGO_GRENADE = AMMO.register("rgo_grenade", RgoGrenade::new);
public static final DeferredHolder<Item, Item> CLAYMORE_MINE = AMMO.register("claymore_mine", ClaymoreMine::new); public static final DeferredHolder<Item, ClaymoreMine> CLAYMORE_MINE = AMMO.register("claymore_mine", ClaymoreMine::new);
public static final DeferredHolder<Item, Item> C4_BOMB = AMMO.register("c4_bomb", C4Bomb::new); public static final DeferredHolder<Item, C4Bomb> C4_BOMB = AMMO.register("c4_bomb", C4Bomb::new);
public static final DeferredHolder<Item, Item> SMALL_SHELL = AMMO.register("small_shell", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> SMALL_SHELL = AMMO.register("small_shell", () -> new Item(new Item.Properties()));
public static final DeferredHolder<Item, Item> ROCKET_70 = AMMO.register("rocket_70", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> ROCKET_70 = AMMO.register("rocket_70", () -> new Item(new Item.Properties()));
public static final DeferredHolder<Item, Item> WIRE_GUIDE_MISSILE = AMMO.register("wire_guide_missile", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> WIRE_GUIDE_MISSILE = AMMO.register("wire_guide_missile", () -> new Item(new Item.Properties()));
public static final DeferredHolder<Item, Item> BEAM_TEST = AMMO.register("beam_test", BeamTest::new); public static final DeferredHolder<Item, BeamTest> BEAM_TEST = AMMO.register("beam_test", BeamTest::new);
/** /**
* items * items
*/ */
public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(Registries.ITEM, Mod.MODID); public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(Registries.ITEM, Mod.MODID);
public static final DeferredHolder<Item, Item> CONTAINER = ITEMS.register("container", ContainerBlockItem::new); public static final DeferredHolder<Item, ContainerBlockItem> CONTAINER = ITEMS.register("container", ContainerBlockItem::new);
public static final DeferredHolder<Item, Item> SMALL_CONTAINER = ITEMS.register("small_container", SmallContainerBlockItem::new); public static final DeferredHolder<Item, SmallContainerBlockItem> SMALL_CONTAINER = ITEMS.register("small_container", SmallContainerBlockItem::new);
public static final DeferredHolder<Item, Item> SENPAI_SPAWN_EGG = ITEMS.register("senpai_spawn_egg", () -> new DeferredSpawnEggItem(ModEntities.SENPAI::value, -11584987, -14014413, new Item.Properties())); public static final DeferredHolder<Item, DeferredSpawnEggItem> SENPAI_SPAWN_EGG = ITEMS.register("senpai_spawn_egg", () -> new DeferredSpawnEggItem(ModEntities.SENPAI::value, -11584987, -14014413, new Item.Properties()));
public static final DeferredHolder<Item, Item> ANCIENT_CPU = ITEMS.register("ancient_cpu", () -> new Item(new Item.Properties().rarity(Rarity.RARE))); public static final DeferredHolder<Item, Item> ANCIENT_CPU = ITEMS.register("ancient_cpu", () -> new Item(new Item.Properties().rarity(Rarity.RARE)));
public static final DeferredHolder<Item, Item> PROPELLER = ITEMS.register("propeller", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> PROPELLER = ITEMS.register("propeller", () -> new Item(new Item.Properties()));
public static final DeferredHolder<Item, Item> LARGE_PROPELLER = ITEMS.register("large_propeller", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> LARGE_PROPELLER = ITEMS.register("large_propeller", () -> new Item(new Item.Properties()));
@ -134,24 +134,24 @@ public class ModItems {
public static final DeferredHolder<Item, Item> LARGE_MOTOR = ITEMS.register("large_motor", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> LARGE_MOTOR = ITEMS.register("large_motor", () -> new Item(new Item.Properties()));
public static final DeferredHolder<Item, Item> WHEEL = ITEMS.register("wheel", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> WHEEL = ITEMS.register("wheel", () -> new Item(new Item.Properties()));
public static final DeferredHolder<Item, Item> TRACK = ITEMS.register("track", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> TRACK = ITEMS.register("track", () -> new Item(new Item.Properties()));
public static final DeferredHolder<Item, Item> DRONE = ITEMS.register("drone", Drone::new); public static final DeferredHolder<Item, Drone> DRONE = ITEMS.register("drone", Drone::new);
public static final DeferredHolder<Item, Item> MONITOR = ITEMS.register("monitor", Monitor::new); public static final DeferredHolder<Item, Monitor> MONITOR = ITEMS.register("monitor", Monitor::new);
public static final DeferredHolder<Item, Item> DETONATOR = ITEMS.register("detonator", Detonator::new); public static final DeferredHolder<Item, Detonator> DETONATOR = ITEMS.register("detonator", Detonator::new);
public static final DeferredHolder<Item, Item> TARGET_DEPLOYER = ITEMS.register("target_deployer", TargetDeployer::new); public static final DeferredHolder<Item, TargetDeployer> TARGET_DEPLOYER = ITEMS.register("target_deployer", TargetDeployer::new);
public static final DeferredHolder<Item, Item> KNIFE = ITEMS.register("knife", Knife::new); public static final DeferredHolder<Item, Knife> KNIFE = ITEMS.register("knife", Knife::new);
public static final DeferredHolder<Item, Item> HAMMER = ITEMS.register("hammer", Hammer::new); public static final DeferredHolder<Item, Hammer> HAMMER = ITEMS.register("hammer", Hammer::new);
public static final DeferredHolder<Item, Item> CROWBAR = ITEMS.register("crowbar", Crowbar::new); public static final DeferredHolder<Item, Crowbar> CROWBAR = ITEMS.register("crowbar", Crowbar::new);
public static final DeferredHolder<Item, Item> DEFUSER = ITEMS.register("defuser", Defuser::new); public static final DeferredHolder<Item, Defuser> DEFUSER = ITEMS.register("defuser", Defuser::new);
public static final DeferredHolder<Item, Item> ARMOR_PLATE = ITEMS.register("armor_plate", ArmorPlate::new); public static final DeferredHolder<Item, ArmorPlate> ARMOR_PLATE = ITEMS.register("armor_plate", ArmorPlate::new);
public static final DeferredHolder<Item, Item> RU_HELMET_6B47 = ITEMS.register("ru_helmet_6b47", RuHelmet6b47::new); public static final DeferredHolder<Item, RuHelmet6b47> RU_HELMET_6B47 = ITEMS.register("ru_helmet_6b47", RuHelmet6b47::new);
public static final DeferredHolder<Item, Item> RU_CHEST_6B43 = ITEMS.register("ru_chest_6b43", RuChest6b43::new); public static final DeferredHolder<Item, RuChest6b43> RU_CHEST_6B43 = ITEMS.register("ru_chest_6b43", RuChest6b43::new);
public static final DeferredHolder<Item, Item> US_HELMET_PASTG = ITEMS.register("us_helmet_pastg", UsHelmetPastg::new); public static final DeferredHolder<Item, UsHelmetPastg> US_HELMET_PASTG = ITEMS.register("us_helmet_pastg", UsHelmetPastg::new);
public static final DeferredHolder<Item, Item> US_CHEST_IOTV = ITEMS.register("us_chest_iotv", UsChestIotv::new); public static final DeferredHolder<Item, UsChestIotv> US_CHEST_IOTV = ITEMS.register("us_chest_iotv", UsChestIotv::new);
public static final DeferredHolder<Item, Item> GE_HELMET_M_35 = ITEMS.register("ge_helmet_m_35", GeHelmetM35::new); public static final DeferredHolder<Item, GeHelmetM35> GE_HELMET_M_35 = ITEMS.register("ge_helmet_m_35", GeHelmetM35::new);
public static final DeferredHolder<Item, Item> MORTAR_DEPLOYER = ITEMS.register("mortar_deployer", MortarDeployer::new); public static final DeferredHolder<Item, MortarDeployer> MORTAR_DEPLOYER = ITEMS.register("mortar_deployer", MortarDeployer::new);
public static final DeferredHolder<Item, Item> MORTAR_BARREL = ITEMS.register("mortar_barrel", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> MORTAR_BARREL = ITEMS.register("mortar_barrel", () -> new Item(new Item.Properties()));
public static final DeferredHolder<Item, Item> MORTAR_BASE_PLATE = ITEMS.register("mortar_base_plate", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> MORTAR_BASE_PLATE = ITEMS.register("mortar_base_plate", () -> new Item(new Item.Properties()));
public static final DeferredHolder<Item, Item> MORTAR_BIPOD = ITEMS.register("mortar_bipod", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> MORTAR_BIPOD = ITEMS.register("mortar_bipod", () -> new Item(new Item.Properties()));
@ -178,13 +178,13 @@ public class ModItems {
public static final DeferredHolder<Item, Item> GALENA = ITEMS.register("galena", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> GALENA = ITEMS.register("galena", () -> new Item(new Item.Properties()));
public static final DeferredHolder<Item, Item> SCHEELITE = ITEMS.register("scheelite", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> SCHEELITE = ITEMS.register("scheelite", () -> new Item(new Item.Properties()));
public static final DeferredHolder<Item, Item> RAW_SILVER = ITEMS.register("raw_silver", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> RAW_SILVER = ITEMS.register("raw_silver", () -> new Item(new Item.Properties()));
public static final DeferredHolder<Item, Item> DOG_TAG = ITEMS.register("dog_tag", DogTag::new); public static final DeferredHolder<Item, DogTag> DOG_TAG = ITEMS.register("dog_tag", DogTag::new);
public static final DeferredHolder<Item, Item> CELL = ITEMS.register("cell", () -> new BatteryItem(24000, new Item.Properties())); public static final DeferredHolder<Item, BatteryItem> CELL = ITEMS.register("cell", () -> new BatteryItem(24000, new Item.Properties()));
public static final DeferredHolder<Item, Item> BATTERY = ITEMS.register("battery", () -> new BatteryItem(100000, new Item.Properties())); public static final DeferredHolder<Item, BatteryItem> BATTERY = ITEMS.register("battery", () -> new BatteryItem(100000, new Item.Properties()));
public static final DeferredHolder<Item, Item> SMALL_BATTERY_PACK = ITEMS.register("small_battery_pack", () -> new BatteryItem(500000, new Item.Properties())); public static final DeferredHolder<Item, BatteryItem> SMALL_BATTERY_PACK = ITEMS.register("small_battery_pack", () -> new BatteryItem(500000, new Item.Properties()));
public static final DeferredHolder<Item, Item> MEDIUM_BATTERY_PACK = ITEMS.register("medium_battery_pack", () -> new BatteryItem(5000000, new Item.Properties())); public static final DeferredHolder<Item, BatteryItem> MEDIUM_BATTERY_PACK = ITEMS.register("medium_battery_pack", () -> new BatteryItem(5000000, new Item.Properties()));
public static final DeferredHolder<Item, Item> LARGE_BATTERY_PACK = ITEMS.register("large_battery_pack", () -> new BatteryItem(20000000, new Item.Properties())); public static final DeferredHolder<Item, BatteryItem> LARGE_BATTERY_PACK = ITEMS.register("large_battery_pack", () -> new BatteryItem(20000000, new Item.Properties()));
public static final DeferredHolder<Item, Item> TRANSCRIPT = ITEMS.register("transcript", Transcript::new); public static final DeferredHolder<Item, Transcript> TRANSCRIPT = ITEMS.register("transcript", Transcript::new);
public static final DeferredHolder<Item, FiringParameters> FIRING_PARAMETERS = ITEMS.register("firing_parameters", FiringParameters::new); public static final DeferredHolder<Item, FiringParameters> FIRING_PARAMETERS = ITEMS.register("firing_parameters", FiringParameters::new);
public static final DeferredHolder<Item, Item> TUNGSTEN_ROD = ITEMS.register("tungsten_rod", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> TUNGSTEN_ROD = ITEMS.register("tungsten_rod", () -> new Item(new Item.Properties()));
@ -205,48 +205,48 @@ public class ModItems {
public static final DeferredHolder<Item, Item> NETHERITE_TRIGGER = ITEMS.register("netherite_trigger", () -> new Item(new Item.Properties().rarity(ModRarity.getLegendary()))); public static final DeferredHolder<Item, Item> NETHERITE_TRIGGER = ITEMS.register("netherite_trigger", () -> new Item(new Item.Properties().rarity(ModRarity.getLegendary())));
public static final DeferredHolder<Item, Item> NETHERITE_SPRING = ITEMS.register("netherite_spring", () -> new Item(new Item.Properties().rarity(ModRarity.getLegendary()))); public static final DeferredHolder<Item, Item> NETHERITE_SPRING = ITEMS.register("netherite_spring", () -> new Item(new Item.Properties().rarity(ModRarity.getLegendary())));
public static final DeferredHolder<Item, Item> COMMON_MATERIAL_PACK = ITEMS.register("common_material_pack", () -> new MaterialPack(Rarity.COMMON)); public static final DeferredHolder<Item, MaterialPack> COMMON_MATERIAL_PACK = ITEMS.register("common_material_pack", () -> new MaterialPack(Rarity.COMMON));
public static final DeferredHolder<Item, Item> RARE_MATERIAL_PACK = ITEMS.register("rare_material_pack", () -> new MaterialPack(Rarity.RARE)); public static final DeferredHolder<Item, MaterialPack> RARE_MATERIAL_PACK = ITEMS.register("rare_material_pack", () -> new MaterialPack(Rarity.RARE));
public static final DeferredHolder<Item, Item> EPIC_MATERIAL_PACK = ITEMS.register("epic_material_pack", () -> new MaterialPack(Rarity.EPIC)); public static final DeferredHolder<Item, MaterialPack> EPIC_MATERIAL_PACK = ITEMS.register("epic_material_pack", () -> new MaterialPack(Rarity.EPIC));
public static final DeferredHolder<Item, Item> LEGENDARY_MATERIAL_PACK = ITEMS.register("legendary_material_pack", () -> new MaterialPack(ModRarity.getLegendary())); public static final DeferredHolder<Item, MaterialPack> LEGENDARY_MATERIAL_PACK = ITEMS.register("legendary_material_pack", () -> new MaterialPack(ModRarity.getLegendary()));
public static final DeferredHolder<Item, Item> TRACHELIUM_BLUEPRINT = ITEMS.register("trachelium_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final DeferredHolder<Item, BlueprintItem> TRACHELIUM_BLUEPRINT = ITEMS.register("trachelium_blueprint", () -> new BlueprintItem(Rarity.EPIC));
public static final DeferredHolder<Item, Item> GLOCK_17_BLUEPRINT = ITEMS.register("glock_17_blueprint", () -> new BlueprintItem(Rarity.COMMON)); public static final DeferredHolder<Item, BlueprintItem> GLOCK_17_BLUEPRINT = ITEMS.register("glock_17_blueprint", () -> new BlueprintItem(Rarity.COMMON));
public static final DeferredHolder<Item, Item> MP_443_BLUEPRINT = ITEMS.register("mp_443_blueprint", () -> new BlueprintItem(Rarity.COMMON)); public static final DeferredHolder<Item, BlueprintItem> MP_443_BLUEPRINT = ITEMS.register("mp_443_blueprint", () -> new BlueprintItem(Rarity.COMMON));
public static final DeferredHolder<Item, Item> GLOCK_18_BLUEPRINT = ITEMS.register("glock_18_blueprint", () -> new BlueprintItem(Rarity.RARE)); public static final DeferredHolder<Item, BlueprintItem> GLOCK_18_BLUEPRINT = ITEMS.register("glock_18_blueprint", () -> new BlueprintItem(Rarity.RARE));
public static final DeferredHolder<Item, Item> HUNTING_RIFLE_BLUEPRINT = ITEMS.register("hunting_rifle_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final DeferredHolder<Item, BlueprintItem> HUNTING_RIFLE_BLUEPRINT = ITEMS.register("hunting_rifle_blueprint", () -> new BlueprintItem(Rarity.EPIC));
public static final DeferredHolder<Item, Item> M_79_BLUEPRINT = ITEMS.register("m_79_blueprint", () -> new BlueprintItem(Rarity.RARE)); public static final DeferredHolder<Item, BlueprintItem> M_79_BLUEPRINT = ITEMS.register("m_79_blueprint", () -> new BlueprintItem(Rarity.RARE));
public static final DeferredHolder<Item, Item> RPG_BLUEPRINT = ITEMS.register("rpg_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final DeferredHolder<Item, BlueprintItem> RPG_BLUEPRINT = ITEMS.register("rpg_blueprint", () -> new BlueprintItem(Rarity.EPIC));
public static final DeferredHolder<Item, Item> BOCEK_BLUEPRINT = ITEMS.register("bocek_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final DeferredHolder<Item, BlueprintItem> BOCEK_BLUEPRINT = ITEMS.register("bocek_blueprint", () -> new BlueprintItem(Rarity.EPIC));
public static final DeferredHolder<Item, Item> M_4_BLUEPRINT = ITEMS.register("m_4_blueprint", () -> new BlueprintItem(Rarity.RARE)); public static final DeferredHolder<Item, BlueprintItem> M_4_BLUEPRINT = ITEMS.register("m_4_blueprint", () -> new BlueprintItem(Rarity.RARE));
public static final DeferredHolder<Item, Item> AA_12_BLUEPRINT = ITEMS.register("aa_12_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); public static final DeferredHolder<Item, BlueprintItem> AA_12_BLUEPRINT = ITEMS.register("aa_12_blueprint", () -> new BlueprintItem(ModRarity.getLegendary()));
public static final DeferredHolder<Item, Item> HK_416_BLUEPRINT = ITEMS.register("hk_416_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final DeferredHolder<Item, BlueprintItem> HK_416_BLUEPRINT = ITEMS.register("hk_416_blueprint", () -> new BlueprintItem(Rarity.EPIC));
public static final DeferredHolder<Item, Item> RPK_BLUEPRINT = ITEMS.register("rpk_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final DeferredHolder<Item, BlueprintItem> RPK_BLUEPRINT = ITEMS.register("rpk_blueprint", () -> new BlueprintItem(Rarity.EPIC));
public static final DeferredHolder<Item, Item> SKS_BLUEPRINT = ITEMS.register("sks_blueprint", () -> new BlueprintItem(Rarity.RARE)); public static final DeferredHolder<Item, BlueprintItem> SKS_BLUEPRINT = ITEMS.register("sks_blueprint", () -> new BlueprintItem(Rarity.RARE));
public static final DeferredHolder<Item, Item> NTW_20_BLUEPRINT = ITEMS.register("ntw_20_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); public static final DeferredHolder<Item, BlueprintItem> NTW_20_BLUEPRINT = ITEMS.register("ntw_20_blueprint", () -> new BlueprintItem(ModRarity.getLegendary()));
public static final DeferredHolder<Item, Item> VECTOR_BLUEPRINT = ITEMS.register("vector_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final DeferredHolder<Item, BlueprintItem> VECTOR_BLUEPRINT = ITEMS.register("vector_blueprint", () -> new BlueprintItem(Rarity.EPIC));
public static final DeferredHolder<Item, Item> MINIGUN_BLUEPRINT = ITEMS.register("minigun_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); public static final DeferredHolder<Item, BlueprintItem> MINIGUN_BLUEPRINT = ITEMS.register("minigun_blueprint", () -> new BlueprintItem(ModRarity.getLegendary()));
public static final DeferredHolder<Item, Item> MK_14_BLUEPRINT = ITEMS.register("mk_14_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final DeferredHolder<Item, BlueprintItem> MK_14_BLUEPRINT = ITEMS.register("mk_14_blueprint", () -> new BlueprintItem(Rarity.EPIC));
public static final DeferredHolder<Item, Item> SENTINEL_BLUEPRINT = ITEMS.register("sentinel_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); public static final DeferredHolder<Item, BlueprintItem> SENTINEL_BLUEPRINT = ITEMS.register("sentinel_blueprint", () -> new BlueprintItem(ModRarity.getLegendary()));
public static final DeferredHolder<Item, Item> M_60_BLUEPRINT = ITEMS.register("m_60_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final DeferredHolder<Item, BlueprintItem> M_60_BLUEPRINT = ITEMS.register("m_60_blueprint", () -> new BlueprintItem(Rarity.EPIC));
public static final DeferredHolder<Item, Item> SVD_BLUEPRINT = ITEMS.register("svd_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final DeferredHolder<Item, BlueprintItem> SVD_BLUEPRINT = ITEMS.register("svd_blueprint", () -> new BlueprintItem(Rarity.EPIC));
public static final DeferredHolder<Item, Item> MARLIN_BLUEPRINT = ITEMS.register("marlin_blueprint", () -> new BlueprintItem(Rarity.COMMON)); public static final DeferredHolder<Item, BlueprintItem> MARLIN_BLUEPRINT = ITEMS.register("marlin_blueprint", () -> new BlueprintItem(Rarity.COMMON));
public static final DeferredHolder<Item, Item> M_870_BLUEPRINT = ITEMS.register("m_870_blueprint", () -> new BlueprintItem(Rarity.RARE)); public static final DeferredHolder<Item, BlueprintItem> M_870_BLUEPRINT = ITEMS.register("m_870_blueprint", () -> new BlueprintItem(Rarity.RARE));
public static final DeferredHolder<Item, Item> M_98B_BLUEPRINT = ITEMS.register("m_98b_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final DeferredHolder<Item, BlueprintItem> M_98B_BLUEPRINT = ITEMS.register("m_98b_blueprint", () -> new BlueprintItem(Rarity.EPIC));
public static final DeferredHolder<Item, Item> AK_47_BLUEPRINT = ITEMS.register("ak_47_blueprint", () -> new BlueprintItem(Rarity.RARE)); public static final DeferredHolder<Item, BlueprintItem> AK_47_BLUEPRINT = ITEMS.register("ak_47_blueprint", () -> new BlueprintItem(Rarity.RARE));
public static final DeferredHolder<Item, Item> AK_12_BLUEPRINT = ITEMS.register("ak_12_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final DeferredHolder<Item, BlueprintItem> AK_12_BLUEPRINT = ITEMS.register("ak_12_blueprint", () -> new BlueprintItem(Rarity.EPIC));
public static final DeferredHolder<Item, Item> DEVOTION_BLUEPRINT = ITEMS.register("devotion_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final DeferredHolder<Item, BlueprintItem> DEVOTION_BLUEPRINT = ITEMS.register("devotion_blueprint", () -> new BlueprintItem(Rarity.EPIC));
public static final DeferredHolder<Item, Item> TASER_BLUEPRINT = ITEMS.register("taser_blueprint", () -> new BlueprintItem(Rarity.COMMON)); public static final DeferredHolder<Item, BlueprintItem> TASER_BLUEPRINT = ITEMS.register("taser_blueprint", () -> new BlueprintItem(Rarity.COMMON));
public static final DeferredHolder<Item, Item> M_1911_BLUEPRINT = ITEMS.register("m_1911_blueprint", () -> new BlueprintItem(Rarity.COMMON)); public static final DeferredHolder<Item, BlueprintItem> M_1911_BLUEPRINT = ITEMS.register("m_1911_blueprint", () -> new BlueprintItem(Rarity.COMMON));
public static final DeferredHolder<Item, Item> QBZ_95_BLUEPRINT = ITEMS.register("qbz_95_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final DeferredHolder<Item, BlueprintItem> QBZ_95_BLUEPRINT = ITEMS.register("qbz_95_blueprint", () -> new BlueprintItem(Rarity.EPIC));
public static final DeferredHolder<Item, Item> K_98_BLUEPRINT = ITEMS.register("k_98_blueprint", () -> new BlueprintItem(Rarity.RARE)); public static final DeferredHolder<Item, BlueprintItem> K_98_BLUEPRINT = ITEMS.register("k_98_blueprint", () -> new BlueprintItem(Rarity.RARE));
public static final DeferredHolder<Item, Item> MOSIN_NAGANT_BLUEPRINT = ITEMS.register("mosin_nagant_blueprint", () -> new BlueprintItem(Rarity.RARE)); public static final DeferredHolder<Item, BlueprintItem> MOSIN_NAGANT_BLUEPRINT = ITEMS.register("mosin_nagant_blueprint", () -> new BlueprintItem(Rarity.RARE));
public static final DeferredHolder<Item, Item> JAVELIN_BLUEPRINT = ITEMS.register("javelin_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); public static final DeferredHolder<Item, BlueprintItem> JAVELIN_BLUEPRINT = ITEMS.register("javelin_blueprint", () -> new BlueprintItem(ModRarity.getLegendary()));
public static final DeferredHolder<Item, Item> M_2_HB_BLUEPRINT = ITEMS.register("m2hb_blueprint", () -> new BlueprintItem(Rarity.RARE)); public static final DeferredHolder<Item, BlueprintItem> M_2_HB_BLUEPRINT = ITEMS.register("m2hb_blueprint", () -> new BlueprintItem(Rarity.RARE));
public static final DeferredHolder<Item, Item> SECONDARY_CATACLYSM_BLUEPRINT = ITEMS.register("secondary_cataclysm_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); public static final DeferredHolder<Item, BlueprintItem> SECONDARY_CATACLYSM_BLUEPRINT = ITEMS.register("secondary_cataclysm_blueprint", () -> new BlueprintItem(ModRarity.getLegendary()));
public static final DeferredHolder<Item, Item> MK_42_BLUEPRINT = ITEMS.register("mk_42_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); public static final DeferredHolder<Item, BlueprintItem> MK_42_BLUEPRINT = ITEMS.register("mk_42_blueprint", () -> new BlueprintItem(ModRarity.getLegendary()));
public static final DeferredHolder<Item, Item> MLE_1934_BLUEPRINT = ITEMS.register("mle_1934_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); public static final DeferredHolder<Item, BlueprintItem> MLE_1934_BLUEPRINT = ITEMS.register("mle_1934_blueprint", () -> new BlueprintItem(ModRarity.getLegendary()));
public static final DeferredHolder<Item, Item> ANNIHILATOR_BLUEPRINT = ITEMS.register("annihilator_blueprint", () -> new BlueprintItem(ModRarity.getLegendary())); public static final DeferredHolder<Item, BlueprintItem> ANNIHILATOR_BLUEPRINT = ITEMS.register("annihilator_blueprint", () -> new BlueprintItem(ModRarity.getLegendary()));
public static final DeferredHolder<Item, Item> LIGHT_ARMAMENT_MODULE = ITEMS.register("light_armament_module", () -> new Item(new Item.Properties().rarity(Rarity.RARE))); public static final DeferredHolder<Item, Item> LIGHT_ARMAMENT_MODULE = ITEMS.register("light_armament_module", () -> new Item(new Item.Properties().rarity(Rarity.RARE)));
public static final DeferredHolder<Item, Item> MEDIUM_ARMAMENT_MODULE = ITEMS.register("medium_armament_module", () -> new Item(new Item.Properties().rarity(Rarity.EPIC))); public static final DeferredHolder<Item, Item> 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<Item> BLOCKS = DeferredRegister.create(BuiltInRegistries.ITEM, Mod.MODID); public static final DeferredRegister<Item> BLOCKS = DeferredRegister.create(BuiltInRegistries.ITEM, Mod.MODID);
public static final DeferredHolder<Item, Item> GALENA_ORE = block(ModBlocks.GALENA_ORE); public static final DeferredHolder<Item, BlockItem> GALENA_ORE = block(ModBlocks.GALENA_ORE);
public static final DeferredHolder<Item, Item> DEEPSLATE_GALENA_ORE = block(ModBlocks.DEEPSLATE_GALENA_ORE); public static final DeferredHolder<Item, BlockItem> DEEPSLATE_GALENA_ORE = block(ModBlocks.DEEPSLATE_GALENA_ORE);
public static final DeferredHolder<Item, Item> SCHEELITE_ORE = block(ModBlocks.SCHEELITE_ORE); public static final DeferredHolder<Item, BlockItem> SCHEELITE_ORE = block(ModBlocks.SCHEELITE_ORE);
public static final DeferredHolder<Item, Item> DEEPSLATE_SCHEELITE_ORE = block(ModBlocks.DEEPSLATE_SCHEELITE_ORE); public static final DeferredHolder<Item, BlockItem> DEEPSLATE_SCHEELITE_ORE = block(ModBlocks.DEEPSLATE_SCHEELITE_ORE);
public static final DeferredHolder<Item, Item> SILVER_ORE = block(ModBlocks.SILVER_ORE); public static final DeferredHolder<Item, BlockItem> SILVER_ORE = block(ModBlocks.SILVER_ORE);
public static final DeferredHolder<Item, Item> DEEPSLATE_SILVER_ORE = block(ModBlocks.DEEPSLATE_SILVER_ORE); public static final DeferredHolder<Item, BlockItem> DEEPSLATE_SILVER_ORE = block(ModBlocks.DEEPSLATE_SILVER_ORE);
public static final DeferredHolder<Item, Item> JUMP_PAD = block(ModBlocks.JUMP_PAD); public static final DeferredHolder<Item, BlockItem> JUMP_PAD = block(ModBlocks.JUMP_PAD);
public static final DeferredHolder<Item, Item> SANDBAG = block(ModBlocks.SANDBAG); public static final DeferredHolder<Item, BlockItem> SANDBAG = block(ModBlocks.SANDBAG);
public static final DeferredHolder<Item, Item> BARBED_WIRE = block(ModBlocks.BARBED_WIRE); public static final DeferredHolder<Item, BlockItem> BARBED_WIRE = block(ModBlocks.BARBED_WIRE);
public static final DeferredHolder<Item, Item> DRAGON_TEETH = block(ModBlocks.DRAGON_TEETH); public static final DeferredHolder<Item, BlockItem> DRAGON_TEETH = block(ModBlocks.DRAGON_TEETH);
public static final DeferredHolder<Item, Item> REFORGING_TABLE = block(ModBlocks.REFORGING_TABLE); public static final DeferredHolder<Item, BlockItem> REFORGING_TABLE = block(ModBlocks.REFORGING_TABLE);
public static final DeferredHolder<Item, CreativeChargingStationBlockItem> CREATIVE_CHARGING_STATION = BLOCKS.register("creative_charging_station", CreativeChargingStationBlockItem::new); public static final DeferredHolder<Item, CreativeChargingStationBlockItem> CREATIVE_CHARGING_STATION = BLOCKS.register("creative_charging_station", CreativeChargingStationBlockItem::new);
public static final DeferredHolder<Item, ChargingStationBlockItem> CHARGING_STATION = BLOCKS.register("charging_station", ChargingStationBlockItem::new); public static final DeferredHolder<Item, ChargingStationBlockItem> CHARGING_STATION = BLOCKS.register("charging_station", ChargingStationBlockItem::new);
public static final DeferredHolder<Item, Item> LEAD_BLOCK = block(ModBlocks.LEAD_BLOCK); public static final DeferredHolder<Item, BlockItem> LEAD_BLOCK = block(ModBlocks.LEAD_BLOCK);
public static final DeferredHolder<Item, Item> STEEL_BLOCK = block(ModBlocks.STEEL_BLOCK); public static final DeferredHolder<Item, BlockItem> STEEL_BLOCK = block(ModBlocks.STEEL_BLOCK);
public static final DeferredHolder<Item, Item> TUNGSTEN_BLOCK = block(ModBlocks.TUNGSTEN_BLOCK); public static final DeferredHolder<Item, BlockItem> TUNGSTEN_BLOCK = block(ModBlocks.TUNGSTEN_BLOCK);
public static final DeferredHolder<Item, Item> SILVER_BLOCK = block(ModBlocks.SILVER_BLOCK); public static final DeferredHolder<Item, BlockItem> SILVER_BLOCK = block(ModBlocks.SILVER_BLOCK);
public static final DeferredHolder<Item, Item> CEMENTED_CARBIDE_BLOCK = block(ModBlocks.CEMENTED_CARBIDE_BLOCK); public static final DeferredHolder<Item, BlockItem> CEMENTED_CARBIDE_BLOCK = block(ModBlocks.CEMENTED_CARBIDE_BLOCK);
public static final DeferredHolder<Item, Item> FUMO_25 = block(ModBlocks.FUMO_25); public static final DeferredHolder<Item, BlockItem> FUMO_25 = block(ModBlocks.FUMO_25);
/** /**
* Perk Items * Perk Items
@ -289,14 +289,14 @@ public class ModItems {
ModPerks.DAMAGE_PERKS.getEntries().forEach(registryObject -> PERKS.register(registryObject.getId().getPath(), () -> new PerkItem<>(registryObject))); ModPerks.DAMAGE_PERKS.getEntries().forEach(registryObject -> PERKS.register(registryObject.getId().getPath(), () -> new PerkItem<>(registryObject)));
} }
public static final DeferredHolder<Item, Item> SHORTCUT_PACK = PERKS.register("shortcut_pack", ShortcutPack::new); public static final DeferredHolder<Item, ShortcutPack> SHORTCUT_PACK = PERKS.register("shortcut_pack", ShortcutPack::new);
public static final DeferredHolder<Item, Item> EMPTY_PERK = PERKS.register("empty_perk", () -> new Item(new Item.Properties())); public static final DeferredHolder<Item, Item> EMPTY_PERK = PERKS.register("empty_perk", () -> new Item(new Item.Properties()));
/** /**
* 单独注册用于Tab图标不要删 * 单独注册用于Tab图标不要删
*/ */
public static final DeferredHolder<Item, Item> AP_BULLET = PERKS.register("ap_bullet", () -> new PerkItem<>(ModPerks.AP_BULLET)); public static final DeferredHolder<Item, Item> AP_BULLET = PERKS.register("ap_bullet", () -> new PerkItem<>(ModPerks.AP_BULLET));
private static DeferredHolder<Item, Item> block(DeferredHolder<Block, Block> block) { private static DeferredHolder<Item, BlockItem> block(DeferredHolder<Block, Block> block) {
return BLOCKS.register(block.getId().getPath(), () -> new BlockItem(block.get(), new Item.Properties())); return BLOCKS.register(block.getId().getPath(), () -> new BlockItem(block.get(), new Item.Properties()));
} }

View file

@ -32,6 +32,8 @@ import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.neoforged.neoforge.capabilities.Capabilities; 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 net.neoforged.neoforge.network.PacketDistributor;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
@ -42,10 +44,13 @@ import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.ParametersAreNonnullByDefault; import javax.annotation.ParametersAreNonnullByDefault;
import java.util.Optional; import java.util.Optional;
import java.util.function.Supplier;
public class SecondaryCataclysm extends GunItem implements GeoItem, SpecialFireWeapon { public class SecondaryCataclysm extends GunItem implements GeoItem, SpecialFireWeapon {
private final Supplier<Integer> energyCapacity = () -> 24000; private final IEnergyStorage energyStorage = new EnergyStorage(24000);
public IEnergyStorage getEnergyStorage() {
return energyStorage;
}
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType; public static ItemDisplayContext transformType;

View file

@ -24,6 +24,8 @@ import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.neoforged.neoforge.capabilities.Capabilities; import net.neoforged.neoforge.capabilities.Capabilities;
import net.neoforged.neoforge.energy.EnergyStorage;
import net.neoforged.neoforge.energy.IEnergyStorage;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache; import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
@ -34,11 +36,14 @@ import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.ParametersAreNonnullByDefault; import javax.annotation.ParametersAreNonnullByDefault;
import java.util.Optional; import java.util.Optional;
import java.util.Set; import java.util.Set;
import java.util.function.Supplier;
public class SentinelItem extends GunItem implements GeoItem { public class SentinelItem extends GunItem implements GeoItem {
private final Supplier<Integer> energyCapacity; public IEnergyStorage getEnergyStorage() {
return energyStorage;
}
private final IEnergyStorage energyStorage;
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType; public static ItemDisplayContext transformType;
@ -46,7 +51,7 @@ public class SentinelItem extends GunItem implements GeoItem {
public SentinelItem() { public SentinelItem() {
super(new Properties().stacksTo(1).rarity(ModRarity.getLegendary())); super(new Properties().stacksTo(1).rarity(ModRarity.getLegendary()));
this.energyCapacity = () -> 24000; this.energyStorage = new EnergyStorage(24000);
} }
@Override @Override
@ -62,12 +67,6 @@ public class SentinelItem extends GunItem implements GeoItem {
return Math.round((float) (cap != null ? cap.getEnergyStored() : 0) * 13.0F / 24000F); 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 @Override
public int getBarColor(@NotNull ItemStack pStack) { public int getBarColor(@NotNull ItemStack pStack) {
return 0x95E9FF; return 0x95E9FF;

View file

@ -34,6 +34,8 @@ import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity; import net.minecraft.world.item.Rarity;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.neoforged.neoforge.capabilities.Capabilities; 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 net.neoforged.neoforge.network.PacketDistributor;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
@ -45,7 +47,6 @@ import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.ParametersAreNonnullByDefault; import javax.annotation.ParametersAreNonnullByDefault;
import java.util.Optional; import java.util.Optional;
import java.util.Set; import java.util.Set;
import java.util.function.Supplier;
public class TaserItem extends GunItem implements GeoItem, SpecialFireWeapon { 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); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public static ItemDisplayContext transformType; public static ItemDisplayContext transformType;
private final Supplier<Integer> energyCapacity;
public IEnergyStorage getEnergyStorage() {
return energyStorage;
}
private final IEnergyStorage energyStorage;
public TaserItem() { public TaserItem() {
super(new Properties().stacksTo(1).rarity(Rarity.COMMON)); super(new Properties().stacksTo(1).rarity(Rarity.COMMON));
this.energyCapacity = () -> MAX_ENERGY; this.energyStorage = new EnergyStorage(MAX_ENERGY);
} }
@Override @Override