summaryrefslogtreecommitdiff
path: root/src/main/java/lv/enes/mc/eris_alchemy/menu/ErisAlchemyMenus.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/lv/enes/mc/eris_alchemy/menu/ErisAlchemyMenus.java')
-rw-r--r--src/main/java/lv/enes/mc/eris_alchemy/menu/ErisAlchemyMenus.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/main/java/lv/enes/mc/eris_alchemy/menu/ErisAlchemyMenus.java b/src/main/java/lv/enes/mc/eris_alchemy/menu/ErisAlchemyMenus.java
new file mode 100644
index 0000000..5e3b54a
--- /dev/null
+++ b/src/main/java/lv/enes/mc/eris_alchemy/menu/ErisAlchemyMenus.java
@@ -0,0 +1,29 @@
1package lv.enes.mc.eris_alchemy.menu;
2
3import lv.enes.mc.eris_alchemy.ErisAlchemy;
4import net.minecraft.resources.ResourceLocation;
5import net.minecraft.world.flag.FeatureFlags;
6import net.minecraft.world.inventory.AbstractContainerMenu;
7import net.minecraft.world.inventory.MenuType;
8
9import java.util.LinkedHashMap;
10import java.util.Map;
11import java.util.function.BiConsumer;
12
13public final class ErisAlchemyMenus {
14 private static final Map<ResourceLocation, MenuType<?>> menus = new LinkedHashMap<>();
15
16 public static final MenuType<AlchemicalChestMenu> ALCHEMICAL_CHEST = register("alchemy_chest", AlchemicalChestMenu::new);
17
18 public static void consumeMenus(BiConsumer<? super ResourceLocation, ? super MenuType<?>> consumer) {
19 menus.forEach(consumer);
20 }
21
22 private static <T extends AbstractContainerMenu> MenuType<T> register(String id, MenuType.MenuSupplier<T> supplier) {
23 var menuType = new MenuType<>(supplier, FeatureFlags.VANILLA_SET);
24 menus.putIfAbsent(new ResourceLocation(ErisAlchemy.ID, id), menuType);
25 return menuType;
26 }
27
28 private ErisAlchemyMenus() {}
29}