From d8b3bcca40b9c6dd5c1f1e8dc55d789bb868cb85 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Sat, 24 Jun 2017 13:32:29 +0200 Subject: [PATCH] Update Forge to 2349, mappings, MCMultiPart and JEI --- CHANGELOG.md | 2 + build.gradle | 10 ++-- .../com/raoulvdberge/refinedstorage/RS.java | 8 +-- .../refinedstorage/proxy/ProxyClient.java | 58 ++++++++++--------- .../refinedstorage/proxy/ProxyCommon.java | 58 +++++++++++++------ 5 files changed, 77 insertions(+), 59 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ad84ecad..9f3e13ffe 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # Refined Storage Changelog ### 1.5.3 +- Updated Forge to 2349 (raoulvdberge) +- Updated MCMultiPart to 2.2.1 (raoulvdberge) - Fixed Solderer crashing (raoulvdberge) - Fixed Solderer being able to work with insufficient ingredients (raoulvdberge) - Fixed Interface extracting from itself when trying to keep items in stock (raoulvdberge) diff --git a/build.gradle b/build.gradle index 2daf68dbf..512623d8b 100755 --- a/build.gradle +++ b/build.gradle @@ -28,10 +28,10 @@ sourceCompatibility = 1.8 targetCompatibility = 1.8 minecraft { - version = "1.12-14.21.0.2340" + version = "1.12-14.21.0.2349" runDir = "run" useDepAts = true - mappings = "snapshot_20170620" + mappings = "snapshot_20170623" } repositories { @@ -47,9 +47,9 @@ repositories { } dependencies { - deobfCompile "mezz.jei:jei_1.12:4.6.0.63:api" - runtime "mezz.jei:jei_1.12:4.6.0.63" - deobfCompile "MCMultiPart2:MCMultiPart-exp:2.0.0_26" + deobfCompile "mezz.jei:jei_1.12:4.7.0.67:api" + runtime "mezz.jei:jei_1.12:4.7.0.67" + deobfCompile "MCMultiPart2:MCMultiPart:2.2.1" // deobfCompile "li.cil.oc:OpenComputers:MC1.11.2-1.7.0.28:api" } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/RS.java b/src/main/java/com/raoulvdberge/refinedstorage/RS.java index 49fdb08b0..91ddbe796 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/RS.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/RS.java @@ -9,7 +9,6 @@ import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.Mod.Instance; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLInitializationEvent; -import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.network.NetworkRegistry; @@ -23,7 +22,7 @@ public final class RS { public static final String ID = "refinedstorage"; public static final String VERSION = "1.5.3"; - public static final String DEPENDENCIES = "required-after:forge@[14.21.0.2340,);"; + public static final String DEPENDENCIES = "required-after:forge@[14.21.0.2349,);after:mcmultipart@[2.2.1,);"; public static final String GUI_FACTORY = "com.raoulvdberge.refinedstorage.gui.config.ModGuiFactory"; public static final String UPDATE_JSON = "https://refinedstorage.raoulvdberge.com/update"; @@ -58,9 +57,4 @@ public final class RS { public void postInit(FMLPostInitializationEvent e) { PROXY.postInit(e); } - - @EventHandler - public void onMissingMapping(FMLMissingMappingsEvent e) { - PROXY.fixMappings(e); - } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyClient.java b/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyClient.java index c15c9ab26..fd24375c3 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyClient.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyClient.java @@ -34,11 +34,11 @@ import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraftforge.client.event.DrawBlockHighlightEvent; import net.minecraftforge.client.event.ModelBakeEvent; +import net.minecraftforge.client.event.ModelRegistryEvent; import net.minecraftforge.client.model.ICustomModelLoader; import net.minecraftforge.client.model.IModel; import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.client.model.ModelLoaderRegistry; -import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.client.registry.ClientRegistry; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.event.FMLInitializationEvent; @@ -53,11 +53,35 @@ public class ProxyClient extends ProxyCommon { public void preInit(FMLPreInitializationEvent e) { super.preInit(e); - MinecraftForge.EVENT_BUS.register(this); - // TESRs ClientRegistry.bindTileEntitySpecialRenderer(TileStorageMonitor.class, new TileEntitySpecialRendererStorageMonitor()); + } + @Override + public void init(FMLInitializationEvent e) { + super.init(e); + + RSKeyBindings.init(); + + ItemColors itemColors = Minecraft.getMinecraft().getItemColors(); + + itemColors.registerItemColorHandler((stack, tintIndex) -> { + CraftingPattern pattern = ItemPattern.getPatternFromCache(Minecraft.getMinecraft().world, stack); + + if (BakedModelPattern.canDisplayPatternOutput(pattern)) { + int color = itemColors.getColorFromItemstack(pattern.getOutputs().get(0), tintIndex); + + if (color != -1) { + return color; + } + } + + return 0xFFFFFF; // Full white, no need to apply color + }, RSItems.PATTERN); + } + + @SubscribeEvent + public void registerModels(ModelRegistryEvent e) { // Item Variants ModelBakery.registerItemVariants(RSItems.STORAGE_DISK, new ResourceLocation("refinedstorage:1k_storage_disk"), @@ -243,15 +267,16 @@ public class ProxyClient extends ProxyCommon { } }); + // Controller ModelLoader.setCustomStateMapper(RSBlocks.CONTROLLER, new StateMap.Builder().ignore(BlockController.TYPE).build()); - ModelLoader.setCustomStateMapper(RSBlocks.PORTABLE_GRID, new StateMap.Builder().ignore(BlockPortableGrid.TYPE).build()); - ModelLoader.setCustomMeshDefinition(Item.getItemFromBlock(RSBlocks.CONTROLLER), stack -> { int energy = stack.getItemDamage() == ControllerType.CREATIVE.getId() ? 7 : TileController.getEnergyScaled(ItemBlockController.getEnergyStored(stack), ItemBlockController.getEnergyCapacity(stack), 7); return new ModelResourceLocation("refinedstorage:controller", "direction=north,energy=" + energy); }); + // Portable Grid + ModelLoader.setCustomStateMapper(RSBlocks.PORTABLE_GRID, new StateMap.Builder().ignore(BlockPortableGrid.TYPE).build()); ModelLoader.setCustomMeshDefinition(Item.getItemFromBlock(RSBlocks.PORTABLE_GRID), stack -> { PortableGrid portableGrid = new PortableGrid(null, stack); @@ -259,29 +284,6 @@ public class ProxyClient extends ProxyCommon { }); } - @Override - public void init(FMLInitializationEvent e) { - super.init(e); - - RSKeyBindings.init(); - - ItemColors itemColors = Minecraft.getMinecraft().getItemColors(); - - itemColors.registerItemColorHandler((stack, tintIndex) -> { - CraftingPattern pattern = ItemPattern.getPatternFromCache(Minecraft.getMinecraft().world, stack); - - if (BakedModelPattern.canDisplayPatternOutput(pattern)) { - int color = itemColors.getColorFromItemstack(pattern.getOutputs().get(0), tintIndex); - - if (color != -1) { - return color; - } - } - - return 0xFFFFFF; // Full white, no need to apply color - }, RSItems.PATTERN); - } - public static void onReceiveCraftingPreviewResponse(MessageGridCraftingPreviewResponse message) { Minecraft.getMinecraft().addScheduledTask(() -> { GuiScreen screen = Minecraft.getMinecraft().currentScreen; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyCommon.java b/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyCommon.java index fc28727b4..2ad40ff32 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyCommon.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyCommon.java @@ -23,7 +23,6 @@ import com.raoulvdberge.refinedstorage.capability.CapabilityNetworkNodeProxy; import com.raoulvdberge.refinedstorage.gui.GuiHandler; import com.raoulvdberge.refinedstorage.integration.craftingtweaks.IntegrationCraftingTweaks; import com.raoulvdberge.refinedstorage.integration.forgeenergy.ReaderWriterHandlerForgeEnergy; -import com.raoulvdberge.refinedstorage.integration.oc.IntegrationOC; import com.raoulvdberge.refinedstorage.item.ItemFluidStoragePart; import com.raoulvdberge.refinedstorage.item.ItemProcessor; import com.raoulvdberge.refinedstorage.item.ItemStoragePart; @@ -41,18 +40,27 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.NonNullList; import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.fml.common.event.FMLInitializationEvent; -import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.network.ByteBufUtils; import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.oredict.OreDictionary; +import java.util.LinkedList; +import java.util.List; + public class ProxyCommon { + private List itemsToRegister = new LinkedList<>(); + private List blocksToRegister = new LinkedList<>(); + public void preInit(FMLPreInitializationEvent e) { + MinecraftForge.EVENT_BUS.register(this); + CapabilityNetworkNodeProxy.register(); API.deliver(e.getAsmData()); @@ -83,10 +91,6 @@ public class ProxyCommon { API.instance().getReaderWriterHandlerRegistry().add(ReaderWriterHandlerRedstone.ID, tag -> new ReaderWriterHandlerRedstone()); API.instance().getReaderWriterHandlerRegistry().add(ReaderWriterHandlerForgeEnergy.ID, ReaderWriterHandlerForgeEnergy::new); - if (IntegrationCraftingTweaks.isLoaded()) { - IntegrationCraftingTweaks.register(); - } - int id = 0; RS.INSTANCE.network.registerMessage(MessageTileDataParameter.class, MessageTileDataParameter.class, id++, Side.CLIENT); @@ -202,7 +206,9 @@ public class ProxyCommon { registerItem(RSItems.NETWORK_CARD); registerItem(RSItems.WRENCH); registerItem(RSItems.SECURITY_CARD); + } + public void init(FMLInitializationEvent e) { OreDictionary.registerOre("itemSilicon", RSItems.SILICON); // Processors @@ -287,11 +293,13 @@ public class ProxyCommon { OreDictionary.getOres("dustRedstone"), NonNullList.withSize(1, new ItemStack(RSBlocks.INTERFACE)) )); - } - public void init(FMLInitializationEvent e) { - if (IntegrationOC.isLoaded()) { - //DriverNetwork.register(); + /*if (IntegrationOC.isLoaded()) { + DriverNetwork.register(); + }*/ + + if (IntegrationCraftingTweaks.isLoaded()) { + IntegrationCraftingTweaks.register(); } } @@ -299,17 +307,33 @@ public class ProxyCommon { // NO OP } - public void fixMappings(FMLMissingMappingsEvent e) { - for (FMLMissingMappingsEvent.MissingMapping missing : e.getAll()) { - if (missing.resourceLocation.getResourceDomain().equals(RS.ID) && missing.resourceLocation.getResourcePath().equals("grid_filter")) { + @SubscribeEvent + public void registerBlocks(RegistryEvent.Register e) { + blocksToRegister.forEach(e.getRegistry()::register); + } + + @SubscribeEvent + public void registerItems(RegistryEvent.Register e) { + itemsToRegister.forEach(e.getRegistry()::register); + } + + @SubscribeEvent + public void fixItemMappings(RegistryEvent.MissingMappings e) { + for (RegistryEvent.MissingMappings.Mapping missing : e.getMappings()) { + if (missing.key.getResourceDomain().equals(RS.ID) && missing.key.getResourcePath().equals("grid_filter")) { missing.remap(RSItems.FILTER); } } } private void registerBlock(BlockBase block) { - GameRegistry.register(block); - GameRegistry.register(block.createItem()); + blocksToRegister.add(block); + + registerItem(block.createItem()); + } + + private void registerItem(Item item) { + itemsToRegister.add(item); } private void registerTile(Class tile, String id) { @@ -335,8 +359,4 @@ public class ProxyCommon { e.printStackTrace(); } } - - private void registerItem(Item item) { - GameRegistry.register(item); - } }