From 3b570cd80e80051d6a34fc3ebe17b2c92739454e Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Tue, 26 Oct 2021 16:12:38 +0300 Subject: [PATCH] Registry update --- .../betterend/interfaces/MultiModelItem.java | 2 +- .../java/ru/betterend/item/GuideBookItem.java | 2 +- .../java/ru/betterend/registry/EndBlocks.java | 30 +-- .../java/ru/betterend/registry/EndItems.java | 171 ++++-------------- .../java/ru/betterend/registry/EndTags.java | 2 +- .../java/ru/betterend/tab/CreativeTabs.java | 30 +-- 6 files changed, 67 insertions(+), 170 deletions(-) diff --git a/src/main/java/ru/betterend/interfaces/MultiModelItem.java b/src/main/java/ru/betterend/interfaces/MultiModelItem.java index 097f2ae4..b724b8ca 100644 --- a/src/main/java/ru/betterend/interfaces/MultiModelItem.java +++ b/src/main/java/ru/betterend/interfaces/MultiModelItem.java @@ -10,7 +10,7 @@ public interface MultiModelItem { void registerModelPredicate(); static void register() { - EndItems.getModItems(BetterEnd.MOD_ID).forEach(item -> { + EndItems.getModItems().forEach(item -> { if (item instanceof MultiModelItem) { ((MultiModelItem) item).registerModelPredicate(); } diff --git a/src/main/java/ru/betterend/item/GuideBookItem.java b/src/main/java/ru/betterend/item/GuideBookItem.java index 9769a664..39e69ed5 100644 --- a/src/main/java/ru/betterend/item/GuideBookItem.java +++ b/src/main/java/ru/betterend/item/GuideBookItem.java @@ -21,7 +21,7 @@ import java.util.List; public class GuideBookItem extends ModelProviderItem { public final static ResourceLocation BOOK_ID = BetterEnd.makeID("guidebook"); - public static final Item GUIDE_BOOK = EndItems.registerEndItem(BOOK_ID, new GuideBookItem()); + public static final Item GUIDE_BOOK = EndItems.getItemRegistry().register(BOOK_ID, new GuideBookItem()); public static void register() { } diff --git a/src/main/java/ru/betterend/registry/EndBlocks.java b/src/main/java/ru/betterend/registry/EndBlocks.java index 6fc662ba..adf46683 100644 --- a/src/main/java/ru/betterend/registry/EndBlocks.java +++ b/src/main/java/ru/betterend/registry/EndBlocks.java @@ -150,7 +150,9 @@ import ru.betterend.item.material.EndArmorMaterial; import ru.betterend.item.material.EndToolMaterial; import ru.betterend.tab.CreativeTabs; -public class EndBlocks extends BlockRegistry { +public class EndBlocks { + private static final BlockRegistry REGISTRY = new BlockRegistry(CreativeTabs.TAB_BLOCKS, Configs.BLOCK_CONFIG); + // Terrain // public static final Block ENDSTONE_DUST = registerBlock("endstone_dust", new EndstoneDustBlock()); public static final Block END_MYCELIUM = registerBlock("end_mycelium", new EndTerrainBlock(MaterialColor.COLOR_LIGHT_BLUE)); @@ -523,17 +525,13 @@ public class EndBlocks extends BlockRegistry { // Technical public static final Block END_PORTAL_BLOCK = registerEndBlockOnly("end_portal_block", new EndPortalBlock()); - private static BlockRegistry BlockRegistry; - - private EndBlocks(CreativeModeTab creativeTab) { - super(creativeTab); - } - public static List getModBlocks() { - return getModBlocks(BetterEnd.MOD_ID).stream() - .filter(BlockItem.class::isInstance) - .map(item -> ((BlockItem) item).getBlock()) - .collect(Collectors.toList()); + return BlockRegistry + .getModBlocks(BetterEnd.MOD_ID) + .stream() + .filter(BlockItem.class::isInstance) + .map(item -> ((BlockItem) item).getBlock()) + .collect(Collectors.toList()); } public static Block registerBlock(ResourceLocation id, Block block) { @@ -568,16 +566,8 @@ public class EndBlocks extends BlockRegistry { return getBlockRegistry().makeItemSettings(); } - @Override - public ResourceLocation createModId(String name) { - return BetterEnd.makeID(name); - } - @NotNull public static BlockRegistry getBlockRegistry() { - if (BlockRegistry == null) { - BlockRegistry = new EndBlocks(CreativeTabs.TAB_BLOCKS); - } - return BlockRegistry; + return REGISTRY; } } diff --git a/src/main/java/ru/betterend/registry/EndItems.java b/src/main/java/ru/betterend/registry/EndItems.java index 4472a653..13ed5bfb 100644 --- a/src/main/java/ru/betterend/registry/EndItems.java +++ b/src/main/java/ru/betterend/registry/EndItems.java @@ -1,11 +1,6 @@ package ru.betterend.registry; -import java.util.List; - -import org.jetbrains.annotations.NotNull; - import net.fabricmc.fabric.api.item.v1.FabricItemSettings; -import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.effect.MobEffectInstance; import net.minecraft.world.effect.MobEffects; @@ -14,12 +9,11 @@ import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.Mob; import net.minecraft.world.food.FoodProperties; import net.minecraft.world.food.Foods; -import net.minecraft.world.item.ArmorItem; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; import net.minecraft.world.item.TieredItem; import net.minecraft.world.item.Tiers; +import org.jetbrains.annotations.NotNull; import ru.bclib.items.BaseArmorItem; import ru.bclib.items.tool.BaseAxeItem; import ru.bclib.items.tool.BaseHoeItem; @@ -35,6 +29,7 @@ import ru.betterend.item.CrystaliteElytra; import ru.betterend.item.CrystaliteHelmet; import ru.betterend.item.CrystaliteLeggings; import ru.betterend.item.EnchantedItem; +import ru.betterend.item.EndArmorItem; import ru.betterend.item.EndBucketItem; import ru.betterend.item.EternalCrystalItem; import ru.betterend.item.material.EndArmorMaterial; @@ -43,7 +38,11 @@ import ru.betterend.item.tool.EndHammerItem; import ru.betterend.item.tool.EndPickaxe; import ru.betterend.tab.CreativeTabs; -public class EndItems extends ItemRegistry { +import java.util.List; + +public class EndItems { + private static final ItemRegistry REGISTRY = new ItemRegistry(CreativeTabs.TAB_ITEMS, Configs.ITEM_CONFIG); + // Materials // public final static Item ENDER_DUST = registerEndItem("ender_dust"); public final static Item ENDER_SHARD = registerEndItem("ender_shard"); @@ -93,60 +92,24 @@ public class EndItems extends ItemRegistry { ); // Armor // - public static final Item AETERNIUM_HELMET = registerEndItem( - "aeternium_helmet", - new BaseArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.HEAD, makeEndItemSettings().fireResistant()) - ); - public static final Item AETERNIUM_CHESTPLATE = registerEndItem( - "aeternium_chestplate", - new BaseArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.CHEST, makeEndItemSettings().fireResistant()) - ); - public static final Item AETERNIUM_LEGGINGS = registerEndItem( - "aeternium_leggings", - new BaseArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.LEGS, makeEndItemSettings().fireResistant()) - ); - public static final Item AETERNIUM_BOOTS = registerEndItem( - "aeternium_boots", - new BaseArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.FEET, makeEndItemSettings().fireResistant()) - ); + public static final Item AETERNIUM_HELMET = registerEndItem("aeternium_helmet", new BaseArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.HEAD, makeEndItemSettings().fireResistant())); + public static final Item AETERNIUM_CHESTPLATE = registerEndItem("aeternium_chestplate", new BaseArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.CHEST, makeEndItemSettings().fireResistant())); + public static final Item AETERNIUM_LEGGINGS = registerEndItem("aeternium_leggings", new BaseArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.LEGS, makeEndItemSettings().fireResistant())); + public static final Item AETERNIUM_BOOTS = registerEndItem("aeternium_boots", new BaseArmorItem(EndArmorMaterial.AETERNIUM, EquipmentSlot.FEET, makeEndItemSettings().fireResistant())); public static final Item CRYSTALITE_HELMET = registerEndItem("crystalite_helmet", new CrystaliteHelmet()); - public static final Item CRYSTALITE_CHESTPLATE = registerEndItem( - "crystalite_chestplate", - new CrystaliteChestplate() - ); + public static final Item CRYSTALITE_CHESTPLATE = registerEndItem("crystalite_chestplate", new CrystaliteChestplate()); public static final Item CRYSTALITE_LEGGINGS = registerEndItem("crystalite_leggings", new CrystaliteLeggings()); public static final Item CRYSTALITE_BOOTS = registerEndItem("crystalite_boots", new CrystaliteBoots()); - public static final Item ARMORED_ELYTRA = registerEndItem( - "elytra_armored", - new ArmoredElytra("elytra_armored", EndArmorMaterial.AETERNIUM, Items.PHANTOM_MEMBRANE, 900, 0.975D, true) - ); + public static final Item ARMORED_ELYTRA = registerEndItem("elytra_armored", new ArmoredElytra("elytra_armored", EndArmorMaterial.AETERNIUM, Items.PHANTOM_MEMBRANE, 900, 0.975D, true)); public static final Item CRYSTALITE_ELYTRA = registerEndItem("elytra_crystalite", new CrystaliteElytra(650, 0.99D)); // Tools // - public static final TieredItem AETERNIUM_SHOVEL = registerEndTool( - "aeternium_shovel", - new BaseShovelItem(EndToolMaterial.AETERNIUM, 1.5F, -3.0F, makeEndItemSettings().fireResistant()) - ); - public static final TieredItem AETERNIUM_SWORD = registerEndTool( - "aeternium_sword", - new BaseSwordItem(EndToolMaterial.AETERNIUM, 3, -2.4F, makeEndItemSettings().fireResistant()) - ); - public static final TieredItem AETERNIUM_PICKAXE = registerEndTool( - "aeternium_pickaxe", - new EndPickaxe(EndToolMaterial.AETERNIUM, 1, -2.8F, makeEndItemSettings().fireResistant()) - ); - public static final TieredItem AETERNIUM_AXE = registerEndTool( - "aeternium_axe", - new BaseAxeItem(EndToolMaterial.AETERNIUM, 5.0F, -3.0F, makeEndItemSettings().fireResistant()) - ); - public static final TieredItem AETERNIUM_HOE = registerEndTool( - "aeternium_hoe", - new BaseHoeItem(EndToolMaterial.AETERNIUM, -3, 0.0F, makeEndItemSettings().fireResistant()) - ); - public static final TieredItem AETERNIUM_HAMMER = registerEndTool( - "aeternium_hammer", - new EndHammerItem(EndToolMaterial.AETERNIUM, 6.0F, -3.0F, 0.3D, makeEndItemSettings().fireResistant()) - ); + public static final TieredItem AETERNIUM_SHOVEL = registerEndTool("aeternium_shovel", new BaseShovelItem(EndToolMaterial.AETERNIUM, 1.5F, -3.0F, makeEndItemSettings().fireResistant())); + public static final TieredItem AETERNIUM_SWORD = registerEndTool("aeternium_sword", new BaseSwordItem(EndToolMaterial.AETERNIUM, 3, -2.4F, makeEndItemSettings().fireResistant())); + public static final TieredItem AETERNIUM_PICKAXE = registerEndTool("aeternium_pickaxe", new EndPickaxe(EndToolMaterial.AETERNIUM, 1, -2.8F, makeEndItemSettings().fireResistant())); + public static final TieredItem AETERNIUM_AXE = registerEndTool("aeternium_axe", new BaseAxeItem(EndToolMaterial.AETERNIUM, 5.0F, -3.0F, makeEndItemSettings().fireResistant())); + public static final TieredItem AETERNIUM_HOE = registerEndTool("aeternium_hoe", new BaseHoeItem(EndToolMaterial.AETERNIUM, -3, 0.0F, makeEndItemSettings().fireResistant())); + public static final TieredItem AETERNIUM_HAMMER = registerEndTool("aeternium_hammer", new EndHammerItem(EndToolMaterial.AETERNIUM, 6.0F, -3.0F, 0.3D, makeEndItemSettings().fireResistant())); // Toolparts // public final static Item AETERNIUM_SHOVEL_HEAD = registerEndItem("aeternium_shovel_head"); @@ -158,40 +121,20 @@ public class EndItems extends ItemRegistry { public final static Item AETERNIUM_SWORD_HANDLE = registerEndItem("aeternium_sword_handle"); // ITEM_HAMMERS // - public static final TieredItem IRON_HAMMER = registerEndTool( - "iron_hammer", - new EndHammerItem(Tiers.IRON, 5.0F, -3.2F, 0.2D, makeEndItemSettings()) - ); - public static final TieredItem GOLDEN_HAMMER = registerEndTool( - "golden_hammer", - new EndHammerItem(Tiers.GOLD, 4.5F, -3.4F, 0.3D, makeEndItemSettings()) - ); - public static final TieredItem DIAMOND_HAMMER = registerEndTool( - "diamond_hammer", - new EndHammerItem(Tiers.DIAMOND, 5.5F, -3.1F, 0.2D, makeEndItemSettings()) - ); - public static final TieredItem NETHERITE_HAMMER = registerEndTool( - "netherite_hammer", - new EndHammerItem(Tiers.NETHERITE, 5.0F, -3.0F, 0.2D, makeEndItemSettings().fireResistant()) - ); + public static final TieredItem IRON_HAMMER = registerEndTool("iron_hammer", new EndHammerItem(Tiers.IRON, 5.0F, -3.2F, 0.2D, makeEndItemSettings())); + public static final TieredItem GOLDEN_HAMMER = registerEndTool("golden_hammer", new EndHammerItem(Tiers.GOLD, 4.5F, -3.4F, 0.3D, makeEndItemSettings())); + public static final TieredItem DIAMOND_HAMMER = registerEndTool("diamond_hammer", new EndHammerItem(Tiers.DIAMOND, 5.5F, -3.1F, 0.2D, makeEndItemSettings())); + public static final TieredItem NETHERITE_HAMMER = registerEndTool("netherite_hammer", new EndHammerItem(Tiers.NETHERITE, 5.0F, -3.0F, 0.2D, makeEndItemSettings().fireResistant())); // Food // public final static Item SHADOW_BERRY_RAW = registerEndFood("shadow_berry_raw", 4, 0.5F); public final static Item SHADOW_BERRY_COOKED = registerEndFood("shadow_berry_cooked", 6, 0.7F); public final static Item END_FISH_RAW = registerEndFood("end_fish_raw", Foods.SALMON); public final static Item END_FISH_COOKED = registerEndFood("end_fish_cooked", Foods.COOKED_SALMON); - public final static Item BUCKET_END_FISH = registerEndItem( - "bucket_end_fish", - new EndBucketItem(EndEntities.END_FISH) - ); + public final static Item BUCKET_END_FISH = registerEndItem("bucket_end_fish", new EndBucketItem(EndEntities.END_FISH)); public final static Item BUCKET_CUBOZOA = registerEndItem("bucket_cubozoa", new EndBucketItem(EndEntities.CUBOZOA)); public final static Item SWEET_BERRY_JELLY = registerEndFood("sweet_berry_jelly", 8, 0.7F); - public final static Item SHADOW_BERRY_JELLY = registerEndFood( - "shadow_berry_jelly", - 6, - 0.8F, - new MobEffectInstance(MobEffects.NIGHT_VISION, 400) - ); + public final static Item SHADOW_BERRY_JELLY = registerEndFood("shadow_berry_jelly", 6, 0.8F, new MobEffectInstance(MobEffects.NIGHT_VISION, 400)); public final static Item BLOSSOM_BERRY_JELLY = registerEndFood("blossom_berry_jelly", 8, 0.7F); public final static Item BLOSSOM_BERRY = registerEndFood("blossom_berry", Foods.APPLE); public final static Item AMBER_ROOT_RAW = registerEndFood("amber_root_raw", 2, 0.8F); @@ -203,92 +146,54 @@ public class EndItems extends ItemRegistry { // Drinks // public final static Item UMBRELLA_CLUSTER_JUICE = registerEndDrink("umbrella_cluster_juice", 5, 0.7F); - private static ItemRegistry itemRegistry; - - protected EndItems(CreativeModeTab creativeTab) { - super(creativeTab); - } - public static List getModItems() { - return getModItems(BetterEnd.MOD_ID); + return REGISTRY.getModItems(BetterEnd.MOD_ID); } public static Item registerEndDisc(String name, int power, SoundEvent sound) { - return getItemRegistry().registerDisc(name, power, sound); + return getItemRegistry().registerDisc(BetterEnd.makeID(name), power, sound); } public static Item registerEndItem(String name) { - return getItemRegistry().registerItem(name); + return getItemRegistry().register(BetterEnd.makeID(name)); } public static Item registerEndItem(String name, Item item) { + if (item instanceof EndArmorItem) { + return getItemRegistry().register(BetterEnd.makeID(name), item, "armour"); + } return getItemRegistry().register(BetterEnd.makeID(name), item); } - public static Item registerEndItem(ResourceLocation id, Item item) { - if (item instanceof ArmorItem) { - return registerEndArmor(id, item); - } - if (!Configs.ITEM_CONFIG.getBoolean("items", id.getPath(), true)) { - return item; - } - getItemRegistry().register(id, item); - return item; - } - - private static Item registerEndArmor(ResourceLocation itemId, Item item) { - if (!Configs.ITEM_CONFIG.getBoolean("armor", itemId.getPath(), true)) { - return item; - } - getItemRegistry().register(itemId, item); - return item; - } - public static TieredItem registerEndTool(String name, TieredItem item) { if (!Configs.ITEM_CONFIG.getBoolean("tools", name, true)) { return item; } - return (TieredItem)getItemRegistry().registerTool(name, item); + return (TieredItem)getItemRegistry().registerTool(BetterEnd.makeID(name), item); } public static Item registerEndEgg(String name, EntityType type, int background, int dots) { - return getItemRegistry().registerEgg(name, type, background, dots); + return getItemRegistry().registerEgg(BetterEnd.makeID(name), type, background, dots); } public static Item registerEndFood(String name, int hunger, float saturation, MobEffectInstance... effects) { - return getItemRegistry().registerFood(name, hunger, saturation, effects); + return getItemRegistry().registerFood(BetterEnd.makeID(name), hunger, saturation, effects); } public static Item registerEndFood(String name, FoodProperties foodComponent) { - return getItemRegistry().registerFood(name, foodComponent); - } - - public static Item registerEndDrink(String name) { - return getItemRegistry().registerDrink(name); - } - - public static Item registerEndDrink(String name, FoodProperties foodComponent) { - return getItemRegistry().registerDrink(name, foodComponent); + return getItemRegistry().registerFood(BetterEnd.makeID(name), foodComponent); } public static Item registerEndDrink(String name, int hunger, float saturation) { - return getItemRegistry().registerDrink(name, hunger, saturation); + return getItemRegistry().registerDrink(BetterEnd.makeID(name), hunger, saturation); } public static FabricItemSettings makeEndItemSettings() { - return itemRegistry.makeItemSettings(); - } - - @Override - public ResourceLocation createModId(String name) { - return BetterEnd.makeID(name); + return getItemRegistry().makeItemSettings(); } @NotNull public static ItemRegistry getItemRegistry() { - if (itemRegistry == null) { - itemRegistry = new EndItems(CreativeTabs.TAB_ITEMS); - } - return itemRegistry; + return REGISTRY; } } diff --git a/src/main/java/ru/betterend/registry/EndTags.java b/src/main/java/ru/betterend/registry/EndTags.java index bc257d4e..a85aac82 100644 --- a/src/main/java/ru/betterend/registry/EndTags.java +++ b/src/main/java/ru/betterend/registry/EndTags.java @@ -94,7 +94,7 @@ public class EndTags { BonemealAPI.addSpreadableBlock(EndBlocks.MOSSY_DRAGON_BONE, EndBlocks.DRAGON_BONE_BLOCK); List ITEM_HAMMERS = Lists.newArrayList(); - EndItems.getModItems(BetterEnd.MOD_ID).forEach(item -> { + EndItems.getModItems().forEach(item -> { if (item.isEdible()) { FoodProperties food = item.getFoodProperties(); if (food != null) { diff --git a/src/main/java/ru/betterend/tab/CreativeTabs.java b/src/main/java/ru/betterend/tab/CreativeTabs.java index 05f1ea61..820ed6f6 100644 --- a/src/main/java/ru/betterend/tab/CreativeTabs.java +++ b/src/main/java/ru/betterend/tab/CreativeTabs.java @@ -14,19 +14,21 @@ public class CreativeTabs { public static final CreativeModeTab TAB_ITEMS; static { - TAB_BLOCKS = FabricItemGroupBuilder.create(BetterEnd.makeID("end_blocks")) - .icon(() -> new ItemStack(EndBlocks.END_MYCELIUM)) - .appendItems(stacks -> stacks.addAll(EndBlocks.getModBlocks() - .stream() - .map(ItemStack::new) - .collect(Collectors.toList()))) - .build(); - TAB_ITEMS = FabricItemGroupBuilder.create(BetterEnd.makeID("end_items")) - .icon(() -> new ItemStack(EndItems.ETERNAL_CRYSTAL)) - .appendItems(stacks -> stacks.addAll(EndItems.getModItems() - .stream() - .map(ItemStack::new) - .collect(Collectors.toList()))) - .build(); + TAB_BLOCKS = FabricItemGroupBuilder + .create(BetterEnd.makeID("end_blocks")) + .icon(() -> new ItemStack(EndBlocks.END_MYCELIUM)) + .appendItems(stacks -> stacks.addAll(EndBlocks.getModBlocks() + .stream() + .map(ItemStack::new) + .collect(Collectors.toList()))) + .build(); + TAB_ITEMS = FabricItemGroupBuilder + .create(BetterEnd.makeID("end_items")) + .icon(() -> new ItemStack(EndItems.ETERNAL_CRYSTAL)) + .appendItems(stacks -> stacks.addAll(EndItems.getModItems() + .stream() + .map(ItemStack::new) + .collect(Collectors.toList()))) + .build(); } }