Update Forge to 2349, mappings, MCMultiPart and JEI

This commit is contained in:
raoulvdberge
2017-06-24 13:32:29 +02:00
parent 1ca18435ab
commit d8b3bcca40
5 changed files with 77 additions and 59 deletions

View File

@@ -1,6 +1,8 @@
# Refined Storage Changelog # Refined Storage Changelog
### 1.5.3 ### 1.5.3
- Updated Forge to 2349 (raoulvdberge)
- Updated MCMultiPart to 2.2.1 (raoulvdberge)
- Fixed Solderer crashing (raoulvdberge) - Fixed Solderer crashing (raoulvdberge)
- Fixed Solderer being able to work with insufficient ingredients (raoulvdberge) - Fixed Solderer being able to work with insufficient ingredients (raoulvdberge)
- Fixed Interface extracting from itself when trying to keep items in stock (raoulvdberge) - Fixed Interface extracting from itself when trying to keep items in stock (raoulvdberge)

View File

@@ -28,10 +28,10 @@ sourceCompatibility = 1.8
targetCompatibility = 1.8 targetCompatibility = 1.8
minecraft { minecraft {
version = "1.12-14.21.0.2340" version = "1.12-14.21.0.2349"
runDir = "run" runDir = "run"
useDepAts = true useDepAts = true
mappings = "snapshot_20170620" mappings = "snapshot_20170623"
} }
repositories { repositories {
@@ -47,9 +47,9 @@ repositories {
} }
dependencies { dependencies {
deobfCompile "mezz.jei:jei_1.12:4.6.0.63:api" deobfCompile "mezz.jei:jei_1.12:4.7.0.67:api"
runtime "mezz.jei:jei_1.12:4.6.0.63" runtime "mezz.jei:jei_1.12:4.7.0.67"
deobfCompile "MCMultiPart2:MCMultiPart-exp:2.0.0_26" deobfCompile "MCMultiPart2:MCMultiPart:2.2.1"
// deobfCompile "li.cil.oc:OpenComputers:MC1.11.2-1.7.0.28:api" // deobfCompile "li.cil.oc:OpenComputers:MC1.11.2-1.7.0.28:api"
} }

View File

@@ -9,7 +9,6 @@ import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance; import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent; 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.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.network.NetworkRegistry; 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 ID = "refinedstorage";
public static final String VERSION = "1.5.3"; 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 GUI_FACTORY = "com.raoulvdberge.refinedstorage.gui.config.ModGuiFactory";
public static final String UPDATE_JSON = "https://refinedstorage.raoulvdberge.com/update"; public static final String UPDATE_JSON = "https://refinedstorage.raoulvdberge.com/update";
@@ -58,9 +57,4 @@ public final class RS {
public void postInit(FMLPostInitializationEvent e) { public void postInit(FMLPostInitializationEvent e) {
PROXY.postInit(e); PROXY.postInit(e);
} }
@EventHandler
public void onMissingMapping(FMLMissingMappingsEvent e) {
PROXY.fixMappings(e);
}
} }

View File

@@ -34,11 +34,11 @@ import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraftforge.client.event.DrawBlockHighlightEvent; import net.minecraftforge.client.event.DrawBlockHighlightEvent;
import net.minecraftforge.client.event.ModelBakeEvent; import net.minecraftforge.client.event.ModelBakeEvent;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.client.model.ICustomModelLoader; import net.minecraftforge.client.model.ICustomModelLoader;
import net.minecraftforge.client.model.IModel; import net.minecraftforge.client.model.IModel;
import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.client.model.ModelLoaderRegistry; import net.minecraftforge.client.model.ModelLoaderRegistry;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.client.registry.ClientRegistry; import net.minecraftforge.fml.client.registry.ClientRegistry;
import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLInitializationEvent;
@@ -53,11 +53,35 @@ public class ProxyClient extends ProxyCommon {
public void preInit(FMLPreInitializationEvent e) { public void preInit(FMLPreInitializationEvent e) {
super.preInit(e); super.preInit(e);
MinecraftForge.EVENT_BUS.register(this);
// TESRs // TESRs
ClientRegistry.bindTileEntitySpecialRenderer(TileStorageMonitor.class, new TileEntitySpecialRendererStorageMonitor()); 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 // Item Variants
ModelBakery.registerItemVariants(RSItems.STORAGE_DISK, ModelBakery.registerItemVariants(RSItems.STORAGE_DISK,
new ResourceLocation("refinedstorage:1k_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.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 -> { ModelLoader.setCustomMeshDefinition(Item.getItemFromBlock(RSBlocks.CONTROLLER), stack -> {
int energy = stack.getItemDamage() == ControllerType.CREATIVE.getId() ? 7 : TileController.getEnergyScaled(ItemBlockController.getEnergyStored(stack), ItemBlockController.getEnergyCapacity(stack), 7); 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); 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 -> { ModelLoader.setCustomMeshDefinition(Item.getItemFromBlock(RSBlocks.PORTABLE_GRID), stack -> {
PortableGrid portableGrid = new PortableGrid(null, 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) { public static void onReceiveCraftingPreviewResponse(MessageGridCraftingPreviewResponse message) {
Minecraft.getMinecraft().addScheduledTask(() -> { Minecraft.getMinecraft().addScheduledTask(() -> {
GuiScreen screen = Minecraft.getMinecraft().currentScreen; GuiScreen screen = Minecraft.getMinecraft().currentScreen;

View File

@@ -23,7 +23,6 @@ import com.raoulvdberge.refinedstorage.capability.CapabilityNetworkNodeProxy;
import com.raoulvdberge.refinedstorage.gui.GuiHandler; import com.raoulvdberge.refinedstorage.gui.GuiHandler;
import com.raoulvdberge.refinedstorage.integration.craftingtweaks.IntegrationCraftingTweaks; import com.raoulvdberge.refinedstorage.integration.craftingtweaks.IntegrationCraftingTweaks;
import com.raoulvdberge.refinedstorage.integration.forgeenergy.ReaderWriterHandlerForgeEnergy; 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.ItemFluidStoragePart;
import com.raoulvdberge.refinedstorage.item.ItemProcessor; import com.raoulvdberge.refinedstorage.item.ItemProcessor;
import com.raoulvdberge.refinedstorage.item.ItemStoragePart; import com.raoulvdberge.refinedstorage.item.ItemStoragePart;
@@ -41,18 +40,27 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.NonNullList; import net.minecraft.util.NonNullList;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.event.FMLInitializationEvent; 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.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; 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.ByteBufUtils;
import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreDictionary;
import java.util.LinkedList;
import java.util.List;
public class ProxyCommon { public class ProxyCommon {
private List<Item> itemsToRegister = new LinkedList<>();
private List<BlockBase> blocksToRegister = new LinkedList<>();
public void preInit(FMLPreInitializationEvent e) { public void preInit(FMLPreInitializationEvent e) {
MinecraftForge.EVENT_BUS.register(this);
CapabilityNetworkNodeProxy.register(); CapabilityNetworkNodeProxy.register();
API.deliver(e.getAsmData()); API.deliver(e.getAsmData());
@@ -83,10 +91,6 @@ public class ProxyCommon {
API.instance().getReaderWriterHandlerRegistry().add(ReaderWriterHandlerRedstone.ID, tag -> new ReaderWriterHandlerRedstone()); API.instance().getReaderWriterHandlerRegistry().add(ReaderWriterHandlerRedstone.ID, tag -> new ReaderWriterHandlerRedstone());
API.instance().getReaderWriterHandlerRegistry().add(ReaderWriterHandlerForgeEnergy.ID, ReaderWriterHandlerForgeEnergy::new); API.instance().getReaderWriterHandlerRegistry().add(ReaderWriterHandlerForgeEnergy.ID, ReaderWriterHandlerForgeEnergy::new);
if (IntegrationCraftingTweaks.isLoaded()) {
IntegrationCraftingTweaks.register();
}
int id = 0; int id = 0;
RS.INSTANCE.network.registerMessage(MessageTileDataParameter.class, MessageTileDataParameter.class, id++, Side.CLIENT); RS.INSTANCE.network.registerMessage(MessageTileDataParameter.class, MessageTileDataParameter.class, id++, Side.CLIENT);
@@ -202,7 +206,9 @@ public class ProxyCommon {
registerItem(RSItems.NETWORK_CARD); registerItem(RSItems.NETWORK_CARD);
registerItem(RSItems.WRENCH); registerItem(RSItems.WRENCH);
registerItem(RSItems.SECURITY_CARD); registerItem(RSItems.SECURITY_CARD);
}
public void init(FMLInitializationEvent e) {
OreDictionary.registerOre("itemSilicon", RSItems.SILICON); OreDictionary.registerOre("itemSilicon", RSItems.SILICON);
// Processors // Processors
@@ -287,11 +293,13 @@ public class ProxyCommon {
OreDictionary.getOres("dustRedstone"), OreDictionary.getOres("dustRedstone"),
NonNullList.withSize(1, new ItemStack(RSBlocks.INTERFACE)) NonNullList.withSize(1, new ItemStack(RSBlocks.INTERFACE))
)); ));
}
public void init(FMLInitializationEvent e) { /*if (IntegrationOC.isLoaded()) {
if (IntegrationOC.isLoaded()) { DriverNetwork.register();
//DriverNetwork.register(); }*/
if (IntegrationCraftingTweaks.isLoaded()) {
IntegrationCraftingTweaks.register();
} }
} }
@@ -299,17 +307,33 @@ public class ProxyCommon {
// NO OP // NO OP
} }
public void fixMappings(FMLMissingMappingsEvent e) { @SubscribeEvent
for (FMLMissingMappingsEvent.MissingMapping missing : e.getAll()) { public void registerBlocks(RegistryEvent.Register<Block> e) {
if (missing.resourceLocation.getResourceDomain().equals(RS.ID) && missing.resourceLocation.getResourcePath().equals("grid_filter")) { blocksToRegister.forEach(e.getRegistry()::register);
}
@SubscribeEvent
public void registerItems(RegistryEvent.Register<Item> e) {
itemsToRegister.forEach(e.getRegistry()::register);
}
@SubscribeEvent
public void fixItemMappings(RegistryEvent.MissingMappings<Item> e) {
for (RegistryEvent.MissingMappings.Mapping<Item> missing : e.getMappings()) {
if (missing.key.getResourceDomain().equals(RS.ID) && missing.key.getResourcePath().equals("grid_filter")) {
missing.remap(RSItems.FILTER); missing.remap(RSItems.FILTER);
} }
} }
} }
private void registerBlock(BlockBase block) { private void registerBlock(BlockBase block) {
GameRegistry.<Block>register(block); blocksToRegister.add(block);
GameRegistry.register(block.createItem());
registerItem(block.createItem());
}
private void registerItem(Item item) {
itemsToRegister.add(item);
} }
private void registerTile(Class<? extends TileBase> tile, String id) { private void registerTile(Class<? extends TileBase> tile, String id) {
@@ -335,8 +359,4 @@ public class ProxyCommon {
e.printStackTrace(); e.printStackTrace();
} }
} }
private void registerItem(Item item) {
GameRegistry.register(item);
}
} }