package com.atsuishio.superbwarfare.init; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.item.*; import com.atsuishio.superbwarfare.item.armor.*; import com.atsuishio.superbwarfare.item.common.BlueprintItem; import com.atsuishio.superbwarfare.item.common.MaterialPack; import com.atsuishio.superbwarfare.item.common.ammo.*; import com.atsuishio.superbwarfare.item.gun.handgun.Glock17Item; import com.atsuishio.superbwarfare.item.gun.handgun.Glock18Item; import com.atsuishio.superbwarfare.item.gun.handgun.M1911Item; import com.atsuishio.superbwarfare.item.gun.handgun.Trachelium; import com.atsuishio.superbwarfare.item.gun.launcher.JavelinItem; import com.atsuishio.superbwarfare.item.gun.launcher.M79Item; import com.atsuishio.superbwarfare.item.gun.launcher.RpgItem; import com.atsuishio.superbwarfare.item.gun.machinegun.DevotionItem; import com.atsuishio.superbwarfare.item.gun.machinegun.M60Item; import com.atsuishio.superbwarfare.item.gun.machinegun.MinigunItem; import com.atsuishio.superbwarfare.item.gun.machinegun.RpkItem; import com.atsuishio.superbwarfare.item.gun.rifle.*; import com.atsuishio.superbwarfare.item.gun.shotgun.Aa12Item; import com.atsuishio.superbwarfare.item.gun.shotgun.AbekiriItem; import com.atsuishio.superbwarfare.item.gun.shotgun.M870Item; import com.atsuishio.superbwarfare.item.gun.smg.VectorItem; import com.atsuishio.superbwarfare.item.gun.sniper.*; import com.atsuishio.superbwarfare.item.gun.special.BocekItem; import com.atsuishio.superbwarfare.item.gun.special.TaserItem; import com.atsuishio.superbwarfare.tools.RarityTool; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; import net.minecraft.world.item.Rarity; import net.minecraft.world.level.block.Block; import net.minecraftforge.common.ForgeSpawnEggItem; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.RegistryObject; @SuppressWarnings("unused") public class ModItems { public static final DeferredRegister REGISTRY = DeferredRegister.create(ForgeRegistries.ITEMS, ModUtils.MODID); /** * guns */ public static final DeferredRegister GUNS = DeferredRegister.create(ForgeRegistries.ITEMS, ModUtils.MODID); public static final RegistryObject TASER = GUNS.register("taser", TaserItem::new); public static final RegistryObject GLOCK_17 = GUNS.register("glock_17", Glock17Item::new); public static final RegistryObject GLOCK_18 = GUNS.register("glock_18", Glock18Item::new); public static final RegistryObject M_1911 = GUNS.register("m_1911", M1911Item::new); public static final RegistryObject ABEKIRI = GUNS.register("abekiri", AbekiriItem::new); public static final RegistryObject TRACHELIUM = GUNS.register("trachelium", Trachelium::new); public static final RegistryObject VECTOR = GUNS.register("vector", VectorItem::new); public static final RegistryObject AK_47 = GUNS.register("ak_47", AK47Item::new); public static final RegistryObject AK_12 = GUNS.register("ak_12", AK12Item::new); public static final RegistryObject SKS = GUNS.register("sks", SksItem::new); public static final RegistryObject M_4 = GUNS.register("m_4", M4Item::new); public static final RegistryObject HK_416 = GUNS.register("hk_416", Hk416Item::new); public static final RegistryObject QBZ_95 = GUNS.register("qbz_95", Qbz95Item::new); public static final RegistryObject MK_14 = GUNS.register("mk_14", Mk14Item::new); public static final RegistryObject MARLIN = GUNS.register("marlin", MarlinItem::new); public static final RegistryObject K_98 = GUNS.register("k_98", K98Item::new); public static final RegistryObject MOSIN_NAGANT = GUNS.register("mosin_nagant", MosinNagantItem::new); public static final RegistryObject SVD = GUNS.register("svd", SvdItem::new); public static final RegistryObject M_98B = GUNS.register("m_98b", M98bItem::new); public static final RegistryObject SENTINEL = GUNS.register("sentinel", SentinelItem::new); public static final RegistryObject HUNTING_RIFLE = GUNS.register("hunting_rifle", HuntingRifleItem::new); public static final RegistryObject NTW_20 = GUNS.register("ntw_20", Ntw20Item::new); public static final RegistryObject M_870 = GUNS.register("m_870", M870Item::new); public static final RegistryObject AA_12 = GUNS.register("aa_12", Aa12Item::new); public static final RegistryObject DEVOTION = GUNS.register("devotion", DevotionItem::new); public static final RegistryObject RPK = GUNS.register("rpk", RpkItem::new); public static final RegistryObject M_60 = GUNS.register("m_60", M60Item::new); public static final RegistryObject MINIGUN = GUNS.register("minigun", MinigunItem::new); public static final RegistryObject M_79 = GUNS.register("m_79", M79Item::new); public static final RegistryObject RPG = GUNS.register("rpg", RpgItem::new); public static final RegistryObject JAVELIN = GUNS.register("javelin", JavelinItem::new); public static final RegistryObject BOCEK = GUNS.register("bocek", BocekItem::new); /** * Ammo */ public static final DeferredRegister AMMO = DeferredRegister.create(ForgeRegistries.ITEMS, ModUtils.MODID); public static final RegistryObject HANDGUN_AMMO = AMMO.register("handgun_ammo", HandgunAmmo::new); public static final RegistryObject RIFLE_AMMO = AMMO.register("rifle_ammo", RifleAmmo::new); public static final RegistryObject SNIPER_AMMO = AMMO.register("sniper_ammo", SniperAmmo::new); public static final RegistryObject SHOTGUN_AMMO = AMMO.register("shotgun_ammo", ShotgunAmmo::new); public static final RegistryObject HANDGUN_AMMO_BOX = AMMO.register("handgun_ammo_box", HandgunAmmoBox::new); public static final RegistryObject RIFLE_AMMO_BOX = AMMO.register("rifle_ammo_box", RifleAmmoBox::new); public static final RegistryObject SNIPER_AMMO_BOX = AMMO.register("sniper_ammo_box", SniperAmmoBox::new); public static final RegistryObject SHOTGUN_AMMO_BOX = AMMO.register("shotgun_ammo_box", ShotgunAmmoBox::new); public static final RegistryObject CREATIVE_AMMO_BOX = AMMO.register("creative_ammo_box", () -> new Item(new Item.Properties().rarity(Rarity.EPIC))); public static final RegistryObject AMMO_BOX = AMMO.register("ammo_box", AmmoBox::new); public static final RegistryObject TASER_ELECTRODE = AMMO.register("taser_electrode", () -> new Item(new Item.Properties())); public static final RegistryObject GRENADE_40MM = AMMO.register("grenade_40mm", () -> new Item(new Item.Properties())); public static final RegistryObject JAVELIN_MISSILE = AMMO.register("javelin_missile", () -> new Item(new Item.Properties())); public static final RegistryObject MORTAR_SHELLS = AMMO.register("mortar_shells", () -> new Item(new Item.Properties())); public static final RegistryObject ROCKET = AMMO.register("rocket", Rocket::new); public static final RegistryObject HE_5_INCHES = AMMO.register("he_5_inches", He5Inches::new); public static final RegistryObject AP_5_INCHES = AMMO.register("ap_5_inches", Ap5Inches::new); public static final RegistryObject HAND_GRENADE = AMMO.register("hand_grenade", HandGrenade::new); public static final RegistryObject RGO_GRENADE = AMMO.register("rgo_grenade", RgoGrenade::new); public static final RegistryObject CLAYMORE_MINE = AMMO.register("claymore_mine", ClaymoreMine::new); public static final RegistryObject BEAM_TEST = AMMO.register("beam_test", BeamTest::new); /** * items */ public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, ModUtils.MODID); public static final RegistryObject CONTAINER = ITEMS.register("container", ContainerBlockItem::new); public static final RegistryObject SENPAI_SPAWN_EGG = ITEMS.register("senpai_spawn_egg", () -> new ForgeSpawnEggItem(ModEntities.SENPAI, -11584987, -14014413, new Item.Properties())); public static final RegistryObject ANCIENT_CPU = ITEMS.register("ancient_cpu", () -> new Item(new Item.Properties().rarity(Rarity.RARE))); public static final RegistryObject PROPELLER = ITEMS.register("propeller", () -> new Item(new Item.Properties())); public static final RegistryObject MOTOR = ITEMS.register("motor", () -> new Item(new Item.Properties())); public static final RegistryObject DRONE = ITEMS.register("drone", Drone::new); public static final RegistryObject MONITOR = ITEMS.register("monitor", Monitor::new); public static final RegistryObject TARGET_DEPLOYER = ITEMS.register("target_deployer", TargetDeployer::new); public static final RegistryObject KNIFE = ITEMS.register("knife", Knife::new); public static final RegistryObject HAMMER = ITEMS.register("hammer", Hammer::new); public static final RegistryObject CROWBAR = ITEMS.register("crowbar", Crowbar::new); public static final RegistryObject ARMOR_PLATE = ITEMS.register("armor_plate", ArmorPlate::new); public static final RegistryObject RU_HELMET_6B47 = ITEMS.register("ru_helmet_6b47", RuHelmet6b47::new); public static final RegistryObject RU_CHEST_6B43 = ITEMS.register("ru_chest_6b43", RuChest6b43::new); public static final RegistryObject US_HELMET_PASTG = ITEMS.register("us_helmet_pastg", UsHelmetPastg::new); public static final RegistryObject US_CHEST_IOTV = ITEMS.register("us_chest_iotv", UsChestIotv::new); public static final RegistryObject GE_HELMET_M_35 = ITEMS.register("ge_helmet_m_35", GeHelmetM35::new); public static final RegistryObject MORTAR_DEPLOYER = ITEMS.register("mortar_deployer", MortarDeployer::new); public static final RegistryObject MORTAR_BARREL = ITEMS.register("mortar_barrel", () -> new Item(new Item.Properties())); public static final RegistryObject MORTAR_BASE_PLATE = ITEMS.register("mortar_base_plate", () -> new Item(new Item.Properties())); public static final RegistryObject MORTAR_BIPOD = ITEMS.register("mortar_bipod", () -> new Item(new Item.Properties())); public static final RegistryObject SEEKER = ITEMS.register("seeker", () -> new Item(new Item.Properties())); public static final RegistryObject MISSILE_ENGINE = ITEMS.register("missile_engine", () -> new Item(new Item.Properties())); public static final RegistryObject FUSEE = ITEMS.register("fusee", () -> new Item(new Item.Properties())); public static final RegistryObject PRIMER = ITEMS.register("primer", () -> new Item(new Item.Properties())); public static final RegistryObject AP_HEAD = ITEMS.register("ap_head", () -> new Item(new Item.Properties())); public static final RegistryObject HE_HEAD = ITEMS.register("he_head", () -> new Item(new Item.Properties())); public static final RegistryObject CANNON_CORE = ITEMS.register("cannon_core", () -> new Item(new Item.Properties())); public static final RegistryObject COPPER_PLATE = ITEMS.register("copper_plate", () -> new Item(new Item.Properties())); public static final RegistryObject STEEL_INGOT = ITEMS.register("steel_ingot", () -> new Item(new Item.Properties())); public static final RegistryObject LEAD_INGOT = ITEMS.register("lead_ingot", () -> new Item(new Item.Properties())); public static final RegistryObject SILVER_INGOT = ITEMS.register("silver_ingot", () -> new Item(new Item.Properties())); public static final RegistryObject TUNGSTEN_INGOT = ITEMS.register("tungsten_ingot", () -> new Item(new Item.Properties())); public static final RegistryObject CEMENTED_CARBIDE_INGOT = ITEMS.register("cemented_carbide_ingot", () -> new Item(new Item.Properties())); public static final RegistryObject HIGH_ENERGY_EXPLOSIVES = ITEMS.register("high_energy_explosives", () -> new Item(new Item.Properties())); public static final RegistryObject GRAIN = ITEMS.register("grain", () -> new Item(new Item.Properties())); public static final RegistryObject IRON_POWDER = ITEMS.register("iron_powder", () -> new Item(new Item.Properties())); public static final RegistryObject TUNGSTEN_POWDER = ITEMS.register("tungsten_powder", () -> new Item(new Item.Properties())); public static final RegistryObject COAL_POWDER = ITEMS.register("coal_powder", () -> new Item(new Item.Properties())); public static final RegistryObject COAL_IRON_POWDER = ITEMS.register("coal_iron_powder", () -> new Item(new Item.Properties())); public static final RegistryObject RAW_CEMENTED_CARBIDE_POWDER = ITEMS.register("raw_cemented_carbide_powder", () -> new Item(new Item.Properties())); public static final RegistryObject GALENA = ITEMS.register("galena", () -> new Item(new Item.Properties())); public static final RegistryObject SCHEELITE = ITEMS.register("scheelite", () -> new Item(new Item.Properties())); public static final RegistryObject RAW_SILVER = ITEMS.register("raw_silver", () -> new Item(new Item.Properties())); public static final RegistryObject DOG_TAG = ITEMS.register("dog_tag", DogTag::new); public static final RegistryObject CELL = ITEMS.register("cell", Cell::new); public static final RegistryObject TRANSCRIPT = ITEMS.register("transcript", Transcript::new); public static final RegistryObject FIRING_PARAMETERS = ITEMS.register("firing_parameters", FiringParameters::new); public static final RegistryObject TUNGSTEN_ROD = ITEMS.register("tungsten_rod", () -> new Item(new Item.Properties())); public static final RegistryObject IRON_BARREL = ITEMS.register("iron_barrel", () -> new Item(new Item.Properties())); public static final RegistryObject IRON_ACTION = ITEMS.register("iron_action", () -> new Item(new Item.Properties())); public static final RegistryObject IRON_TRIGGER = ITEMS.register("iron_trigger", () -> new Item(new Item.Properties())); public static final RegistryObject IRON_SPRING = ITEMS.register("iron_spring", () -> new Item(new Item.Properties())); public static final RegistryObject STEEL_BARREL = ITEMS.register("steel_barrel", () -> new Item(new Item.Properties().rarity(Rarity.RARE))); public static final RegistryObject STEEL_ACTION = ITEMS.register("steel_action", () -> new Item(new Item.Properties().rarity(Rarity.RARE))); public static final RegistryObject STEEL_TRIGGER = ITEMS.register("steel_trigger", () -> new Item(new Item.Properties().rarity(Rarity.RARE))); public static final RegistryObject STEEL_SPRING = ITEMS.register("steel_spring", () -> new Item(new Item.Properties().rarity(Rarity.RARE))); public static final RegistryObject CEMENTED_CARBIDE_BARREL = ITEMS.register("cemented_carbide_barrel", () -> new Item(new Item.Properties().rarity(Rarity.EPIC))); public static final RegistryObject CEMENTED_CARBIDE_ACTION = ITEMS.register("cemented_carbide_action", () -> new Item(new Item.Properties().rarity(Rarity.EPIC))); public static final RegistryObject CEMENTED_CARBIDE_TRIGGER = ITEMS.register("cemented_carbide_trigger", () -> new Item(new Item.Properties().rarity(Rarity.EPIC))); public static final RegistryObject CEMENTED_CARBIDE_SPRING = ITEMS.register("cemented_carbide_spring", () -> new Item(new Item.Properties().rarity(Rarity.EPIC))); public static final RegistryObject NETHERITE_BARREL = ITEMS.register("netherite_barrel", () -> new Item(new Item.Properties().rarity(RarityTool.LEGENDARY))); public static final RegistryObject NETHERITE_ACTION = ITEMS.register("netherite_action", () -> new Item(new Item.Properties().rarity(RarityTool.LEGENDARY))); public static final RegistryObject NETHERITE_TRIGGER = ITEMS.register("netherite_trigger", () -> new Item(new Item.Properties().rarity(RarityTool.LEGENDARY))); public static final RegistryObject NETHERITE_SPRING = ITEMS.register("netherite_spring", () -> new Item(new Item.Properties().rarity(RarityTool.LEGENDARY))); public static final RegistryObject COMMON_MATERIAL_PACK = ITEMS.register("common_material_pack", () -> new MaterialPack(Rarity.COMMON)); public static final RegistryObject RARE_MATERIAL_PACK = ITEMS.register("rare_material_pack", () -> new MaterialPack(Rarity.RARE)); public static final RegistryObject EPIC_MATERIAL_PACK = ITEMS.register("epic_material_pack", () -> new MaterialPack(Rarity.EPIC)); public static final RegistryObject LEGENDARY_MATERIAL_PACK = ITEMS.register("legendary_material_pack", () -> new MaterialPack(RarityTool.LEGENDARY)); public static final RegistryObject TRACHELIUM_BLUEPRINT = ITEMS.register("trachelium_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final RegistryObject GLOCK_17_BLUEPRINT = ITEMS.register("glock_17_blueprint", () -> new BlueprintItem(Rarity.COMMON)); public static final RegistryObject GLOCK_18_BLUEPRINT = ITEMS.register("glock_18_blueprint", () -> new BlueprintItem(Rarity.RARE)); public static final RegistryObject HUNTING_RIFLE_BLUEPRINT = ITEMS.register("hunting_rifle_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final RegistryObject M_79_BLUEPRINT = ITEMS.register("m_79_blueprint", () -> new BlueprintItem(Rarity.RARE)); public static final RegistryObject RPG_BLUEPRINT = ITEMS.register("rpg_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final RegistryObject BOCEK_BLUEPRINT = ITEMS.register("bocek_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final RegistryObject M_4_BLUEPRINT = ITEMS.register("m_4_blueprint", () -> new BlueprintItem(Rarity.RARE)); public static final RegistryObject AA_12_BLUEPRINT = ITEMS.register("aa_12_blueprint", () -> new BlueprintItem(RarityTool.LEGENDARY)); public static final RegistryObject HK_416_BLUEPRINT = ITEMS.register("hk_416_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final RegistryObject RPK_BLUEPRINT = ITEMS.register("rpk_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final RegistryObject SKS_BLUEPRINT = ITEMS.register("sks_blueprint", () -> new BlueprintItem(Rarity.RARE)); public static final RegistryObject NTW_20_BLUEPRINT = ITEMS.register("ntw_20_blueprint", () -> new BlueprintItem(RarityTool.LEGENDARY)); public static final RegistryObject VECTOR_BLUEPRINT = ITEMS.register("vector_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final RegistryObject MINIGUN_BLUEPRINT = ITEMS.register("minigun_blueprint", () -> new BlueprintItem(RarityTool.LEGENDARY)); public static final RegistryObject MK_14_BLUEPRINT = ITEMS.register("mk_14_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final RegistryObject SENTINEL_BLUEPRINT = ITEMS.register("sentinel_blueprint", () -> new BlueprintItem(RarityTool.LEGENDARY)); public static final RegistryObject M_60_BLUEPRINT = ITEMS.register("m_60_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final RegistryObject SVD_BLUEPRINT = ITEMS.register("svd_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final RegistryObject MARLIN_BLUEPRINT = ITEMS.register("marlin_blueprint", () -> new BlueprintItem(Rarity.COMMON)); public static final RegistryObject M_870_BLUEPRINT = ITEMS.register("m_870_blueprint", () -> new BlueprintItem(Rarity.RARE)); public static final RegistryObject M_98B_BLUEPRINT = ITEMS.register("m_98b_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final RegistryObject AK_47_BLUEPRINT = ITEMS.register("ak_47_blueprint", () -> new BlueprintItem(Rarity.RARE)); public static final RegistryObject AK_12_BLUEPRINT = ITEMS.register("ak_12_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final RegistryObject DEVOTION_BLUEPRINT = ITEMS.register("devotion_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final RegistryObject TASER_BLUEPRINT = ITEMS.register("taser_blueprint", () -> new BlueprintItem(Rarity.COMMON)); public static final RegistryObject M_1911_BLUEPRINT = ITEMS.register("m_1911_blueprint", () -> new BlueprintItem(Rarity.COMMON)); public static final RegistryObject QBZ_95_BLUEPRINT = ITEMS.register("qbz_95_blueprint", () -> new BlueprintItem(Rarity.EPIC)); public static final RegistryObject K_98_BLUEPRINT = ITEMS.register("k_98_blueprint", () -> new BlueprintItem(Rarity.RARE)); public static final RegistryObject MOSIN_NAGANT_BLUEPRINT = ITEMS.register("mosin_nagant_blueprint", () -> new BlueprintItem(Rarity.RARE)); public static final RegistryObject JAVELIN_BLUEPRINT = ITEMS.register("javelin_blueprint", () -> new BlueprintItem(RarityTool.LEGENDARY)); public static final RegistryObject MK_42_BLUEPRINT = ITEMS.register("mk_42_blueprint", () -> new BlueprintItem(RarityTool.LEGENDARY)); public static final RegistryObject MLE_1934_BLUEPRINT = ITEMS.register("mle_1934_blueprint", () -> new BlueprintItem(RarityTool.LEGENDARY)); public static final RegistryObject ANNIHILATOR_BLUEPRINT = ITEMS.register("annihilator_blueprint", () -> new BlueprintItem(RarityTool.LEGENDARY)); /** * Block */ public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.ITEMS, ModUtils.MODID); public static final RegistryObject GALENA_ORE = block(ModBlocks.GALENA_ORE); public static final RegistryObject DEEPSLATE_GALENA_ORE = block(ModBlocks.DEEPSLATE_GALENA_ORE); public static final RegistryObject SCHEELITE_ORE = block(ModBlocks.SCHEELITE_ORE); public static final RegistryObject DEEPSLATE_SCHEELITE_ORE = block(ModBlocks.DEEPSLATE_SCHEELITE_ORE); public static final RegistryObject SILVER_ORE = block(ModBlocks.SILVER_ORE); public static final RegistryObject DEEPSLATE_SILVER_ORE = block(ModBlocks.DEEPSLATE_SILVER_ORE); public static final RegistryObject JUMP_PAD = block(ModBlocks.JUMP_PAD); public static final RegistryObject SANDBAG = block(ModBlocks.SANDBAG); public static final RegistryObject BARBED_WIRE = block(ModBlocks.BARBED_WIRE); public static final RegistryObject DRAGON_TEETH = block(ModBlocks.DRAGON_TEETH); public static final RegistryObject REFORGING_TABLE = block(ModBlocks.REFORGING_TABLE); public static final RegistryObject CHARGING_STATION = block(ModBlocks.CHARGING_STATION); public static final RegistryObject LEAD_BLOCK = block(ModBlocks.LEAD_BLOCK); public static final RegistryObject STEEL_BLOCK = block(ModBlocks.STEEL_BLOCK); public static final RegistryObject TUNGSTEN_BLOCK = block(ModBlocks.TUNGSTEN_BLOCK); public static final RegistryObject SILVER_BLOCK = block(ModBlocks.SILVER_BLOCK); public static final RegistryObject CEMENTED_CARBIDE_BLOCK = block(ModBlocks.CEMENTED_CARBIDE_BLOCK); private static RegistryObject block(RegistryObject block) { return BLOCKS.register(block.getId().getPath(), () -> new BlockItem(block.get(), new Item.Properties())); } /** * Perk Items */ public static final DeferredRegister PERKS = DeferredRegister.create(ForgeRegistries.ITEMS, ModUtils.MODID); public static void registerPerkItems() { ModPerks.AMMO_PERKS.getEntries().stream().filter(p -> p != ModPerks.AP_BULLET) .forEach(registryObject -> PERKS.register(registryObject.getId().getPath(), () -> new PerkItem(registryObject))); ModPerks.FUNC_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 RegistryObject SHORTCUT_PACK = PERKS.register("shortcut_pack", ShortcutPack::new); public static final RegistryObject EMPTY_PERK = PERKS.register("empty_perk", () -> new Item(new Item.Properties())); /** * 单独注册,用于Tab图标,不要删 */ public static final RegistryObject AP_BULLET = PERKS.register("ap_bullet", () -> new PerkItem(ModPerks.AP_BULLET)); public static void register(IEventBus bus) { ITEMS.register(bus); GUNS.register(bus); AMMO.register(bus); BLOCKS.register(bus); registerPerkItems(); PERKS.register(bus); REGISTRY.register(bus); } }