From 000b84e87eaedb94fb87ccb11e376c51f99a1d07 Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Wed, 10 Jan 2024 17:41:07 +0100 Subject: Added Energy Condenser --- .../enes/mc/eris_alchemy/ErisAlchemyRegistry.java | 48 ++++++++++++++++++++-- 1 file changed, 44 insertions(+), 4 deletions(-) (limited to 'src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemyRegistry.java') diff --git a/src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemyRegistry.java b/src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemyRegistry.java index c02a1e6..592eb5e 100644 --- a/src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemyRegistry.java +++ b/src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemyRegistry.java @@ -1,9 +1,13 @@ package lv.enes.mc.eris_alchemy; import lv.enes.mc.eris_alchemy.block.AlchemicalChestBlock; -import lv.enes.mc.eris_alchemy.block.entity.AlchemicalChestBlockEntity; +import lv.enes.mc.eris_alchemy.block.EnergyCondenserBlock; +import lv.enes.mc.eris_alchemy.block.entity.AlchemicalChestEntity; +import lv.enes.mc.eris_alchemy.block.entity.EnergyCondenserEntity; import lv.enes.mc.eris_alchemy.menu.AlchemicalChestMenu; +import lv.enes.mc.eris_alchemy.menu.EnergyCondenserMenu; import lv.enes.mc.eris_alchemy.recipe.CovalenceRepair; +import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerType; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.flag.FeatureFlags; @@ -35,9 +39,15 @@ public final class ErisAlchemyRegistry { private static final Map> data = new LinkedHashMap<>(); - public static final BlockEntityType ALCHEMICAL_CHEST = register( + public static final BlockEntityType ALCHEMICAL_CHEST = register( "alchemical_chest", - QuiltBlockEntityTypeBuilder.create(AlchemicalChestBlockEntity::new, Blocks.ALCHEMICAL_CHEST) + QuiltBlockEntityTypeBuilder.create(AlchemicalChestEntity::new, Blocks.ALCHEMICAL_CHEST) + .build() + ); + + public static final BlockEntityType ENERGY_CONDENSER = register( + "energy_condenser", + QuiltBlockEntityTypeBuilder.create(EnergyCondenserEntity::new, Blocks.ENERGY_CONDENSER) .build() ); @@ -61,6 +71,11 @@ public final class ErisAlchemyRegistry { new AlchemicalChestBlock(QuiltBlockSettings.copy(ENDER_CHEST)) ); + public static final EnergyCondenserBlock ENERGY_CONDENSER = register( + "energy_condenser", + new EnergyCondenserBlock(QuiltBlockSettings.copy(ENDER_CHEST)) + ); + public static void consume(BiConsumer consumer) { data.forEach(consumer); } @@ -78,6 +93,9 @@ public final class ErisAlchemyRegistry { public static final Item ALCHEMICAL_CHEST = register(Blocks.ALCHEMICAL_CHEST, new QuiltItemSettings().rarity(Rarity.RARE)); + @SuppressWarnings("unused") + public static final Item ENERGY_CONDENSER = + register(Blocks.ENERGY_CONDENSER, new QuiltItemSettings().rarity(Rarity.EPIC)); public static final Item LOW_COVALENCE_DUST = register("low_covalence_dust", new Item(new QuiltItemSettings().rarity(Rarity.COMMON))); @SuppressWarnings("unused") @@ -112,6 +130,8 @@ public final class ErisAlchemyRegistry { public static final MenuType ALCHEMICAL_CHEST = register("alchemy_chest", AlchemicalChestMenu::new); + public static final ExtendedScreenHandlerType ENERGY_CONDENSER = + registerExt("energy_condenser", EnergyCondenserMenu::new); public static void consume(BiConsumer> consumer) { data.forEach(consumer); @@ -121,12 +141,32 @@ public final class ErisAlchemyRegistry { String id, MenuType.MenuSupplier supplier ) { - var menuType = new MenuType<>(supplier, FeatureFlags.VANILLA_SET); + return registerCommon(id, new MenuType<>(supplier, FeatureFlags.VANILLA_SET)); + } + + private static ExtendedScreenHandlerType registerExt( + String id, + ExtendedScreenHandlerType.ExtendedFactory supplier + ) { + return registerCommon(id, new ExtendedScreenHandlerType<>(supplier)); + } + + private static > T registerCommon( + String id, + T menuType + ) { data.put(new ResourceLocation(ErisAlchemy.ID, id), menuType); return menuType; } } + public static final class NetworkingConstants { + private NetworkingConstants() {} + + public static final ResourceLocation UPDATE_SYNCED_VALUE + = new ResourceLocation(ErisAlchemy.ID, "update_synced_value"); + } + public static final class RecipeSerializers { private RecipeSerializers() {} -- cgit v1.2.3