summaryrefslogtreecommitdiff
path: root/src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemyRegistry.java
diff options
context:
space:
mode:
authorGravatar Uko Kokņevičs2024-01-10 17:41:07 +0100
committerGravatar Uko Kokņevičs2024-01-10 17:41:07 +0100
commit000b84e87eaedb94fb87ccb11e376c51f99a1d07 (patch)
treedd9519e7dadf613a71e01b04cac7be9c121a9f18 /src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemyRegistry.java
parentMove out common chest logic to separate files also in client code (diff)
downloadmc-eris-alchemy-000b84e87eaedb94fb87ccb11e376c51f99a1d07.tar.gz
mc-eris-alchemy-000b84e87eaedb94fb87ccb11e376c51f99a1d07.tar.xz
mc-eris-alchemy-000b84e87eaedb94fb87ccb11e376c51f99a1d07.zip
Added Energy Condenser
Diffstat (limited to 'src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemyRegistry.java')
-rw-r--r--src/main/java/lv/enes/mc/eris_alchemy/ErisAlchemyRegistry.java48
1 files changed, 44 insertions, 4 deletions
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 @@
1package lv.enes.mc.eris_alchemy; 1package lv.enes.mc.eris_alchemy;
2 2
3import lv.enes.mc.eris_alchemy.block.AlchemicalChestBlock; 3import lv.enes.mc.eris_alchemy.block.AlchemicalChestBlock;
4import lv.enes.mc.eris_alchemy.block.entity.AlchemicalChestBlockEntity; 4import lv.enes.mc.eris_alchemy.block.EnergyCondenserBlock;
5import lv.enes.mc.eris_alchemy.block.entity.AlchemicalChestEntity;
6import lv.enes.mc.eris_alchemy.block.entity.EnergyCondenserEntity;
5import lv.enes.mc.eris_alchemy.menu.AlchemicalChestMenu; 7import lv.enes.mc.eris_alchemy.menu.AlchemicalChestMenu;
8import lv.enes.mc.eris_alchemy.menu.EnergyCondenserMenu;
6import lv.enes.mc.eris_alchemy.recipe.CovalenceRepair; 9import lv.enes.mc.eris_alchemy.recipe.CovalenceRepair;
10import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerType;
7import net.minecraft.core.registries.BuiltInRegistries; 11import net.minecraft.core.registries.BuiltInRegistries;
8import net.minecraft.resources.ResourceLocation; 12import net.minecraft.resources.ResourceLocation;
9import net.minecraft.world.flag.FeatureFlags; 13import net.minecraft.world.flag.FeatureFlags;
@@ -35,9 +39,15 @@ public final class ErisAlchemyRegistry {
35 39
36 private static final Map<ResourceLocation, BlockEntityType<?>> data = new LinkedHashMap<>(); 40 private static final Map<ResourceLocation, BlockEntityType<?>> data = new LinkedHashMap<>();
37 41
38 public static final BlockEntityType<AlchemicalChestBlockEntity> ALCHEMICAL_CHEST = register( 42 public static final BlockEntityType<AlchemicalChestEntity> ALCHEMICAL_CHEST = register(
39 "alchemical_chest", 43 "alchemical_chest",
40 QuiltBlockEntityTypeBuilder.create(AlchemicalChestBlockEntity::new, Blocks.ALCHEMICAL_CHEST) 44 QuiltBlockEntityTypeBuilder.create(AlchemicalChestEntity::new, Blocks.ALCHEMICAL_CHEST)
45 .build()
46 );
47
48 public static final BlockEntityType<EnergyCondenserEntity> ENERGY_CONDENSER = register(
49 "energy_condenser",
50 QuiltBlockEntityTypeBuilder.create(EnergyCondenserEntity::new, Blocks.ENERGY_CONDENSER)
41 .build() 51 .build()
42 ); 52 );
43 53
@@ -61,6 +71,11 @@ public final class ErisAlchemyRegistry {
61 new AlchemicalChestBlock(QuiltBlockSettings.copy(ENDER_CHEST)) 71 new AlchemicalChestBlock(QuiltBlockSettings.copy(ENDER_CHEST))
62 ); 72 );
63 73
74 public static final EnergyCondenserBlock ENERGY_CONDENSER = register(
75 "energy_condenser",
76 new EnergyCondenserBlock(QuiltBlockSettings.copy(ENDER_CHEST))
77 );
78
64 public static void consume(BiConsumer<? super ResourceLocation, ? super Block> consumer) { 79 public static void consume(BiConsumer<? super ResourceLocation, ? super Block> consumer) {
65 data.forEach(consumer); 80 data.forEach(consumer);
66 } 81 }
@@ -78,6 +93,9 @@ public final class ErisAlchemyRegistry {
78 93
79 public static final Item ALCHEMICAL_CHEST = 94 public static final Item ALCHEMICAL_CHEST =
80 register(Blocks.ALCHEMICAL_CHEST, new QuiltItemSettings().rarity(Rarity.RARE)); 95 register(Blocks.ALCHEMICAL_CHEST, new QuiltItemSettings().rarity(Rarity.RARE));
96 @SuppressWarnings("unused")
97 public static final Item ENERGY_CONDENSER =
98 register(Blocks.ENERGY_CONDENSER, new QuiltItemSettings().rarity(Rarity.EPIC));
81 public static final Item LOW_COVALENCE_DUST = 99 public static final Item LOW_COVALENCE_DUST =
82 register("low_covalence_dust", new Item(new QuiltItemSettings().rarity(Rarity.COMMON))); 100 register("low_covalence_dust", new Item(new QuiltItemSettings().rarity(Rarity.COMMON)));
83 @SuppressWarnings("unused") 101 @SuppressWarnings("unused")
@@ -112,6 +130,8 @@ public final class ErisAlchemyRegistry {
112 130
113 public static final MenuType<AlchemicalChestMenu> ALCHEMICAL_CHEST = 131 public static final MenuType<AlchemicalChestMenu> ALCHEMICAL_CHEST =
114 register("alchemy_chest", AlchemicalChestMenu::new); 132 register("alchemy_chest", AlchemicalChestMenu::new);
133 public static final ExtendedScreenHandlerType<EnergyCondenserMenu> ENERGY_CONDENSER =
134 registerExt("energy_condenser", EnergyCondenserMenu::new);
115 135
116 public static void consume(BiConsumer<? super ResourceLocation, ? super MenuType<?>> consumer) { 136 public static void consume(BiConsumer<? super ResourceLocation, ? super MenuType<?>> consumer) {
117 data.forEach(consumer); 137 data.forEach(consumer);
@@ -121,12 +141,32 @@ public final class ErisAlchemyRegistry {
121 String id, 141 String id,
122 MenuType.MenuSupplier<T> supplier 142 MenuType.MenuSupplier<T> supplier
123 ) { 143 ) {
124 var menuType = new MenuType<>(supplier, FeatureFlags.VANILLA_SET); 144 return registerCommon(id, new MenuType<>(supplier, FeatureFlags.VANILLA_SET));
145 }
146
147 private static <T extends AbstractContainerMenu> ExtendedScreenHandlerType<T> registerExt(
148 String id,
149 ExtendedScreenHandlerType.ExtendedFactory<T> supplier
150 ) {
151 return registerCommon(id, new ExtendedScreenHandlerType<>(supplier));
152 }
153
154 private static <M extends AbstractContainerMenu, T extends MenuType<? extends M>> T registerCommon(
155 String id,
156 T menuType
157 ) {
125 data.put(new ResourceLocation(ErisAlchemy.ID, id), menuType); 158 data.put(new ResourceLocation(ErisAlchemy.ID, id), menuType);
126 return menuType; 159 return menuType;
127 } 160 }
128 } 161 }
129 162
163 public static final class NetworkingConstants {
164 private NetworkingConstants() {}
165
166 public static final ResourceLocation UPDATE_SYNCED_VALUE
167 = new ResourceLocation(ErisAlchemy.ID, "update_synced_value");
168 }
169
130 public static final class RecipeSerializers { 170 public static final class RecipeSerializers {
131 private RecipeSerializers() {} 171 private RecipeSerializers() {}
132 172