diff --git a/gradle.properties b/gradle.properties index 2909643af3d..791a6a64af2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,5 +4,5 @@ FMP_version=1.2.0.345 CCLIB_version=1.1.3.141 NEI_version=1.0.5.120 CCC_version=1.0.7.48 -mod_version=9.10.38 -alt_version=9, 10, 38 +mod_version=9.10.39 +alt_version=9, 10, 39 diff --git a/libs/Et_Futurum_Requiem-2.6.0-dev-nomixin.jar b/libs/Et_Futurum_Requiem-2.6.0-dev-nomixin.jar new file mode 100644 index 00000000000..a83e8a5731f Binary files /dev/null and b/libs/Et_Futurum_Requiem-2.6.0-dev-nomixin.jar differ diff --git a/src/main/java/mekanism/api/MekanismConfig.java b/src/main/java/mekanism/api/MekanismConfig.java index bad650c6e3c..6c2015936a3 100644 --- a/src/main/java/mekanism/api/MekanismConfig.java +++ b/src/main/java/mekanism/api/MekanismConfig.java @@ -72,7 +72,10 @@ public static class general } public static class mekce { + + public static boolean enableoregen; public static boolean enableBoPProgression; + public static boolean enabledeepslateosmium; public static boolean EnableQuartzCompat; public static boolean EnableDiamondCompat; public static boolean EnablePoorOresCompat; diff --git a/src/main/java/mekanism/common/CommonProxy.java b/src/main/java/mekanism/common/CommonProxy.java index d4eaa6773aa..0aa65aa597a 100644 --- a/src/main/java/mekanism/common/CommonProxy.java +++ b/src/main/java/mekanism/common/CommonProxy.java @@ -251,6 +251,7 @@ public int getArmorIndex(String string) public void loadConfiguration() { general.updateNotifications = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "UpdateNotificationsv2", true).getBoolean(); + mekce.enableoregen = Mekanism.configuration.get("mekce", "EnableOreGen", true, "disables completely the oregen").getBoolean(); general.controlCircuitOreDict = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "ControlCircuitOreDict", true).getBoolean(); general.logPackets = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "LogPackets", false).getBoolean(); general.dynamicTankEasterEgg = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "DynamicTankEasterEgg", false).getBoolean(); @@ -262,6 +263,7 @@ public void loadConfiguration() general.obsidianTNTBlastRadius = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "ObsidianTNTBlastRadius", 12).getInt(); general.UPDATE_DELAY = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "ClientUpdateDelay", 10).getInt(); general.osmiumPerChunk = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "OsmiumPerChunk", 12).getInt(); + mekce.enabledeepslateosmium = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "EnableDeepslateOsmiumOreInEFR", true, "adds deepslate osmium ore entry to efr if et futurum requiem is present").getBoolean(); general.copperPerChunk = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "CopperPerChunk", 16).getInt(); general.tinPerChunk = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "TinPerChunk", 14).getInt(); general.saltPerChunk = Mekanism.configuration.get(Configuration.CATEGORY_GENERAL, "SaltPerChunk", 2).getInt(); diff --git a/src/main/java/mekanism/common/Mekanism.java b/src/main/java/mekanism/common/Mekanism.java index d498deda2aa..5974b180b1b 100644 --- a/src/main/java/mekanism/common/Mekanism.java +++ b/src/main/java/mekanism/common/Mekanism.java @@ -988,6 +988,9 @@ public void addRecipes() FurnaceRecipes.smelting().func_151394_a(new ItemStack(MekanismBlocks.OreBlock, 1, 0), new ItemStack(MekanismItems.Ingot, 1, 1), 1.0F); FurnaceRecipes.smelting().func_151394_a(new ItemStack(MekanismBlocks.OreBlock, 1, 1), new ItemStack(MekanismItems.Ingot, 1, 5), 1.0F); FurnaceRecipes.smelting().func_151394_a(new ItemStack(MekanismBlocks.OreBlock, 1, 2), new ItemStack(MekanismItems.Ingot, 1, 6), 1.0F); + FurnaceRecipes.smelting().func_151394_a(new ItemStack(MekanismBlocks.DeepslateOreBlock, 1, 0), new ItemStack(MekanismItems.Ingot, 1, 1), 1.0F); + FurnaceRecipes.smelting().func_151394_a(new ItemStack(MekanismBlocks.DeepslateOreBlock, 1, 1), new ItemStack(MekanismItems.Ingot, 1, 5), 1.0F); + FurnaceRecipes.smelting().func_151394_a(new ItemStack(MekanismBlocks.DeepslateOreBlock, 1, 2), new ItemStack(MekanismItems.Ingot, 1, 6), 1.0F); FurnaceRecipes.smelting().func_151394_a(new ItemStack(MekanismItems.Dust, 1, Resource.OSMIUM.ordinal()), new ItemStack(MekanismItems.Ingot, 1, 1), 0.0F); FurnaceRecipes.smelting().func_151394_a(new ItemStack(MekanismItems.Dust, 1, Resource.IRON.ordinal()), new ItemStack(Items.iron_ingot), 0.0F); FurnaceRecipes.smelting().func_151394_a(new ItemStack(MekanismItems.Dust, 1, Resource.GOLD.ordinal()), new ItemStack(Items.gold_ingot), 0.0F); @@ -1280,6 +1283,12 @@ public void registerOreDict() OreDictionary.registerOre("ore" + mekanismMaterial, new ItemStack(MekanismBlocks.OreBlock, 1, 0)); OreDictionary.registerOre("oreCopper", new ItemStack(MekanismBlocks.OreBlock, 1, 1)); OreDictionary.registerOre("oreTin", new ItemStack(MekanismBlocks.OreBlock, 1, 2)); + OreDictionary.registerOre("ore" + mekanismMaterial, new ItemStack(MekanismBlocks.DeepslateOreBlock, 1, 0)); + OreDictionary.registerOre("oreDeepslateOsmium", new ItemStack(MekanismBlocks.DeepslateOreBlock, 1, 0)); + OreDictionary.registerOre("oreCopper", new ItemStack(MekanismBlocks.DeepslateOreBlock, 1, 1)); + OreDictionary.registerOre("oreDeepslateCopper", new ItemStack(MekanismBlocks.DeepslateOreBlock, 1, 1)); + OreDictionary.registerOre("oreTin", new ItemStack(MekanismBlocks.DeepslateOreBlock, 1, 2)); + OreDictionary.registerOre("oreDeepslateTin", new ItemStack(MekanismBlocks.DeepslateOreBlock, 1, 2)); if(general.controlCircuitOreDict) { @@ -1452,7 +1461,9 @@ public void init(FMLInitializationEvent event) Mekanism.proxy.Cape(); //Register the mod's world generators - GameRegistry.registerWorldGenerator(genHandler, 1); + if (MekanismConfig.mekce.enableoregen) { + GameRegistry.registerWorldGenerator(genHandler, 1); + } //Register the mod's GUI handler NetworkRegistry.INSTANCE.registerGuiHandler(this, new CoreGuiHandler()); diff --git a/src/main/java/mekanism/common/MekanismBlocks.java b/src/main/java/mekanism/common/MekanismBlocks.java index 4222a32a1d3..5461dee0765 100644 --- a/src/main/java/mekanism/common/MekanismBlocks.java +++ b/src/main/java/mekanism/common/MekanismBlocks.java @@ -35,7 +35,8 @@ public class MekanismBlocks public static final Block MachineBlock = new BlockMachine(MACHINE_BLOCK_1).setBlockName("MachineBlock"); public static final Block MachineBlock2 = new BlockMachine(MACHINE_BLOCK_2).setBlockName("MachineBlock2"); public static final Block MachineBlock3 = new BlockMachine(MACHINE_BLOCK_3).setBlockName("MachineBlock3"); - public static final Block OreBlock = new BlockOre().setBlockName("OreBlock"); + public static final Block OreBlock = new BlockOre("stone").setBlockName("OreBlock"); + public static final Block DeepslateOreBlock = new BlockOre("deepslate").setBlockName("DeepslateOreBlock"); public static final Block ObsidianTNT = new BlockObsidianTNT().setBlockName("ObsidianTNT").setCreativeTab(Mekanism.tabMekanism); public static final Block EnergyCube = new BlockEnergyCube().setBlockName("EnergyCube"); public static final Block BoundingBlock = (BlockBounding)new BlockBounding().setBlockName("BoundingBlock"); @@ -60,6 +61,7 @@ public static void register() GameRegistry.registerBlock(MachineBlock2, ItemBlockMachine.class, "MachineBlock2"); GameRegistry.registerBlock(MachineBlock3, ItemBlockMachine.class, "MachineBlock3"); GameRegistry.registerBlock(OreBlock, ItemBlockOre.class, "OreBlock"); + GameRegistry.registerBlock(DeepslateOreBlock, ItemBlockOre.class, "DeepslateOreBlock"); GameRegistry.registerBlock(EnergyCube, ItemBlockEnergyCube.class, "EnergyCube"); GameRegistry.registerBlock(ObsidianTNT, "ObsidianTNT"); GameRegistry.registerBlock(BoundingBlock, "BoundingBlock"); diff --git a/src/main/java/mekanism/common/block/BlockOre.java b/src/main/java/mekanism/common/block/BlockOre.java index d8679fa6905..9f0a75a31f1 100644 --- a/src/main/java/mekanism/common/block/BlockOre.java +++ b/src/main/java/mekanism/common/block/BlockOre.java @@ -3,6 +3,7 @@ import java.util.List; import mekanism.common.Mekanism; +import mekanism.common.MekanismBlocks; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -25,10 +26,10 @@ public class BlockOre extends Block { public IIcon[] icons = new IIcon[256]; - public BlockOre() + public BlockOre(String type) { super(Material.rock); - setHardness(3F); + setHardness(type == "deepslate" ? 4.5F : 3F); setResistance(5F); setCreativeTab(Mekanism.tabMekanism); } @@ -37,9 +38,17 @@ public BlockOre() @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister register) { - icons[0] = register.registerIcon("mekanism:OsmiumOre"); - icons[1] = register.registerIcon("mekanism:CopperOre"); - icons[2] = register.registerIcon("mekanism:TinOre"); + if(this == MekanismBlocks.OreBlock) + { + icons[0] = register.registerIcon("mekanism:OsmiumOre"); + icons[1] = register.registerIcon("mekanism:CopperOre"); + icons[2] = register.registerIcon("mekanism:TinOre"); + } + if(this == MekanismBlocks.DeepslateOreBlock) { + icons[0] = register.registerIcon("mekanism:DeepslateOsmiumOre"); + icons[1] = register.registerIcon("mekanism:DeepslateCopperOre"); + icons[2] = register.registerIcon("mekanism:DeepslateTinOre"); + } } @Override diff --git a/src/main/java/mekanism/common/integration/MekanismHooks.java b/src/main/java/mekanism/common/integration/MekanismHooks.java index 54cf920a564..1b127326be2 100644 --- a/src/main/java/mekanism/common/integration/MekanismHooks.java +++ b/src/main/java/mekanism/common/integration/MekanismHooks.java @@ -12,6 +12,7 @@ import li.cil.oc.api.Driver; import mekanism.api.transmitters.TransmissionType; import mekanism.common.Mekanism; +import mekanism.common.MekanismBlocks; import mekanism.common.MekanismItems; import mekanism.common.Resource; import mekanism.common.multipart.TransmitterType; @@ -24,6 +25,8 @@ import cpw.mods.fml.common.Optional.Method; import cpw.mods.fml.common.event.FMLInterModComms; import dan200.computercraft.api.ComputerCraftAPI; +import ganymedes01.etfuturum.api.DeepslateOreRegistry; +import mekanism.api.MekanismConfig.mekce; /** * Hooks for Mekanism. Use to grab items or blocks out of different mods. @@ -41,6 +44,7 @@ public final class MekanismHooks public boolean CCLoaded = false; public boolean AE2Loaded = false; public boolean RRLoaded = false; + public boolean EFRLoaded = false; public void hook() { @@ -51,6 +55,12 @@ public void hook() if(Loader.isModLoaded("ComputerCraft")) CCLoaded = true; if(Loader.isModLoaded("appliedenergistics2")) AE2Loaded = true; if(Loader.isModLoaded("RefinedRelocation")) RRLoaded = true; + if(Loader.isModLoaded("etfuturum")) EFRLoaded = true; + + if(EFRLoaded && mekce.enabledeepslateosmium){ + hookEFRRecipes(); + Mekanism.logger.info("Hooked into EFR api successfully."); + } if(IC2Loaded) { @@ -63,9 +73,14 @@ public void hook() loadCCPeripheralProviders(); } + } + @Method(modid = "etfuturum") + public void hookEFRRecipes() { + DeepslateOreRegistry.addOre(MekanismBlocks.OreBlock, 0, MekanismBlocks.DeepslateOreBlock, 0); + } @Method(modid = "IC2") public void hookIC2Recipes() { diff --git a/src/main/java/mekanism/common/item/ItemBlockOre.java b/src/main/java/mekanism/common/item/ItemBlockOre.java index 7a4e0affb80..d7812a2a131 100644 --- a/src/main/java/mekanism/common/item/ItemBlockOre.java +++ b/src/main/java/mekanism/common/item/ItemBlockOre.java @@ -76,6 +76,9 @@ public String getUnlocalizedName(ItemStack itemstack) case 2: name = "TinOre"; break; + case 3: + name = "DeepslateOsmiumOre"; + break; default: name = "Unknown"; break; diff --git a/src/main/java/mekanism/common/network/PacketConfigSync.java b/src/main/java/mekanism/common/network/PacketConfigSync.java index 2452d632d7e..c1eb9e65a9e 100644 --- a/src/main/java/mekanism/common/network/PacketConfigSync.java +++ b/src/main/java/mekanism/common/network/PacketConfigSync.java @@ -214,9 +214,6 @@ public void toBytes(ByteBuf dataStream) dataStream.writeBoolean(recipes.enableFlamethrower); dataStream.writeBoolean(recipes.enableGaugeDropper); dataStream.writeBoolean(recipes.enableTierInstaller); - mekce.atomicDisassemblerPoweredDamage = dataStream.readInt(); - mekce.atomicDisassemblerUnpoweredDamage = dataStream.readInt(); - mekce.atomicDisassemblerAttackPowerCost = dataStream.readInt(); Tier.writeConfig(dataStream); @@ -289,6 +286,9 @@ public void fromBytes(ByteBuf dataStream) mekce.digitalMinerMaxRadius = dataStream.readInt(); mekce.enableSingleUseCardboxes = dataStream.readBoolean(); mekce.enablePersonalChestPocketAccess = dataStream.readBoolean(); + mekce.atomicDisassemblerPoweredDamage = dataStream.readInt(); + mekce.atomicDisassemblerUnpoweredDamage = dataStream.readInt(); + mekce.atomicDisassemblerAttackPowerCost = dataStream.readInt(); for(MachineType type : MachineType.getValidMachines()) { diff --git a/src/main/resources/assets/mekanism/lang/en_US.lang b/src/main/resources/assets/mekanism/lang/en_US.lang index 1516f11b921..7e9ae23d18c 100644 --- a/src/main/resources/assets/mekanism/lang/en_US.lang +++ b/src/main/resources/assets/mekanism/lang/en_US.lang @@ -185,6 +185,9 @@ infuse.lead=Lead tile.OreBlock.OsmiumOre.name=Osmium Ore tile.OreBlock.CopperOre.name=Copper Ore tile.OreBlock.TinOre.name=Tin Ore +tile.DeepslateOreBlock.OsmiumOre.name=Deepslate Osmium Ore +tile.DeepslateOreBlock.CopperOre.name=Deepslate Copper Ore +tile.DeepslateOreBlock.TinOre.name=Deepslate Tin Ore //Transmitters item.MultipartTransmitter.BasicPressurizedTube.name=Basic Pressurized Tube diff --git a/src/main/resources/assets/mekanism/textures/blocks/DeepslateCopperOre.png b/src/main/resources/assets/mekanism/textures/blocks/DeepslateCopperOre.png new file mode 100644 index 00000000000..36c0870b3a7 Binary files /dev/null and b/src/main/resources/assets/mekanism/textures/blocks/DeepslateCopperOre.png differ diff --git a/src/main/resources/assets/mekanism/textures/blocks/DeepslateOsmiumOre.png b/src/main/resources/assets/mekanism/textures/blocks/DeepslateOsmiumOre.png new file mode 100644 index 00000000000..3f73bc01b65 Binary files /dev/null and b/src/main/resources/assets/mekanism/textures/blocks/DeepslateOsmiumOre.png differ diff --git a/src/main/resources/assets/mekanism/textures/blocks/DeepslateTinOre.png b/src/main/resources/assets/mekanism/textures/blocks/DeepslateTinOre.png new file mode 100644 index 00000000000..f93c0c3d983 Binary files /dev/null and b/src/main/resources/assets/mekanism/textures/blocks/DeepslateTinOre.png differ