diff --git a/src/main/java/com/refinedmods/refinedstorage/RS.java b/src/main/java/com/refinedmods/refinedstorage/RS.java index c2c46580b..5f01b797f 100644 --- a/src/main/java/com/refinedmods/refinedstorage/RS.java +++ b/src/main/java/com/refinedmods/refinedstorage/RS.java @@ -33,23 +33,28 @@ public final class RS { public static final ClientConfig CLIENT_CONFIG = new ClientConfig(); public RS() { - DistExecutor.safeRunWhenOn(Dist.CLIENT, () -> ClientSetup::new); + DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> { + FMLJavaModLoadingContext.get().getModEventBus().addListener(ClientSetup::onClientSetup); + FMLJavaModLoadingContext.get().getModEventBus().addListener(ClientSetup::onModelBake); + FMLJavaModLoadingContext.get().getModEventBus().addListener(ClientSetup::onModelRegistry); + FMLJavaModLoadingContext.get().getModEventBus().addListener(ClientSetup::onTextureStitch); + MinecraftForge.EVENT_BUS.addListener(ClientSetup::addReloadListener); + }); MinecraftForge.EVENT_BUS.register(new ServerSetup()); ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, SERVER_CONFIG.getSpec()); ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, CLIENT_CONFIG.getSpec()); - CommonSetup commonSetup = new CommonSetup(); RSBlocks.register(); RSItems.register(); RSLootFunctions.register(); - FMLJavaModLoadingContext.get().getModEventBus().addListener(commonSetup::onCommonSetup); - FMLJavaModLoadingContext.get().getModEventBus().addGenericListener(BlockEntityType.class, commonSetup::onRegisterBlockEntities); - FMLJavaModLoadingContext.get().getModEventBus().addGenericListener(RecipeSerializer.class, commonSetup::onRegisterRecipeSerializers); - FMLJavaModLoadingContext.get().getModEventBus().addGenericListener(MenuType.class, commonSetup::onRegisterMenus); - FMLJavaModLoadingContext.get().getModEventBus().addListener(commonSetup::onRegisterCapabilities); + FMLJavaModLoadingContext.get().getModEventBus().addListener(CommonSetup::onCommonSetup); + FMLJavaModLoadingContext.get().getModEventBus().addGenericListener(BlockEntityType.class, CommonSetup::onRegisterBlockEntities); + FMLJavaModLoadingContext.get().getModEventBus().addGenericListener(RecipeSerializer.class, CommonSetup::onRegisterRecipeSerializers); + FMLJavaModLoadingContext.get().getModEventBus().addGenericListener(MenuType.class, CommonSetup::onRegisterMenus); + FMLJavaModLoadingContext.get().getModEventBus().addListener(CommonSetup::onRegisterCapabilities); FMLJavaModLoadingContext.get().getModEventBus().register(new DataGenerators()); FMLJavaModLoadingContext.get().getModEventBus().register(new CuriosIntegration()); diff --git a/src/main/java/com/refinedmods/refinedstorage/setup/ClientSetup.java b/src/main/java/com/refinedmods/refinedstorage/setup/ClientSetup.java index ba461ffa7..961b2873b 100644 --- a/src/main/java/com/refinedmods/refinedstorage/setup/ClientSetup.java +++ b/src/main/java/com/refinedmods/refinedstorage/setup/ClientSetup.java @@ -10,10 +10,10 @@ import com.refinedmods.refinedstorage.item.property.ControllerItemPropertyGetter import com.refinedmods.refinedstorage.item.property.NetworkItemPropertyGetter; import com.refinedmods.refinedstorage.item.property.SecurityCardItemPropertyGetter; import com.refinedmods.refinedstorage.render.BakedModelOverrideRegistry; +import com.refinedmods.refinedstorage.render.blockentity.StorageMonitorBlockEntityRenderer; import com.refinedmods.refinedstorage.render.color.PatternItemColor; import com.refinedmods.refinedstorage.render.model.*; import com.refinedmods.refinedstorage.render.resourcepack.ResourcePackListener; -import com.refinedmods.refinedstorage.render.blockentity.StorageMonitorBlockEntityRenderer; import com.refinedmods.refinedstorage.screen.*; import com.refinedmods.refinedstorage.screen.factory.CrafterManagerScreenFactory; import com.refinedmods.refinedstorage.screen.factory.GridScreenFactory; @@ -40,7 +40,6 @@ import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.AddReloadListenerEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import java.util.Arrays; import java.util.function.BiConsumer; @@ -53,149 +52,17 @@ public class ClientSetup { private static final ResourceLocation CONNECTED = new ResourceLocation("connected"); - private final BakedModelOverrideRegistry bakedModelOverrideRegistry = new BakedModelOverrideRegistry(); + private static final BakedModelOverrideRegistry BAKED_MODEL_OVERRIDE_REGISTRY = new BakedModelOverrideRegistry(); - public ClientSetup() { - - forEachColorApply("controller", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel( - base, - true, - new ResourceLocation(RS.ID, "block/controller/cutouts/" + color), - new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_off"), - new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_on")) - - )); - forEachColorApply("creative_controller", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel( - base, - true, - new ResourceLocation(RS.ID, "block/controller/cutouts/" + color), - new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_off"), - new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_on")) - )); - forEachColorApply("grid", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/grid/cutouts/")))); - forEachColorApply("crafting_grid", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/crafting_grid/cutouts/")))); - forEachColorApply("pattern_grid", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/pattern_grid/cutouts/")))); - forEachColorApply("fluid_grid", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/fluid_grid/cutouts/")))); - forEachColorApply("network_receiver", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/network_receiver/cutouts/")))); - forEachColorApply("network_transmitter", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/network_transmitter/cutouts/")))); - forEachColorApply("relay", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/relay/cutouts/")))); - forEachColorApply("detector", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/detector/cutouts/")))); - forEachColorApply("security_manager", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel( - base, - true, - getMultipleColoredModels(color, "block/security_manager/cutouts/top_", - "block/security_manager/cutouts/front_", - "block/security_manager/cutouts/left_", - "block/security_manager/cutouts/back_", - "block/security_manager/cutouts/right_") - ))); - forEachColorApply("wireless_transmitter", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/wireless_transmitter/cutouts/")))); - - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "disk_drive"), (base, registry) -> new FullbrightBakedModel( - new DiskDriveBakedModel( - base, - registry.get(DISK_RESOURCE), - registry.get(DISK_NEAR_CAPACITY_RESOURCE), - registry.get(DISK_FULL_RESOURCE), - registry.get(DISK_DISCONNECTED_RESOURCE) - ), - false, - new ResourceLocation(RS.ID, "block/disks/leds") - )); - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "cable"), (base, registry) -> new BakedModelCableCover(base)); - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "exporter"), (base, registry) -> new BakedModelCableCover(base)); - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "importer"), (base, registry) -> new BakedModelCableCover(base)); - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "constructor"), (base, registry) -> new BakedModelCableCover(new FullbrightBakedModel(base, true, new ResourceLocation(RS.ID, "block/constructor/cutouts/connected")))); - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "destructor"), (base, registry) -> new BakedModelCableCover(new FullbrightBakedModel(base, true, new ResourceLocation(RS.ID, "block/destructor/cutouts/connected")))); - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "external_storage"), (base, registry) -> new BakedModelCableCover(base)); - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "cover"), (base, registry) -> new BakedModelCover(ItemStack.EMPTY, CoverType.NORMAL)); - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "hollow_cover"), (base, registry) -> new BakedModelCover(ItemStack.EMPTY, CoverType.HOLLOW)); - - forEachColorApply("disk_manipulator", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel( - new DiskManipulatorBakedModel( - registry.get(new ResourceLocation(RS.ID + ":block/disk_manipulator/" + color)), - registry.get(new ResourceLocation(RS.ID + ":block/disk_manipulator/disconnected")), - registry.get(DISK_RESOURCE), - registry.get(DISK_NEAR_CAPACITY_RESOURCE), - registry.get(DISK_FULL_RESOURCE), - registry.get(DISK_DISCONNECTED_RESOURCE) - ), - false, - new ResourceLocation(RS.ID, "block/disks/leds"), new ResourceLocation(RS.ID, "block/disk_manipulator/cutouts/" + color) - ))); - - for (String portableGridName : new String[]{"portable_grid", "creative_portable_grid"}) { - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, portableGridName), (base, registry) -> new FullbrightBakedModel( - new PortableGridBakedModel( - registry.get(new ResourceLocation(RS.ID + ":block/portable_grid_connected")), - registry.get(new ResourceLocation(RS.ID + ":block/portable_grid_disconnected")), - registry.get(new ResourceLocation(RS.ID + ":block/disks/portable_grid_disk")), - registry.get(new ResourceLocation(RS.ID + ":block/disks/portable_grid_disk_near_capacity")), - registry.get(new ResourceLocation(RS.ID + ":block/disks/portable_grid_disk_full")), - registry.get(new ResourceLocation(RS.ID + ":block/disks/portable_grid_disk_disconnected")) - ), - false, - new ResourceLocation(RS.ID + ":block/disks/leds") - )); - } - - forEachColorApply("crafter", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel( - base, - true, - getMultipleColoredModels(color, "block/crafter/cutouts/side_", "block/crafter/cutouts/top_") - ))); - - forEachColorApply("crafter_manager", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/crafter_manager/cutouts/")))); - forEachColorApply("crafting_monitor", (name, color) -> bakedModelOverrideRegistry.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/crafting_monitor/cutouts/")))); - - bakedModelOverrideRegistry.add(new ResourceLocation(RS.ID, "pattern"), (base, registry) -> new PatternBakedModel(base)); - - FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onClientSetup); - FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onModelBake); - FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onModelRegistry); - MinecraftForge.EVENT_BUS.addListener(this::addReloadListener); - FMLJavaModLoadingContext.get().getModEventBus().addListener(this::onTextureStitch); - - API.instance().addPatternRenderHandler(pattern -> Screen.hasShiftDown()); - - API.instance().addPatternRenderHandler(pattern -> { - AbstractContainerMenu container = Minecraft.getInstance().player.containerMenu; - - if (container instanceof CrafterManagerContainerMenu) { - for (Slot slot : container.slots) { - if (slot instanceof CrafterManagerSlot && slot.getItem() == pattern) { - return true; - } - } - } - - return false; - }); - - API.instance().addPatternRenderHandler(pattern -> { - AbstractContainerMenu container = Minecraft.getInstance().player.containerMenu; - - if (container instanceof CrafterContainerMenu) { - for (int i = 0; i < 9; ++i) { - if (container.getSlot(i).getItem() == pattern) { - return true; - } - } - } - - return false; - }); - } - - private ResourceLocation[] getMultipleColoredModels(DyeColor color, String... paths) { + private static ResourceLocation[] getMultipleColoredModels(DyeColor color, String... paths) { return Arrays.stream(paths).map(path -> getColoredModel(color, path)).toArray(ResourceLocation[]::new); } - private ResourceLocation getColoredModel(DyeColor color, String path) { + private static ResourceLocation getColoredModel(DyeColor color, String path) { return new ResourceLocation(RS.ID, path + color); } - private void forEachColorApply(String name, BiConsumer consumer) { + private static void forEachColorApply(String name, BiConsumer consumer) { for (DyeColor color : DyeColor.values()) { String prefix = color == ColorMap.DEFAULT_COLOR ? "" : color + "_"; consumer.accept(new ResourceLocation(RS.ID, prefix + name), color); @@ -203,9 +70,12 @@ public class ClientSetup { } @SubscribeEvent - public void onClientSetup(FMLClientSetupEvent e) { + public static void onClientSetup(FMLClientSetupEvent e) { MinecraftForge.EVENT_BUS.register(new KeyInputListener()); + registerBakedModelOverrides(); + registerPatternRenderHandlers(); + MenuScreens.register(RSContainerMenus.FILTER, FilterScreen::new); MenuScreens.register(RSContainerMenus.CONTROLLER, ControllerScreen::new); MenuScreens.register(RSContainerMenus.DISK_DRIVE, DiskDriveScreen::new); @@ -280,13 +150,138 @@ public class ClientSetup { ItemProperties.register(RSItems.CREATIVE_WIRELESS_FLUID_GRID.get(), CONNECTED, new NetworkItemPropertyGetter()); } + private static void registerPatternRenderHandlers() { + API.instance().addPatternRenderHandler(pattern -> Screen.hasShiftDown()); + API.instance().addPatternRenderHandler(pattern -> { + AbstractContainerMenu container = Minecraft.getInstance().player.containerMenu; + + if (container instanceof CrafterManagerContainerMenu) { + for (Slot slot : container.slots) { + if (slot instanceof CrafterManagerSlot && slot.getItem() == pattern) { + return true; + } + } + } + + return false; + }); + API.instance().addPatternRenderHandler(pattern -> { + AbstractContainerMenu container = Minecraft.getInstance().player.containerMenu; + + if (container instanceof CrafterContainerMenu) { + for (int i = 0; i < 9; ++i) { + if (container.getSlot(i).getItem() == pattern) { + return true; + } + } + } + + return false; + }); + } + + private static void registerBakedModelOverrides() { + forEachColorApply("controller", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel( + base, + true, + new ResourceLocation(RS.ID, "block/controller/cutouts/" + color), + new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_off"), + new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_on")) + + )); + forEachColorApply("creative_controller", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel( + base, + true, + new ResourceLocation(RS.ID, "block/controller/cutouts/" + color), + new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_off"), + new ResourceLocation(RS.ID, "block/controller/cutouts/nearly_on")) + )); + forEachColorApply("grid", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/grid/cutouts/")))); + forEachColorApply("crafting_grid", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/crafting_grid/cutouts/")))); + forEachColorApply("pattern_grid", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/pattern_grid/cutouts/")))); + forEachColorApply("fluid_grid", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/fluid_grid/cutouts/")))); + forEachColorApply("network_receiver", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/network_receiver/cutouts/")))); + forEachColorApply("network_transmitter", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/network_transmitter/cutouts/")))); + forEachColorApply("relay", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/relay/cutouts/")))); + forEachColorApply("detector", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/detector/cutouts/")))); + forEachColorApply("security_manager", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel( + base, + true, + getMultipleColoredModels(color, "block/security_manager/cutouts/top_", + "block/security_manager/cutouts/front_", + "block/security_manager/cutouts/left_", + "block/security_manager/cutouts/back_", + "block/security_manager/cutouts/right_") + ))); + forEachColorApply("wireless_transmitter", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/wireless_transmitter/cutouts/")))); + + BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "disk_drive"), (base, registry) -> new FullbrightBakedModel( + new DiskDriveBakedModel( + base, + registry.get(DISK_RESOURCE), + registry.get(DISK_NEAR_CAPACITY_RESOURCE), + registry.get(DISK_FULL_RESOURCE), + registry.get(DISK_DISCONNECTED_RESOURCE) + ), + false, + new ResourceLocation(RS.ID, "block/disks/leds") + )); + BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "cable"), (base, registry) -> new BakedModelCableCover(base)); + BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "exporter"), (base, registry) -> new BakedModelCableCover(base)); + BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "importer"), (base, registry) -> new BakedModelCableCover(base)); + BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "constructor"), (base, registry) -> new BakedModelCableCover(new FullbrightBakedModel(base, true, new ResourceLocation(RS.ID, "block/constructor/cutouts/connected")))); + BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "destructor"), (base, registry) -> new BakedModelCableCover(new FullbrightBakedModel(base, true, new ResourceLocation(RS.ID, "block/destructor/cutouts/connected")))); + BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "external_storage"), (base, registry) -> new BakedModelCableCover(base)); + BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "cover"), (base, registry) -> new BakedModelCover(ItemStack.EMPTY, CoverType.NORMAL)); + BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "hollow_cover"), (base, registry) -> new BakedModelCover(ItemStack.EMPTY, CoverType.HOLLOW)); + + forEachColorApply("disk_manipulator", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel( + new DiskManipulatorBakedModel( + registry.get(new ResourceLocation(RS.ID + ":block/disk_manipulator/" + color)), + registry.get(new ResourceLocation(RS.ID + ":block/disk_manipulator/disconnected")), + registry.get(DISK_RESOURCE), + registry.get(DISK_NEAR_CAPACITY_RESOURCE), + registry.get(DISK_FULL_RESOURCE), + registry.get(DISK_DISCONNECTED_RESOURCE) + ), + false, + new ResourceLocation(RS.ID, "block/disks/leds"), new ResourceLocation(RS.ID, "block/disk_manipulator/cutouts/" + color) + ))); + + for (String portableGridName : new String[]{"portable_grid", "creative_portable_grid"}) { + BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, portableGridName), (base, registry) -> new FullbrightBakedModel( + new PortableGridBakedModel( + registry.get(new ResourceLocation(RS.ID + ":block/portable_grid_connected")), + registry.get(new ResourceLocation(RS.ID + ":block/portable_grid_disconnected")), + registry.get(new ResourceLocation(RS.ID + ":block/disks/portable_grid_disk")), + registry.get(new ResourceLocation(RS.ID + ":block/disks/portable_grid_disk_near_capacity")), + registry.get(new ResourceLocation(RS.ID + ":block/disks/portable_grid_disk_full")), + registry.get(new ResourceLocation(RS.ID + ":block/disks/portable_grid_disk_disconnected")) + ), + false, + new ResourceLocation(RS.ID + ":block/disks/leds") + )); + } + + forEachColorApply("crafter", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel( + base, + true, + getMultipleColoredModels(color, "block/crafter/cutouts/side_", "block/crafter/cutouts/top_") + ))); + + forEachColorApply("crafter_manager", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/crafter_manager/cutouts/")))); + forEachColorApply("crafting_monitor", (name, color) -> BAKED_MODEL_OVERRIDE_REGISTRY.add(name, (base, registry) -> new FullbrightBakedModel(base, true, getColoredModel(color, "block/crafting_monitor/cutouts/")))); + + BAKED_MODEL_OVERRIDE_REGISTRY.add(new ResourceLocation(RS.ID, "pattern"), (base, registry) -> new PatternBakedModel(base)); + } + @SubscribeEvent - public void addReloadListener(AddReloadListenerEvent event) { + public static void addReloadListener(AddReloadListenerEvent event) { event.addListener(new ResourcePackListener()); } @SubscribeEvent - public void onModelRegistry(ModelRegistryEvent e) { + public static void onModelRegistry(ModelRegistryEvent e) { ForgeModelBakery.addSpecialModel(DISK_RESOURCE); ForgeModelBakery.addSpecialModel(DISK_NEAR_CAPACITY_RESOURCE); ForgeModelBakery.addSpecialModel(DISK_FULL_RESOURCE); @@ -307,11 +302,11 @@ public class ClientSetup { } @SubscribeEvent - public void onModelBake(ModelBakeEvent e) { + public static void onModelBake(ModelBakeEvent e) { FullbrightBakedModel.invalidateCache(); for (ResourceLocation id : e.getModelRegistry().keySet()) { - BakedModelOverrideRegistry.BakedModelOverrideFactory factory = this.bakedModelOverrideRegistry.get(new ResourceLocation(id.getNamespace(), id.getPath())); + BakedModelOverrideRegistry.BakedModelOverrideFactory factory = BAKED_MODEL_OVERRIDE_REGISTRY.get(new ResourceLocation(id.getNamespace(), id.getPath())); if (factory != null) { e.getModelRegistry().put(id, factory.create(e.getModelRegistry().get(id), e.getModelRegistry())); @@ -320,8 +315,9 @@ public class ClientSetup { } @SubscribeEvent - public void onTextureStitch(TextureStitchEvent.Pre event) { - if (event.getAtlas().location().equals(InventoryMenu.BLOCK_ATLAS)) + public static void onTextureStitch(TextureStitchEvent.Pre event) { + if (event.getAtlas().location().equals(InventoryMenu.BLOCK_ATLAS)) { event.addSprite(new ResourceLocation(RS.ID, "block/cable_part_border")); + } } } diff --git a/src/main/java/com/refinedmods/refinedstorage/setup/CommonSetup.java b/src/main/java/com/refinedmods/refinedstorage/setup/CommonSetup.java index 6a933cc7f..8020dc9b0 100644 --- a/src/main/java/com/refinedmods/refinedstorage/setup/CommonSetup.java +++ b/src/main/java/com/refinedmods/refinedstorage/setup/CommonSetup.java @@ -59,7 +59,7 @@ import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; public class CommonSetup { @SubscribeEvent - public void onCommonSetup(FMLCommonSetupEvent e) { + public static void onCommonSetup(FMLCommonSetupEvent e) { RS.NETWORK_HANDLER.register(); MinecraftForge.EVENT_BUS.register(new NetworkNodeListener()); @@ -135,26 +135,26 @@ public class CommonSetup { } } - private INetworkNode readAndReturn(CompoundTag tag, NetworkNode node) { + private static INetworkNode readAndReturn(CompoundTag tag, NetworkNode node) { node.read(tag); return node; } @SubscribeEvent - public void onRegisterCapabilities(RegisterCapabilitiesEvent e) { + public static void onRegisterCapabilities(RegisterCapabilitiesEvent e) { e.register(INetworkNodeProxy.class); } @SubscribeEvent - public void onRegisterRecipeSerializers(RegistryEvent.Register> e) { + public static void onRegisterRecipeSerializers(RegistryEvent.Register> e) { e.getRegistry().register(new UpgradeWithEnchantedBookRecipeSerializer().setRegistryName(RS.ID, "upgrade_with_enchanted_book")); e.getRegistry().register(CoverRecipe.SERIALIZER.setRegistryName(new ResourceLocation(RS.ID, "cover_recipe"))); e.getRegistry().register(HollowCoverRecipe.SERIALIZER.setRegistryName(new ResourceLocation(RS.ID, "hollow_cover_recipe"))); } @SubscribeEvent - public void onRegisterBlockEntities(RegistryEvent.Register> e) { + public static void onRegisterBlockEntities(RegistryEvent.Register> e) { e.getRegistry().register(registerSynchronizationParameters(BlockEntityType.Builder.of((pos, state) -> new ControllerBlockEntity(NetworkType.NORMAL, pos, state), RSBlocks.CONTROLLER.getBlocks()).build(null).setRegistryName(RS.ID, "controller"))); e.getRegistry().register(registerSynchronizationParameters(BlockEntityType.Builder.of((pos, state) -> new ControllerBlockEntity(NetworkType.CREATIVE, pos, state), RSBlocks.CREATIVE_CONTROLLER.getBlocks()).build(null).setRegistryName(RS.ID, "creative_controller"))); e.getRegistry().register(BlockEntityType.Builder.of(CableBlockEntity::new, RSBlocks.CABLE.get()).build(null).setRegistryName(RS.ID, "cable")); @@ -199,7 +199,7 @@ public class CommonSetup { e.getRegistry().register(registerSynchronizationParameters(BlockEntityType.Builder.of((pos, state) -> new PortableGridBlockEntity(PortableGridBlockItem.Type.NORMAL, pos, state), RSBlocks.PORTABLE_GRID.get()).build(null).setRegistryName(RS.ID, "portable_grid"))); } - private BlockEntityType registerSynchronizationParameters(BlockEntityType t) { + private static BlockEntityType registerSynchronizationParameters(BlockEntityType t) { BaseBlockEntity blockEntity = (BaseBlockEntity) t.create(BlockPos.ZERO, null); blockEntity.getDataManager().getParameters().forEach(BlockEntitySynchronizationManager::registerParameter); @@ -208,7 +208,7 @@ public class CommonSetup { } @SubscribeEvent - public void onRegisterMenus(RegistryEvent.Register> e) { + public static void onRegisterMenus(RegistryEvent.Register> e) { e.getRegistry().register(IForgeMenuType.create((windowId, inv, data) -> new FilterContainerMenu(inv.player, inv.getSelected(), windowId)).setRegistryName(RS.ID, "filter")); e.getRegistry().register(IForgeMenuType.create(((windowId, inv, data) -> new ControllerContainerMenu(null, inv.player, windowId))).setRegistryName(RS.ID, "controller")); e.getRegistry().register(IForgeMenuType.create(new BlockEntityContainerFactory((windowId, inv, blockEntity) -> new DiskDriveContainerMenu(blockEntity, inv.player, windowId))).setRegistryName(RS.ID, "disk_drive"));