diff options
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.java | 29 |
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 @@ | |||
| 1 | package lv.enes.mc.eris_alchemy.menu; | ||
| 2 | |||
| 3 | import lv.enes.mc.eris_alchemy.ErisAlchemy; | ||
| 4 | import net.minecraft.resources.ResourceLocation; | ||
| 5 | import net.minecraft.world.flag.FeatureFlags; | ||
| 6 | import net.minecraft.world.inventory.AbstractContainerMenu; | ||
| 7 | import net.minecraft.world.inventory.MenuType; | ||
| 8 | |||
| 9 | import java.util.LinkedHashMap; | ||
| 10 | import java.util.Map; | ||
| 11 | import java.util.function.BiConsumer; | ||
| 12 | |||
| 13 | public 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 | } | ||