Clean up ic2 support
This commit is contained in:
parent
7db621fbed
commit
bb5a3e2647
14 changed files with 116 additions and 110 deletions
|
@ -1,160 +0,0 @@
|
|||
/*
|
||||
* This file is part of TechReborn, licensed under the MIT License (MIT).
|
||||
*
|
||||
* Copyright (c) 2018 TechReborn
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
package techreborn.init;
|
||||
|
||||
import ic2.core.block.BlockIC2Fence;
|
||||
import ic2.core.block.BlockTexGlass;
|
||||
import ic2.core.block.type.ResourceBlock;
|
||||
import ic2.core.block.wiring.CableType;
|
||||
import ic2.core.item.block.ItemCable;
|
||||
import ic2.core.item.type.CraftingItemType;
|
||||
import ic2.core.item.type.MiscResourceType;
|
||||
import ic2.core.item.type.NuclearResourceType;
|
||||
import ic2.core.ref.BlockName;
|
||||
import ic2.core.ref.ItemName;
|
||||
import ic2.core.ref.TeBlock;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import reborncore.api.recipe.RecipeHandler;
|
||||
import reborncore.common.util.OreUtil;
|
||||
import techreborn.Core;
|
||||
import techreborn.api.recipe.machines.ExtractorRecipe;
|
||||
import techreborn.items.ingredients.ItemParts;
|
||||
|
||||
/**
|
||||
* Created by modmuss50 on 16/07/2016.
|
||||
*/
|
||||
public class IC2Dict {
|
||||
|
||||
//TODO IC2
|
||||
public static void init() {
|
||||
|
||||
IC2Duplicates.GRINDER.setIc2Stack(BlockName.te.getItemStack(TeBlock.macerator.getName()));
|
||||
IC2Duplicates.ELECTRICAL_FURNACE.setIc2Stack(BlockName.te.getItemStack(TeBlock.electric_furnace.getName()));
|
||||
IC2Duplicates.IRON_FURNACE.setIc2Stack(BlockName.te.getItemStack(TeBlock.iron_furnace.getName()));
|
||||
IC2Duplicates.GENERATOR.setIc2Stack(BlockName.te.getItemStack(TeBlock.generator.getName()));
|
||||
IC2Duplicates.WATER_MILL.setIc2Stack(BlockName.te.getItemStack(TeBlock.water_generator.getName()));
|
||||
IC2Duplicates.EXTRACTOR.setIc2Stack(BlockName.te.getItemStack(TeBlock.extractor.getName()));
|
||||
IC2Duplicates.RECYCLER.setIc2Stack(BlockName.te.getItemStack(TeBlock.recycler.getName()));
|
||||
IC2Duplicates.COMPRESSOR.setIc2Stack(BlockName.te.getItemStack(TeBlock.compressor.getName()));
|
||||
IC2Duplicates.BAT_BOX.setIc2Stack(BlockName.te.getItemStack(TeBlock.batbox.getName()));
|
||||
IC2Duplicates.MFE.setIc2Stack(BlockName.te.getItemStack(TeBlock.mfe.getName()));
|
||||
IC2Duplicates.MFSU.setIc2Stack(BlockName.te.getItemStack(TeBlock.mfsu.getName()));
|
||||
IC2Duplicates.LVT.setIc2Stack(BlockName.te.getItemStack(TeBlock.lv_transformer.getName()));
|
||||
IC2Duplicates.MVT.setIc2Stack(BlockName.te.getItemStack(TeBlock.mv_transformer.getName()));
|
||||
IC2Duplicates.HVT.setIc2Stack(BlockName.te.getItemStack(TeBlock.hv_transformer.getName()));
|
||||
IC2Duplicates.CABLE_COPPER.setIc2Stack(getIC2Cable(CableType.copper, 0));
|
||||
IC2Duplicates.CABLE_GOLD.setIc2Stack(getIC2Cable(CableType.gold, 0));
|
||||
IC2Duplicates.CABLE_ICOPPER.setIc2Stack(getIC2Cable(CableType.copper, 1));
|
||||
IC2Duplicates.CABLE_IGOLD.setIc2Stack(getIC2Cable(CableType.gold, 1));
|
||||
IC2Duplicates.CABLE_HV.setIc2Stack(getIC2Cable(CableType.tin, 0));
|
||||
IC2Duplicates.CABLE_IHV.setIc2Stack(getIC2Cable(CableType.tin, 1));
|
||||
IC2Duplicates.CABLE_IIHV.setIc2Stack(getIC2Cable(CableType.tin, 2));
|
||||
IC2Duplicates.CABLE_GLASSFIBER.setIc2Stack(getIC2Cable(CableType.glass, 0));
|
||||
|
||||
IC2Duplicates.MIXED_METAL.setIc2Stack(ItemName.ingot.getItemStack("alloy"));
|
||||
IC2Duplicates.CARBON_FIBER.setIc2Stack(ItemName.crafting.getItemStack("carbon_fibre"));
|
||||
IC2Duplicates.CARBON_MESH.setIc2Stack(ItemName.crafting.getItemStack("carbon_mesh"));
|
||||
IC2Duplicates.REFINED_IRON.setIc2Stack(ItemName.plate.getItemStack("iron"));
|
||||
IC2Duplicates.SCRAP.setIc2Stack(ItemName.crafting.getItemStack(CraftingItemType.scrap));
|
||||
IC2Duplicates.FREQ_TRANSMITTER.setIc2Stack(ItemName.frequency_transmitter.getItemStack());
|
||||
IC2Duplicates.NEUTRON_REFLECTOR.setIc2Stack(ItemName.neutron_reflector.getItemStack());
|
||||
IC2Duplicates.THICK_NEUTRON_REFLECTOR.setIc2Stack(ItemName.thick_neutron_reflector.getItemStack());
|
||||
IC2Duplicates.IRIDIUM_NEUTRON_REFLECTOR.setIc2Stack(ItemName.iridium_reflector.getItemStack());
|
||||
|
||||
//Rubber - ore dic: itemRubber, hidden from JEI
|
||||
//Rubber Sap - only used to make rubber, hidden from JEI
|
||||
//Rubber tree blocks, hidden when deduplication is on, and rubber tress are not set to gen, includes tree taps
|
||||
//Circuits are hidden in JEI
|
||||
|
||||
RecipeHandler.addRecipe(
|
||||
new ExtractorRecipe(ItemName.misc_resource.getItemStack("resin"),
|
||||
ItemParts.getPartByName("rubber", 3), 400, 2));
|
||||
|
||||
try {
|
||||
CraftingItemType.circuit.getName();
|
||||
|
||||
OreUtil.registerOre("reBattery", ItemName.re_battery.getItemStack());
|
||||
|
||||
OreUtil.registerOre("circuitBasic", ItemName.crafting.getItemStack(CraftingItemType.circuit));
|
||||
OreUtil.registerOre("circuitAdvanced", ItemName.crafting.getItemStack(CraftingItemType.advanced_circuit));
|
||||
|
||||
OreUtil.registerOre("machineBlockBasic", BlockName.resource.getItemStack(ResourceBlock.machine));
|
||||
OreUtil.registerOre("machineBlockAdvanced", BlockName.resource.getItemStack(ResourceBlock.advanced_machine));
|
||||
|
||||
OreUtil.registerOre("lapotronCrystal", ItemName.lapotron_crystal.getItemStack());
|
||||
OreUtil.registerOre("energyCrystal", ItemName.energy_crystal.getItemStack());
|
||||
|
||||
OreUtil.registerOre("drillBasic", ItemName.drill.getItemStack());
|
||||
OreUtil.registerOre("drillDiamond", ItemName.diamond_drill.getItemStack());
|
||||
OreUtil.registerOre("drillAdvanced", ItemName.iridium_drill.getItemStack());
|
||||
|
||||
OreUtil.registerOre("reflectorBasic", ItemName.neutron_reflector.getItemStack());
|
||||
OreUtil.registerOre("reflectorThick", ItemName.thick_neutron_reflector.getItemStack());
|
||||
OreUtil.registerOre("reflectorIridium", ItemName.iridium_reflector.getItemStack());
|
||||
|
||||
ItemStack industrialTnt = BlockName.te.getItemStack(TeBlock.itnt);
|
||||
industrialTnt.setItemDamage(1);
|
||||
OreUtil.registerOre("industrialTnt", industrialTnt);
|
||||
|
||||
OreUtil.registerOre("craftingIndustrialDiamond", ItemName.crafting.getItemStack(CraftingItemType.industrial_diamond));
|
||||
OreUtil.registerOre("fertilizer", ItemName.crafting.getItemStack(CraftingItemType.bio_chaff));
|
||||
OreUtil.registerOre("hvTransformer", BlockName.te.getItemStack(TeBlock.hv_transformer));
|
||||
|
||||
OreUtil.registerOre("uran235", ItemName.nuclear.getItemStack(NuclearResourceType.uranium_235));
|
||||
OreUtil.registerOre("uran238", ItemName.nuclear.getItemStack(NuclearResourceType.uranium_238));
|
||||
OreUtil.registerOre("smallUran238", ItemName.nuclear.getItemStack(NuclearResourceType.small_uranium_238));
|
||||
OreUtil.registerOre("smallUran235", ItemName.nuclear.getItemStack(NuclearResourceType.small_uranium_235));
|
||||
|
||||
OreUtil.registerOre("fenceIron", BlockName.fence.getItemStack(BlockIC2Fence.IC2FenceType.iron));
|
||||
OreUtil.registerOre("rubberWood", BlockName.rubber_wood.getItemStack());
|
||||
OreUtil.registerOre("glassReinforced", BlockName.glass.getItemStack(BlockTexGlass.GlassType.reinforced));
|
||||
|
||||
OreUtil.registerOre("oreIridium", ItemName.misc_resource.getItemStack(MiscResourceType.iridium_ore));
|
||||
|
||||
OreUtil.registerOre("plateIridiumAlloy", ItemName.crafting.getItemStack(CraftingItemType.iridium));
|
||||
|
||||
} catch (NoClassDefFoundError notFound) {
|
||||
Core.logHelper.warn(
|
||||
"Can't enable integration: IC2 installed but cannot be hooked\n" +
|
||||
"Do you use incompatible IC2 version?\n" +
|
||||
"Please create issue on github and provide FULL LOG and mod list");
|
||||
} catch (Throwable error) {
|
||||
Core.logHelper.warn(
|
||||
"Exception thrown during IC2 integration init\n" +
|
||||
"Do you use incompatible IC2 version?\n" +
|
||||
"Please create issue on github and provide FULL LOG and mod list.\n" +
|
||||
"Error stack trace: ");
|
||||
error.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static ItemStack getIC2Cable(CableType type, int insulation) {
|
||||
if (insulation > type.maxInsulation) {
|
||||
return null;
|
||||
}
|
||||
return ItemCable.getCable(type, insulation);
|
||||
}
|
||||
|
||||
}
|
|
@ -25,6 +25,7 @@
|
|||
package techreborn.init;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import techreborn.api.TechRebornAPI;
|
||||
import techreborn.blocks.cable.EnumCableType;
|
||||
import techreborn.compat.CompatManager;
|
||||
import techreborn.config.ConfigTechReborn;
|
||||
|
@ -82,15 +83,15 @@ public enum IC2Duplicates {
|
|||
}
|
||||
|
||||
public static boolean deduplicate() {
|
||||
if (!CompatManager.isIC2Loaded) {
|
||||
if (TechRebornAPI.ic2Helper == null) {
|
||||
return false;
|
||||
}
|
||||
return ConfigTechReborn.REMOVE_DUPLICATES;
|
||||
}
|
||||
|
||||
public ItemStack getIc2Stack() {
|
||||
if (!CompatManager.isIC2Loaded) {
|
||||
throw new RuntimeException("IC2 isnt loaded");
|
||||
if (TechRebornAPI.ic2Helper == null) {
|
||||
throw new RuntimeException("IC2 API isnt populated");
|
||||
}
|
||||
if (ic2Stack.isEmpty()) {
|
||||
throw new RuntimeException("IC2 stack wasnt set ");
|
||||
|
|
|
@ -29,9 +29,8 @@ import com.google.common.collect.ImmutableList;
|
|||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.fml.common.Loader;
|
||||
import reborncore.common.util.OreUtil;
|
||||
import techreborn.Core;
|
||||
import techreborn.api.TechRebornAPI;
|
||||
import techreborn.blocks.BlockMachineFrames;
|
||||
import techreborn.blocks.cable.BlockCable;
|
||||
import techreborn.items.ingredients.ItemDusts;
|
||||
|
@ -52,9 +51,8 @@ public class OreDict {
|
|||
);
|
||||
|
||||
public static void init() {
|
||||
if (Loader.isModLoaded("ic2")) {
|
||||
Core.logHelper.info("IC2 installed, enabling integration");
|
||||
IC2Dict.init();
|
||||
if(TechRebornAPI.ic2Helper != null){
|
||||
TechRebornAPI.ic2Helper.initDuplicates();
|
||||
}
|
||||
|
||||
OreUtil.registerOre("reBattery", ModItems.RE_BATTERY);
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
|
||||
package techreborn.init.recipes;
|
||||
|
||||
import ic2.api.item.IC2Items;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@ -57,21 +56,14 @@ public class ChemicalReactorRecipes extends RecipeMethods {
|
|||
register(getMaterial("compressedair", Type.CELL), getMaterial("hydrogen", 2, Type.CELL), getMaterial("water", Type.CELL), 400);
|
||||
register(getMaterial("compressedair", 2, Type.CELL), getMaterial("nitrogen", Type.CELL), getMaterial("nitrogenDioxide", Type.CELL), 400);
|
||||
register(getMaterial("oil", Type.CELL), getMaterial("nitrogen", Type.CELL), getMaterial("nitrofuel", 2, Type.CELL), 800);
|
||||
|
||||
//Dusts
|
||||
if (techreborn.compat.CompatManager.isIC2Loaded){
|
||||
ItemStack f = IC2Items.getItem("crop_res", "fertilizer");
|
||||
register(getMaterial("calcite", Type.DUST), getMaterial("sulfur", Type.DUST), f, 40);
|
||||
//There is no recipe for phosphorous yet.
|
||||
//register(getMaterial("calcite", Type.DUST), getMaterial("phosphorous", Type.DUST), f, 40);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void register(ItemStack in1, ItemStack in2, ItemStack out, int tickTime, int euPerTick){
|
||||
public static void register(ItemStack in1, ItemStack in2, ItemStack out, int tickTime, int euPerTick){
|
||||
RecipeHandler.addRecipe(new ChemicalReactorRecipe(in1, in2, out, tickTime, euPerTick));
|
||||
}
|
||||
|
||||
static void register (ItemStack in1, ItemStack in2, ItemStack out, int tickTime){
|
||||
|
||||
public static void register (ItemStack in1, ItemStack in2, ItemStack out, int tickTime){
|
||||
register(in1, in2, out, tickTime, 30);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue