diff --git a/build.gradle b/build.gradle index 627e531cb..f5709c245 100644 --- a/build.gradle +++ b/build.gradle @@ -64,7 +64,7 @@ configurations { } -version = "1.3.2" +version = "1.3.4" def ENV = System.getenv() if (ENV.BUILD_NUMBER) { diff --git a/src/main/java/techreborn/blocks/generator/BlockLightningRod.java b/src/main/java/techreborn/blocks/generator/BlockLightningRod.java index cce00b3c9..e43931b49 100644 --- a/src/main/java/techreborn/blocks/generator/BlockLightningRod.java +++ b/src/main/java/techreborn/blocks/generator/BlockLightningRod.java @@ -1,43 +1,23 @@ package techreborn.blocks.generator; import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; import reborncore.common.blocks.BlockMachineBase; -import reborncore.common.blocks.IAdvancedRotationTexture; import techreborn.client.TechRebornCreativeTab; +import techreborn.tiles.generator.TileLightningRod; -public class BlockLightningRod extends BlockMachineBase implements IAdvancedRotationTexture -{ +public class BlockLightningRod extends BlockMachineBase { - private final String prefix = "techreborn:blocks/machine/generators/"; - - public BlockLightningRod(Material material) - { + public BlockLightningRod(Material material) { super(); setUnlocalizedName("techreborn.lightningrod"); setCreativeTab(TechRebornCreativeTab.instance); } @Override - public String getFront(boolean isActive) - { - return isActive ? prefix + "lightning_rod_side_on" : prefix + "lightning_rod_side_off"; + public TileEntity createNewTileEntity(World worldObj, int meta) { + return new TileLightningRod(); } - @Override - public String getSide(boolean isActive) - { - return isActive ? prefix + "lightning_rod_side_on" : prefix + "lightning_rod_side_off"; - } - - @Override - public String getTop(boolean isActive) - { - return isActive ? prefix + "lightning_rod_top_on" : prefix + "lightning_rod_top_off"; - } - - @Override - public String getBottom(boolean isActive) - { - return prefix + "generator_machine_bottom"; - } } diff --git a/src/main/java/techreborn/config/ConfigTechReborn.java b/src/main/java/techreborn/config/ConfigTechReborn.java index fe45961b5..65e5a21c8 100644 --- a/src/main/java/techreborn/config/ConfigTechReborn.java +++ b/src/main/java/techreborn/config/ConfigTechReborn.java @@ -24,6 +24,7 @@ public class ConfigTechReborn public static boolean UninsulatedElectocutionDamage; public static boolean ScrapboxDispenser; // Power + public static int LightningRodChance; public static int ThermalGeneratorOutput; public static int CentrifugeInputTick; public static int DragonEggSiphonerOutput; @@ -202,6 +203,10 @@ public class ConfigTechReborn "FortuneSecondaryOreMultiplierPerLevel").getDouble(); // Power + LightningRodChance = config + .get(CATEGORY_POWER, "Lightning Rod light struck chance", 24, "Set the chance of light strike (0-70)", 0, 70) + .getInt(); + ThermalGeneratorOutput = config .get(CATEGORY_POWER, "ThermalGenerator Max Output", 60, "Set the max output for the ThermalGenerator") .getInt(); diff --git a/src/main/java/techreborn/init/IC2Dict.java b/src/main/java/techreborn/init/IC2Dict.java new file mode 100644 index 000000000..6e368b07e --- /dev/null +++ b/src/main/java/techreborn/init/IC2Dict.java @@ -0,0 +1,84 @@ +package techreborn.init; + +import ic2.core.block.BlockIC2Fence; +import ic2.core.block.BlockTexGlass; +import ic2.core.block.type.ResourceBlock; +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 net.minecraftforge.oredict.OreDictionary; +import techreborn.Core; + +/** + * Created by modmuss50 on 16/07/2016. + */ +public class IC2Dict { + + public static void init() { + try { + CraftingItemType.circuit.getName(); + + OreDictionary.registerOre("reBattery", ItemName.re_battery.getItemStack()); + + OreDictionary.registerOre("circuitBasic", ItemName.crafting.getItemStack(CraftingItemType.circuit)); + OreDictionary.registerOre("circuitAdvanced", ItemName.crafting.getItemStack(CraftingItemType.advanced_circuit)); + + + OreDictionary.registerOre("machineBlockBasic", BlockName.resource.getItemStack(ResourceBlock.machine)); + OreDictionary.registerOre("machineBlockAdvanced", BlockName.resource.getItemStack(ResourceBlock.advanced_machine)); + + OreDictionary.registerOre("lapotronCrystal", ItemName.lapotron_crystal.getItemStack()); + OreDictionary.registerOre("energyCrystal", ItemName.lapotron_crystal.getItemStack()); + + OreDictionary.registerOre("drillBasic", ItemName.drill.getItemStack()); + OreDictionary.registerOre("drillDiamond", ItemName.diamond_drill.getItemStack()); + OreDictionary.registerOre("drillAdvanced", ItemName.iridium_drill.getItemStack()); + + ItemStack industrialTnt = BlockName.te.getItemStack(TeBlock.itnt); + industrialTnt.setItemDamage(1); + OreDictionary.registerOre("industrialTnt", industrialTnt); + + OreDictionary.registerOre("craftingIndustrialDiamond", ItemName.crafting.getItemStack(CraftingItemType.industrial_diamond)); + OreDictionary.registerOre("fertilizer", ItemName.crafting.getItemStack(CraftingItemType.bio_chaff)); + OreDictionary.registerOre("hvTransformer", BlockName.te.getItemStack(TeBlock.hv_transformer)); + + //TODO: + + //OreDictionary.registerOre("insulatedGoldCableItem", BlockName.te.getItemStack(CableType.gold)); + + //OreDictionary.registerOre("ic2Generator", ModBlocks.Generator); + //OreDictionary.registerOre("ic2SolarPanel", ModBlocks.solarPanel); + //OreDictionary.registerOre("ic2Macerator", ModBlocks.Grinder); + //OreDictionary.registerOre("ic2Extractor", ModBlocks.Extractor); + //OreDictionary.registerOre("ic2Windmill", ModBlocks.windMill); + //OreDictionary.registerOre("ic2Watermill", ModBlocks.waterMill); + + OreDictionary.registerOre("uran235", ItemName.nuclear.getItemStack(NuclearResourceType.uranium_235)); + OreDictionary.registerOre("uran238", ItemName.nuclear.getItemStack(NuclearResourceType.uranium_238)); + OreDictionary.registerOre("smallUran238", ItemName.nuclear.getItemStack(NuclearResourceType.small_uranium_238)); + OreDictionary.registerOre("smallUran235", ItemName.nuclear.getItemStack(NuclearResourceType.small_uranium_235)); + + OreDictionary.registerOre("fenceIron", BlockName.fence.getItemStack(BlockIC2Fence.IC2FenceType.iron)); + OreDictionary.registerOre("rubberWood", BlockName.rubber_wood.getItemStack()); + OreDictionary.registerOre("glassReinforced", BlockName.glass.getItemStack(BlockTexGlass.GlassType.reinforced)); + + OreDictionary.registerOre("oreIridium", ItemName.misc_resource.getItemStack(MiscResourceType.iridium_ore)); + } 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(); + } + } +} diff --git a/src/main/java/techreborn/init/ModBlocks.java b/src/main/java/techreborn/init/ModBlocks.java index dc3b371c9..3ce5e3f26 100644 --- a/src/main/java/techreborn/init/ModBlocks.java +++ b/src/main/java/techreborn/init/ModBlocks.java @@ -72,16 +72,7 @@ import techreborn.itemblocks.ItemBlockStorage; import techreborn.itemblocks.ItemBlockStorage2; import techreborn.tiles.*; import techreborn.tiles.fusionReactor.TileEntityFusionController; -import techreborn.tiles.generator.TileDieselGenerator; -import techreborn.tiles.generator.TileDragonEggSiphoner; -import techreborn.tiles.generator.TileGasTurbine; -import techreborn.tiles.generator.TileGenerator; -import techreborn.tiles.generator.TileHeatGenerator; -import techreborn.tiles.generator.TileSemifluidGenerator; -import techreborn.tiles.generator.TileSolarPanel; -import techreborn.tiles.generator.TileThermalGenerator; -import techreborn.tiles.generator.TileWaterMill; -import techreborn.tiles.generator.TileWindMill; +import techreborn.tiles.generator.*; import techreborn.tiles.idsu.TileIDSU; import techreborn.tiles.lesu.TileLesu; import techreborn.tiles.lesu.TileLesuStorage; @@ -334,6 +325,7 @@ public class ModBlocks LightningRod = new BlockLightningRod(Material.ROCK); registerBlock(LightningRod, "lightningrod"); + GameRegistry.registerTileEntity(TileLightningRod.class, "TileLightningRodTR"); heatGenerator = new BlockHeatGenerator(Material.ROCK); registerBlock(heatGenerator, "heatgenerator"); diff --git a/src/main/java/techreborn/init/ModItems.java b/src/main/java/techreborn/init/ModItems.java index 0e8f330eb..ce6aa8b8c 100644 --- a/src/main/java/techreborn/init/ModItems.java +++ b/src/main/java/techreborn/init/ModItems.java @@ -307,8 +307,6 @@ public class ModItems Core.logHelper.info("TechReborns Items Loaded"); - registerOreDict(); - BlockMachineBase.advancedMachineStack = BlockMachineFrame.getFrameByName("advancedMachine", 1); BlockMachineBase.machineStack = BlockMachineFrame.getFrameByName("machine", 1); } @@ -318,255 +316,4 @@ public class ModItems GameRegistry.register(item); } - public static void registerOreDict() - { - - OreUnifier.registerOre("gemRuby", ItemGems.getGemByName("ruby")); - OreUnifier.registerOre("gemSapphire", ItemGems.getGemByName("sapphire")); - OreUnifier.registerOre("gemPeridot", ItemGems.getGemByName("peridot")); - OreUnifier.registerOre("gemRedGarnet", ItemGems.getGemByName("redGarnet")); - OreUnifier.registerOre("gemYellowGarnet", ItemGems.getGemByName("yellowGarnet")); - - // Dusts - OreUnifier.registerOre("dustAlmandine", ItemDusts.getDustByName("almandine")); - OreUnifier.registerOre("dustAluminum", ItemDusts.getDustByName("aluminum")); - OreUnifier.registerOre("dustAluminium", ItemDusts.getDustByName("aluminum")); - OreUnifier.registerOre("dustAndesite", ItemDusts.getDustByName("andesite")); - OreUnifier.registerOre("dustAndradite", ItemDusts.getDustByName("andradite")); - OreUnifier.registerOre("dustAsh", ItemDusts.getDustByName("ashes")); - OreUnifier.registerOre("dustBasalt", ItemDusts.getDustByName("basalt")); - OreUnifier.registerOre("dustBauxite", ItemDusts.getDustByName("bauxite")); - OreUnifier.registerOre("dustBrass", ItemDusts.getDustByName("brass")); - OreUnifier.registerOre("dustBronze", ItemDusts.getDustByName("bronze")); - OreUnifier.registerOre("dustCalcite", ItemDusts.getDustByName("calcite")); - OreUnifier.registerOre("dustCharcoal", ItemDusts.getDustByName("charcoal")); - OreUnifier.registerOre("dustChrome", ItemDusts.getDustByName("chrome")); - OreUnifier.registerOre("dustCinnabar", ItemDusts.getDustByName("cinnabar")); - OreUnifier.registerOre("dustClay", ItemDusts.getDustByName("clay")); - OreUnifier.registerOre("dustCoal", ItemDusts.getDustByName("coal")); - OreUnifier.registerOre("dustCopper", ItemDusts.getDustByName("copper")); - OreUnifier.registerOre("dustDarkAsh", ItemDusts.getDustByName("darkAshes")); - OreUnifier.registerOre("dustDiamond", ItemDusts.getDustByName("diamond")); - OreUnifier.registerOre("dustDiorite", ItemDusts.getDustByName("diorite")); - OreUnifier.registerOre("dustElectrum", ItemDusts.getDustByName("electrum")); - OreUnifier.registerOre("dustEmerald", ItemDusts.getDustByName("emerald")); - OreUnifier.registerOre("dustEnderEye", ItemDusts.getDustByName("enderEye")); - OreUnifier.registerOre("dustEnderPearl", ItemDusts.getDustByName("enderPearl")); - OreUnifier.registerOre("dustEndstone", ItemDusts.getDustByName("endstone")); - OreUnifier.registerOre("dustFlint", ItemDusts.getDustByName("flint")); - OreUnifier.registerOre("dustGalena", ItemDusts.getDustByName("galena")); - OreUnifier.registerOre("dustGold", ItemDusts.getDustByName("gold")); - OreUnifier.registerOre("dustGranite", ItemDusts.getDustByName("granite")); - OreUnifier.registerOre("dustGrossular", ItemDusts.getDustByName("grossular")); - OreUnifier.registerOre("dustInvar", ItemDusts.getDustByName("invar")); - OreUnifier.registerOre("dustIron", ItemDusts.getDustByName("iron")); - OreUnifier.registerOre("dustLapis", ItemDusts.getDustByName("lazurite")); - OreUnifier.registerOre("dustLazurite", ItemDusts.getDustByName("lazurite")); - OreUnifier.registerOre("dustLead", ItemDusts.getDustByName("lead")); - OreUnifier.registerOre("dustMagnesium", ItemDusts.getDustByName("magnesium")); - OreUnifier.registerOre("dustManganese", ItemDusts.getDustByName("manganese")); - OreUnifier.registerOre("dustMarble", ItemDusts.getDustByName("marble")); - OreUnifier.registerOre("dustNetherrack", ItemDusts.getDustByName("netherrack")); - OreUnifier.registerOre("dustNickel", ItemDusts.getDustByName("nickel")); - OreUnifier.registerOre("dustObsidian", ItemDusts.getDustByName("obsidian")); - OreUnifier.registerOre("dustPeridot", ItemDusts.getDustByName("peridot")); - OreUnifier.registerOre("dustPhosphorous", ItemDusts.getDustByName("phosphorous")); - OreUnifier.registerOre("dustPlatinum", ItemDusts.getDustByName("platinum")); - OreUnifier.registerOre("dustPyrite", ItemDusts.getDustByName("pyrite")); - OreUnifier.registerOre("dustPyrope", ItemDusts.getDustByName("pyrope")); - OreUnifier.registerOre("dustRedGarnet", ItemDusts.getDustByName("redGarnet")); - OreUnifier.registerOre("dustRuby", ItemDusts.getDustByName("ruby")); - OreUnifier.registerOre("dustSaltpeter", ItemDusts.getDustByName("saltpeter")); - OreUnifier.registerOre("dustSapphire", ItemDusts.getDustByName("sapphire")); - OreUnifier.registerOre("dustSilver", ItemDusts.getDustByName("silver")); - OreUnifier.registerOre("dustSodalite", ItemDusts.getDustByName("sodalite")); - OreUnifier.registerOre("dustSpessartine", ItemDusts.getDustByName("spessartine")); - OreUnifier.registerOre("dustSphalerite", ItemDusts.getDustByName("sphalerite")); - OreUnifier.registerOre("dustSteel", ItemDusts.getDustByName("steel")); - OreUnifier.registerOre("dustSulfur", ItemDusts.getDustByName("sulfur")); - OreUnifier.registerOre("dustCopper", ItemDusts.getDustByName("copper")); - OreUnifier.registerOre("dustTin", ItemDusts.getDustByName("tin")); - OreUnifier.registerOre("dustTitanium", ItemDusts.getDustByName("titanium")); - OreUnifier.registerOre("dustTungsten", ItemDusts.getDustByName("tungsten")); - OreUnifier.registerOre("dustUvarovite", ItemDusts.getDustByName("uvarovite")); - OreUnifier.registerOre("dustYellowGarnet", ItemDusts.getDustByName("yellowGarnet")); - OreUnifier.registerOre("dustZinc", ItemDusts.getDustByName("zinc")); - OreUnifier.registerOre("dustOlivine", ItemDusts.getDustByName("olivine")); - OreUnifier.registerOre("dustWood", ItemDusts.getDustByName("sawDust")); - OreUnifier.registerOre("pulpWood", ItemDusts.getDustByName("sawDust")); - - // Small Dusts - OreUnifier.registerOre("dustAlmandine", ItemDusts.getDustByName("almandine")); - OreUnifier.registerOre("dustAluminum", ItemDusts.getDustByName("aluminum")); - OreUnifier.registerOre("dustAluminium", ItemDusts.getDustByName("aluminum")); - OreUnifier.registerOre("dustAndesite", ItemDusts.getDustByName("andesite")); - OreUnifier.registerOre("dustAndradite", ItemDusts.getDustByName("andradite")); - OreUnifier.registerOre("dustAsh", ItemDusts.getDustByName("ashes")); - OreUnifier.registerOre("dustBasalt", ItemDusts.getDustByName("basalt")); - OreUnifier.registerOre("dustBauxite", ItemDusts.getDustByName("bauxite")); - OreUnifier.registerOre("dustBrass", ItemDusts.getDustByName("brass")); - OreUnifier.registerOre("dustBronze", ItemDusts.getDustByName("bronze")); - OreUnifier.registerOre("dustCalcite", ItemDusts.getDustByName("calcite")); - OreUnifier.registerOre("dustCharcoal", ItemDusts.getDustByName("charcoal")); - OreUnifier.registerOre("dustChrome", ItemDusts.getDustByName("chrome")); - OreUnifier.registerOre("dustCinnabar", ItemDusts.getDustByName("cinnabar")); - OreUnifier.registerOre("dustClay", ItemDusts.getDustByName("clay")); - OreUnifier.registerOre("dustCoal", ItemDusts.getDustByName("coal")); - OreUnifier.registerOre("dustCopper", ItemDusts.getDustByName("copper")); - OreUnifier.registerOre("dustDarkAsh", ItemDusts.getDustByName("darkAshes")); - OreUnifier.registerOre("dustDiamond", ItemDusts.getDustByName("diamond")); - OreUnifier.registerOre("dustDiorite", ItemDusts.getDustByName("diorite")); - OreUnifier.registerOre("dustElectrum", ItemDusts.getDustByName("electrum")); - OreUnifier.registerOre("dustEmerald", ItemDusts.getDustByName("emerald")); - OreUnifier.registerOre("dustEnderEye", ItemDusts.getDustByName("enderEye")); - OreUnifier.registerOre("dustEnderPearl", ItemDusts.getDustByName("enderPearl")); - OreUnifier.registerOre("dustEndstone", ItemDusts.getDustByName("endstone")); - OreUnifier.registerOre("dustFlint", ItemDusts.getDustByName("flint")); - OreUnifier.registerOre("dustGalena", ItemDusts.getDustByName("galena")); - OreUnifier.registerOre("dustGold", ItemDusts.getDustByName("gold")); - OreUnifier.registerOre("dustGranite", ItemDusts.getDustByName("granite")); - OreUnifier.registerOre("dustGrossular", ItemDusts.getDustByName("grossular")); - OreUnifier.registerOre("dustInvar", ItemDusts.getDustByName("invar")); - OreUnifier.registerOre("dustIron", ItemDusts.getDustByName("iron")); - OreUnifier.registerOre("dustLapis", ItemDusts.getDustByName("lazurite")); - OreUnifier.registerOre("dustLazurite", ItemDusts.getDustByName("lazurite")); - OreUnifier.registerOre("dustLead", ItemDusts.getDustByName("lead")); - OreUnifier.registerOre("dustMagnesium", ItemDusts.getDustByName("magnesium")); - OreUnifier.registerOre("dustManganese", ItemDusts.getDustByName("manganese")); - OreUnifier.registerOre("dustMarble", ItemDusts.getDustByName("marble")); - OreUnifier.registerOre("dustNetherrack", ItemDusts.getDustByName("netherrack")); - OreUnifier.registerOre("dustNickel", ItemDusts.getDustByName("nickel")); - OreUnifier.registerOre("dustObsidian", ItemDusts.getDustByName("obsidian")); - OreUnifier.registerOre("dustPeridot", ItemDusts.getDustByName("peridot")); - OreUnifier.registerOre("dustPhosphorous", ItemDusts.getDustByName("phosphorous")); - OreUnifier.registerOre("dustPlatinum", ItemDusts.getDustByName("platinum")); - OreUnifier.registerOre("dustPyrite", ItemDusts.getDustByName("pyrite")); - OreUnifier.registerOre("dustPyrope", ItemDusts.getDustByName("pyrope")); - OreUnifier.registerOre("dustRedGarnet", ItemDusts.getDustByName("redGarnet")); - OreUnifier.registerOre("dustRuby", ItemDusts.getDustByName("ruby")); - OreUnifier.registerOre("dustSaltpeter", ItemDusts.getDustByName("saltpeter")); - OreUnifier.registerOre("dustSapphire", ItemDusts.getDustByName("sapphire")); - OreUnifier.registerOre("dustSilver", ItemDusts.getDustByName("silver")); - OreUnifier.registerOre("dustSodalite", ItemDusts.getDustByName("sodalite")); - OreUnifier.registerOre("dustSpessartine", ItemDusts.getDustByName("spessartine")); - OreUnifier.registerOre("dustSphalerite", ItemDusts.getDustByName("sphalerite")); - OreUnifier.registerOre("dustSteel", ItemDusts.getDustByName("steel")); - OreUnifier.registerOre("dustSulfur", ItemDusts.getDustByName("sulfur")); - OreUnifier.registerOre("dustCopper", ItemDusts.getDustByName("copper")); - OreUnifier.registerOre("dustTin", ItemDusts.getDustByName("tin")); - OreUnifier.registerOre("dustTitanium", ItemDusts.getDustByName("titanium")); - OreUnifier.registerOre("dustTungsten", ItemDusts.getDustByName("tungsten")); - OreUnifier.registerOre("dustUvarovite", ItemDusts.getDustByName("uvarovite")); - OreUnifier.registerOre("dustYellowGarnet", ItemDusts.getDustByName("yellowGarnet")); - OreUnifier.registerOre("dustZinc", ItemDusts.getDustByName("zinc")); - OreUnifier.registerOre("dustOlivine", ItemDusts.getDustByName("olivine")); - OreUnifier.registerOre("pulpWood", ItemDusts.getDustByName("sawDust")); - - // Ingots - OreUnifier.registerOre("ingotAluminum", ItemIngots.getIngotByName("aluminum")); - OreUnifier.registerOre("ingotAluminium", ItemIngots.getIngotByName("aluminum")); - OreUnifier.registerOre("ingotBrass", ItemIngots.getIngotByName("brass")); - OreUnifier.registerOre("ingotBronze", ItemIngots.getIngotByName("bronze")); - OreUnifier.registerOre("ingotChrome", ItemIngots.getIngotByName("chrome")); - OreUnifier.registerOre("ingotCopper", ItemIngots.getIngotByName("copper")); - OreUnifier.registerOre("ingotElectrum", ItemIngots.getIngotByName("electrum")); - OreUnifier.registerOre("ingotInvar", ItemIngots.getIngotByName("invar")); - OreUnifier.registerOre("ingotIridium", ItemIngots.getIngotByName("iridium")); - OreUnifier.registerOre("ingotLead", ItemIngots.getIngotByName("lead")); - OreUnifier.registerOre("ingotNickel", ItemIngots.getIngotByName("nickel")); - OreUnifier.registerOre("ingotPlatinum", ItemIngots.getIngotByName("platinum")); - OreUnifier.registerOre("ingotSilver", ItemIngots.getIngotByName("silver")); - OreUnifier.registerOre("ingotSteel", ItemIngots.getIngotByName("steel")); - OreUnifier.registerOre("ingotTin", ItemIngots.getIngotByName("tin")); - OreUnifier.registerOre("ingotTitanium", ItemIngots.getIngotByName("titanium")); - OreUnifier.registerOre("ingotTungsten", ItemIngots.getIngotByName("tungsten")); - OreUnifier.registerOre("ingotTungstensteel", ItemIngots.getIngotByName("tungstensteel")); - OreUnifier.registerOre("ingotHotTungstenSteel", ItemIngots.getIngotByName("hotTungstensteel")); - OreUnifier.registerOre("ingotZinc", ItemIngots.getIngotByName("zinc")); - OreUnifier.registerOre("ingotRefinedIron", ItemIngots.getIngotByName("refinedIron")); - OreUnifier.registerOre("ingotCopper", ItemIngots.getIngotByName("copper")); - - - // Nuggets - OreUnifier.registerOre("nuggetAluminum", ItemNuggets.getNuggetByName("aluminum")); - OreUnifier.registerOre("nuggetAluminium", ItemNuggets.getNuggetByName("aluminum")); - OreUnifier.registerOre("nuggetBrass", ItemNuggets.getNuggetByName("brass")); - OreUnifier.registerOre("nuggetBronze", ItemNuggets.getNuggetByName("bronze")); - OreUnifier.registerOre("nuggetChrome", ItemNuggets.getNuggetByName("chrome")); - OreUnifier.registerOre("nuggetCopper", ItemNuggets.getNuggetByName("copper")); - OreUnifier.registerOre("nuggetElectrum", ItemNuggets.getNuggetByName("electrum")); - OreUnifier.registerOre("nuggetInvar", ItemNuggets.getNuggetByName("invar")); - OreUnifier.registerOre("nuggetIridium", ItemNuggets.getNuggetByName("iridium")); - OreUnifier.registerOre("nuggetLead", ItemNuggets.getNuggetByName("lead")); - OreUnifier.registerOre("nuggetNickel", ItemNuggets.getNuggetByName("nickel")); - OreUnifier.registerOre("nuggetPlatinum", ItemNuggets.getNuggetByName("platinum")); - OreUnifier.registerOre("nuggetSilver", ItemNuggets.getNuggetByName("silver")); - OreUnifier.registerOre("nuggetSteel", ItemNuggets.getNuggetByName("steel")); - OreUnifier.registerOre("nuggetTin", ItemNuggets.getNuggetByName("tin")); - OreUnifier.registerOre("nuggetTitanium", ItemNuggets.getNuggetByName("titanium")); - OreUnifier.registerOre("nuggetTungsten", ItemNuggets.getNuggetByName("tungsten")); - OreUnifier.registerOre("nuggetTungstensteel", ItemNuggets.getNuggetByName("tungstensteel")); - OreUnifier.registerOre("nuggetHotTungstenSteel", ItemNuggets.getNuggetByName("hotTungstensteel")); - OreUnifier.registerOre("nuggetZinc", ItemNuggets.getNuggetByName("zinc")); - OreUnifier.registerOre("nuggetRefinedIron", ItemNuggets.getNuggetByName("refinedIron")); - OreUnifier.registerOre("nuggetCopper", ItemNuggets.getNuggetByName("copper")); - OreUnifier.registerOre("nuggetIron", ItemNuggets.getNuggetByName("iron")); - - // Plates - OreUnifier.registerOre("plateAluminum", ItemPlates.getPlateByName("aluminum")); - OreUnifier.registerOre("plateAluminium", ItemPlates.getPlateByName("aluminum")); - OreUnifier.registerOre("plateBrass", ItemPlates.getPlateByName("brass")); - OreUnifier.registerOre("plateBronze", ItemPlates.getPlateByName("bronze")); - OreUnifier.registerOre("plateChrome", ItemPlates.getPlateByName("chrome")); - OreUnifier.registerOre("plateCopper", ItemPlates.getPlateByName("copper")); - OreUnifier.registerOre("plateDiamond", ItemPlates.getPlateByName("diamond")); - OreUnifier.registerOre("plateElectrum", ItemPlates.getPlateByName("electrum")); - OreUnifier.registerOre("plateEmerald", ItemPlates.getPlateByName("emerald")); - OreUnifier.registerOre("plateGold", ItemPlates.getPlateByName("gold")); - OreUnifier.registerOre("plateInvar", ItemPlates.getPlateByName("invar")); - OreUnifier.registerOre("plateIridium", ItemPlates.getPlateByName("iridium")); - OreUnifier.registerOre("plateIron", ItemPlates.getPlateByName("iron")); - OreUnifier.registerOre("plateLapis", ItemPlates.getPlateByName("lapis")); - OreUnifier.registerOre("plateLead", ItemPlates.getPlateByName("lead")); - OreUnifier.registerOre("plateMagnalium", ItemPlates.getPlateByName("magnalium")); - OreUnifier.registerOre("plateNickel", ItemPlates.getPlateByName("nickel")); - OreUnifier.registerOre("plateObsidian", ItemPlates.getPlateByName("obsidian")); - OreUnifier.registerOre("platePeridot", ItemPlates.getPlateByName("peridot")); - OreUnifier.registerOre("platePlatinum", ItemPlates.getPlateByName("platinum")); - OreUnifier.registerOre("plateRedGarnet", ItemPlates.getPlateByName("redGarnet")); - OreUnifier.registerOre("plateRedstone", ItemPlates.getPlateByName("redstone")); - OreUnifier.registerOre("plateRuby", ItemPlates.getPlateByName("ruby")); - OreUnifier.registerOre("plateSapphire", ItemPlates.getPlateByName("sapphire")); - OreUnifier.registerOre("plateSilicon", ItemPlates.getPlateByName("silicon")); - OreUnifier.registerOre("plateSilver", ItemPlates.getPlateByName("silver")); - OreUnifier.registerOre("plateSteel", ItemPlates.getPlateByName("steel")); - OreUnifier.registerOre("plateTin", ItemPlates.getPlateByName("tin")); - OreUnifier.registerOre("plateTitanium", ItemPlates.getPlateByName("titanium")); - OreUnifier.registerOre("plateTungsten", ItemPlates.getPlateByName("tungsten")); - OreUnifier.registerOre("plateTungstensteel", ItemPlates.getPlateByName("tungstensteel")); - OreUnifier.registerOre("plateYellowGarnet", ItemPlates.getPlateByName("yellowGarnet")); - OreUnifier.registerOre("plateZinc", ItemPlates.getPlateByName("zinc")); - OreUnifier.registerOre("blockLapis", ItemPlates.getPlateByName("lazurite")); - - OreUnifier.registerOre("diamondTR", ItemDusts.getDustByName("Diamond")); - OreUnifier.registerOre("diamondTR", Items.DIAMOND); - - OreUnifier.registerOre("craftingGrinder", ItemParts.getPartByName("diamondGrindingHead")); - OreUnifier.registerOre("craftingGrinder", ItemParts.getPartByName("tungstenGrindingHead")); - OreUnifier.registerOre("circuitElite", ItemParts.getPartByName("dataControlCircuit")); - OreUnifier.registerOre("circuitData", ItemParts.getPartByName("dataStorageCircuit")); - OreUnifier.registerOre("craftingSuperconductor", ItemParts.getPartByName("superconductor")); - OreUnifier.registerOre("batteryUltimate", ItemParts.getPartByName("diamondGrindingHead")); - - //Buggy. - //OreUnifier.registerOre("containerWater", ItemCells.getCellByName("water")); - //OreUnifier.registerOre("containerWater", Items.WATER_BUCKET); - - OreUnifier.registerOre("materialResin", ItemParts.getPartByName("rubberSap")); - OreUnifier.registerOre("materialRubber", ItemParts.getPartByName("rubber")); - OreUnifier.registerOre("circuitBasic", ItemParts.getPartByName("electronicCircuit")); - OreUnifier.registerOre("circuitAdvanced", ItemParts.getPartByName("advancedCircuit")); - - } - } diff --git a/src/main/java/techreborn/init/ModRecipes.java b/src/main/java/techreborn/init/ModRecipes.java index 221b12fcc..f2b5715aa 100644 --- a/src/main/java/techreborn/init/ModRecipes.java +++ b/src/main/java/techreborn/init/ModRecipes.java @@ -389,11 +389,11 @@ public class ModRecipes static void addExtractorRecipes() { RecipeHandler.addRecipe( - new ExtractorRecipe(ItemParts.getPartByName("rubberSap"), ItemParts.getPartByName("rubber", 3), 400, - 2)); + new ExtractorRecipe(ItemParts.getPartByName("rubberSap"), + ItemParts.getPartByName("rubber", 3), 400, 2)); RecipeHandler.addRecipe( - new ExtractorRecipe(new ItemStack(ModBlocks.rubberLog), ItemParts.getPartByName("rubber"), 400, 2, - false)); + new ExtractorRecipe(new ItemStack(ModBlocks.rubberLog), + ItemParts.getPartByName("rubber"), 400, 2, true)); } static void addIc2ReplacementReicpes() @@ -519,7 +519,7 @@ public class ModRecipes { FusionReactorRecipeHelper.registerRecipe( new FusionReactorRecipe(ItemCells.getCellByName("helium3"), ItemCells.getCellByName("deuterium"), - ItemCells.getCellByName("helium"), 40000000, 32768, 1024)); + ItemCells.getCellByName("heliumplasma"), 40000000, 32768, 1024)); FusionReactorRecipeHelper.registerRecipe( new FusionReactorRecipe(ItemCells.getCellByName("tritium"), ItemCells.getCellByName("deuterium"), ItemCells.getCellByName("helium3"), 60000000, 32768, 2048)); @@ -628,7 +628,7 @@ public class ModRecipes "ingotCopper", 'W', ItemStandaloneCables.getCableByName("insulatedcopper")); CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.MachineCasing, 4, 0), "RRR", "CAC", "RRR", 'R', - ItemIngots.getIngotByName("refinedIron"), 'C', ItemParts.getPartByName("electronicCircuit"), 'A', + ItemIngots.getIngotByName("refinedIron"), 'C', "circuitBasic", 'A', BlockMachineFrame.getFrameByName("machine", 1)); CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.MachineCasing, 4, 1), "RRR", "CAC", "RRR", 'R', @@ -636,19 +636,18 @@ public class ModRecipes BlockMachineFrame.getFrameByName("advancedMachine", 1)); CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("dataOrb"), "DDD", "DID", "DDD", 'D', - "circuitElite", 'I', ItemParts.getPartByName("dataControlCircuit")); + "circuitData", 'I', "circuitElite"); CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("dataControlCircuit", 4), "CDC", "DID", "CDC", 'I', - ItemPlates.getPlateByName("iridium"), 'D', "circuitElite", 'C', - "circuitAdvanced"); + ItemPlates.getPlateByName("iridium"), 'D', "circuitData", 'C', "circuitAdvanced"); CraftingHelper .addShapedOreRecipe(new ItemStack(ModBlocks.thermalGenerator), "III", "IRI", "CGC", 'I', "ingotInvar", 'R', ModBlocks.reinforcedglass, 'G', ModBlocks.Generator, 'C', - ItemParts.getPartByName("electronicCircuit")); + "circuitBasic"); CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.recycler), "XEX", "DCD", "GDG", 'D', Blocks.DIRT, 'C', - ModBlocks.Compressor, 'G', Items.GLOWSTONE_DUST, 'E', ItemParts.getPartByName("electronicCircuit")); + ModBlocks.Compressor, 'G', Items.GLOWSTONE_DUST, 'E', "circuitBasic"); CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.batBox), "WCW", "BBB", "WWW", 'W', "plankWood", 'B', batteryStack, 'C', ItemStandaloneCables.getCableByName("insulatedcopper")); @@ -806,15 +805,14 @@ public class ModRecipes CraftingHelper .addShapedOreRecipe(new ItemStack(ModBlocks.Extractor), "TMT", "TCT", "XXX", 'T', ModItems.treeTap, 'M', BlockMachineFrame.getFrameByName("machine", 1), 'C', - ItemParts.getPartByName("electronicCircuit")); + "circuitBasic"); CraftingHelper .addShapedOreRecipe(new ItemStack(ModBlocks.centrifuge), "RCR", "AEA", "RCR", 'R', "ingotRefinedIron", 'E', new ItemStack(ModBlocks.Extractor), 'A', "machineBlockAdvanced", 'C', "circuitBasic"); CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("advancedCircuit"), "RGR", "LCL", "RGR", 'R', - Items.REDSTONE, 'G', Items.GLOWSTONE_DUST, 'L', "dyeBlue", 'C', - ItemParts.getPartByName("electronicCircuit")); + Items.REDSTONE, 'G', Items.GLOWSTONE_DUST, 'L', "dyeBlue", 'C', "circuitBasic"); CraftingHelper .addShapedOreRecipe(new ItemStack(ModItems.energyCrystal), "RRR", "RDR", "RRR", 'R', Items.REDSTONE, @@ -822,7 +820,7 @@ public class ModRecipes CraftingHelper .addShapedOreRecipe(new ItemStack(ModItems.lapotronCrystal), "LCL", "LEL", "LCL", 'L', "dyeBlue", 'E', - new ItemStack(ModItems.energyCrystal), 'C', ItemParts.getPartByName("electronicCircuit")); + "energyCrystal", 'C',"circuitBasic"); CraftingHelper.addShapelessOreRecipe(new ItemStack(ModBlocks.Generator), batteryStack, BlockMachineFrame.getFrameByName("machine", 1), Blocks.FURNACE); @@ -835,8 +833,8 @@ public class ModRecipes ItemIngots.getIngotByName("advancedAlloy"), 'C', ItemPlates.getPlateByName("carbon"), 'M', BlockMachineFrame.getFrameByName("machine", 1)); - CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("dataControlCircuit"), "EEE", "ECE", "EEE", 'E', - new ItemStack(Items.EMERALD), 'C', ItemParts.getPartByName("electronicCircuit")); + CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("dataStorageCircuit", 8), "EEE", "ECE", "EEE", 'E', + new ItemStack(Items.EMERALD), 'C', "circuitBasic"); CraftingHelper .addShapedOreRecipe(new ItemStack(ModItems.parts, 4, 8), "DSD", "S S", "DSD", 'D', "dustDiamond", 'S', @@ -877,7 +875,7 @@ public class ModRecipes CraftingHelper .addShapedOreRecipe(new ItemStack(ModItems.rockCutter), "DT ", "DT ", "DCB", 'D', "dustDiamond", 'T', - "ingotTitanium", 'C', ItemParts.getPartByName("electronicCircuit"), 'B', batteryStack); + "ingotTitanium", 'C', "circuitBasic", 'B', batteryStack); for (String part : ItemParts.types) { @@ -948,25 +946,25 @@ public class ModRecipes CraftingHelper.addShapedOreRecipe(ItemUpgrades.getUpgradeByName("Overclock"), "TTT", "WCW", 'T', ItemParts.getPartByName("CoolantSimple"), 'W', ItemStandaloneCables.getCableByName("insulatedcopper"), - 'C', ItemParts.getPartByName("electronicCircuit")); + 'C', "circuitBasic"); CraftingHelper.addShapedOreRecipe(ItemUpgrades.getUpgradeByName("Overclock", 2), " T ", "WCW", 'T', ItemParts.getPartByName("heliumCoolantSimple"), 'W', ItemStandaloneCables.getCableByName("insulatedcopper"), 'C', - ItemParts.getPartByName("electronicCircuit")); + "circuitBasic"); CraftingHelper.addShapedOreRecipe(ItemUpgrades.getUpgradeByName("Overclock", 2), " T ", "WCW", 'T', ItemParts.getPartByName("NaKCoolantSimple"), 'W', ItemStandaloneCables.getCableByName("insulatedcopper"), 'C', - ItemParts.getPartByName("electronicCircuit")); + "circuitBasic"); CraftingHelper.addShapedOreRecipe(ItemUpgrades.getUpgradeByName("Transformer"), "GGG", "WTW", "GCG", 'G', "blockGlass", 'W', ItemStandaloneCables.getCableByName("insulatedgold"), 'C', - ItemParts.getPartByName("electronicCircuit"), 'T', ModBlocks.mvt); + "circuitBasic", 'T', ModBlocks.mvt); CraftingHelper.addShapedOreRecipe(ItemUpgrades.getUpgradeByName("EnergyStorage"), "PPP", "WBW", "PCP", 'P', "plankWood", 'W', ItemStandaloneCables.getCableByName("insulatedcopper"), 'C', - ItemParts.getPartByName("electronicCircuit"), 'B', ModItems.reBattery); + "circuitBasic", 'B', ModItems.reBattery); CraftingHelper .addShapedOreRecipe(ItemParts.getPartByName("CoolantSimple"), " T ", "TWT", " T ", 'T', "ingotTin", 'W', @@ -1031,8 +1029,8 @@ public class ModRecipes } CraftingHelper.addShapelessRecipe(new ItemStack(ModBlocks.rubberPlanks, 4), ModBlocks.rubberLog); - CraftingHelper.addShapelessRecipe(new ItemStack(ModItems.frequencyTransmitter), - ItemStandaloneCables.getCableByName("insulatedcopper"), ItemParts.getPartByName("electronicCircuit")); + CraftingHelper.addShapelessOreRecipe(new ItemStack(ModItems.frequencyTransmitter), + ItemStandaloneCables.getCableByName("insulatedcopper"), "circuitBasic"); for (String name : ItemDustsSmall.types) { @@ -1065,12 +1063,12 @@ public class ModRecipes ItemParts.getPartByName("dataOrb"), 'C', ItemParts.getPartByName("computerMonitor")); CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.AlloySmelter), "XCX", "FMF", "XXX", 'C', - ItemParts.getPartByName("electronicCircuit"), 'F', new ItemStack(ModBlocks.ElectricFurnace), 'M', + "circuitBasic", 'F', new ItemStack(ModBlocks.ElectricFurnace), 'M', BlockMachineFrame.getFrameByName("machine", 1)); CraftingHelper .addShapedOreRecipe(new ItemStack(ModBlocks.LesuStorage), "LLL", "LCL", "LLL", 'L', "blockLapis", 'C', - ItemParts.getPartByName("electronicCircuit")); + "circuitBasic"); TechRebornAPI .addRollingOreMachinceRecipe(ItemParts.getPartByName("cupronickelHeatingCoil"), "NCN", "C C", "NCN", @@ -1078,8 +1076,13 @@ public class ModRecipes RecipeHandler.addRecipe(new VacuumFreezerRecipe(ItemIngots.getIngotByName("hotTungstensteel"), ItemIngots.getIngotByName("tungstensteel"), 440, 128)); + + RecipeHandler.addRecipe(new VacuumFreezerRecipe(ItemCells.getCellByName("heliumplasma"), + ItemCells.getCellByName("helium"), 440, 128)); + RecipeHandler.addRecipe( - new VacuumFreezerRecipe(ItemCells.getCellByName("water"), ItemCells.getCellByName("cell"), 60, 128)); + new VacuumFreezerRecipe(ItemCells.getCellByName("water"), + ItemCells.getCellByName("cell"), 60, 128)); } static void addSmeltingRecipes() @@ -2265,20 +2268,20 @@ public class ModRecipes CraftingHelper .addShapedOreRecipe(new ItemStack(ModBlocks.Semifluidgenerator), "III", "IHI", "CGC", 'I', "plateIron", - 'H', ModBlocks.reinforcedglass, 'C', ItemParts.getPartByName("electronicCircuit"), 'G', + 'H', ModBlocks.reinforcedglass, 'C', "circuitBasic", 'G', ModBlocks.Generator); CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.Semifluidgenerator), "AAA", "AHA", "CGC", 'A', - "plateAluminum", 'H', ModBlocks.reinforcedglass, 'C', ItemParts.getPartByName("electronicCircuit"), 'G', + "plateAluminum", 'H', ModBlocks.reinforcedglass, 'C', "circuitBasic", 'G', ModBlocks.Generator); CraftingHelper .addShapedOreRecipe(new ItemStack(ModBlocks.DieselGenerator), "III", "I I", "CGC", 'I', "refinedIron", - 'C', ItemParts.getPartByName("electronicCircuit"), 'G', ModBlocks.Generator); + 'C', "circuitBasic", 'G', ModBlocks.Generator); CraftingHelper .addShapedOreRecipe(new ItemStack(ModBlocks.DieselGenerator), "AAA", "A A", "CGC", 'A', "ingotAluminum", - 'C', ItemParts.getPartByName("electronicCircuit"), 'G', ModBlocks.Generator); + 'C', "circuitBasic", 'G', ModBlocks.Generator); // CraftingHelper.addShapedOreRecipe(new // ItemStack(ModBlocks.MagicalAbsorber), @@ -2299,7 +2302,7 @@ public class ModRecipes // 'T', TechRebornAPI.recipeCompact.getItem("teleporter")); CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.Dragoneggenergysiphoner), "CTC", "ISI", "CBC", 'I', - "plateIridium", 'C', ItemParts.getPartByName("electronicCircuit"), + "plateIridium", 'C', "circuitBasic", 'B', ModItems.lithiumBattery, 'S', ModBlocks.Supercondensator, 'T', ModBlocks.Extractor); CraftingHelper @@ -2408,7 +2411,7 @@ public class ModRecipes CraftingHelper .addSmelting(ItemDusts.getDustByName("silver", 1), ItemIngots.getIngotByName("silver"), 1F); - + // UU if (ConfigTechReborn.UUrecipesIridiamOre) CraftingHelper @@ -2518,9 +2521,9 @@ public class ModRecipes // Rubber Wood Yields RecipeHandler.addRecipe( new CentrifugeRecipe(new ItemStack(getOre("rubberWood").getItem(), 16), - ItemCells.getCellByName("empty", 5), new ItemStack(ModItems.parts, 8, 41), + ItemCells.getCellByName("empty", 5), ItemParts.getPartByName("rubber", 8), new ItemStack(Blocks.SAPLING, 6), ItemCells.getCellByName("methane", 1), - ItemCells.getCellByName("carbon", 4), 5000, 5, false)); + ItemCells.getCellByName("carbon", 4), 5000, 5, true)); // Soul Sand Byproducts RecipeHandler.addRecipe( @@ -3163,7 +3166,7 @@ public class ModRecipes gemStack.stackSize = 2; ItemStack dustStack = OreDictionary.getOres("gemMalachite").get(0); dustStack.stackSize = 1; - + RecipeHandler.addRecipe( new IndustrialGrinderRecipe(oreStack,ItemCells.getCellByName("water"), null, gemStack, dustStack, null, ItemCells.getCellByName("empty"), 100, 120)); @@ -3471,7 +3474,7 @@ public class ModRecipes .addShapedOreRecipe(new ItemStack(ModItems.lapotronpack, 1, OreDictionary.WILDCARD_VALUE), "FOF", "SPS", "FIF", 'F', "circuitMaster", 'O', new ItemStack(ModItems.lapotronicOrb), 'S', ItemParts.getPartByName("superConductor"), 'I', - "ingotIridium", 'P', new ItemStack(ModItems.lapotronpack)); + "ingotIridium", 'P', new ItemStack(ModItems.lithiumBatpack)); } static void addGemToolRecipes(ItemStack gemsword, ItemStack gempick, ItemStack gemaxe, ItemStack gemHoe, @@ -3501,9 +3504,12 @@ public class ModRecipes { return UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, fluid); } - + public static ItemStack getOre(String name) { + if(OreDictionary.getOres(name).isEmpty()){ + return new ItemStack(ModItems.missingRecipe); + } return OreDictionary.getOres(name).get(0).copy(); } - + } \ No newline at end of file diff --git a/src/main/java/techreborn/init/OreDict.java b/src/main/java/techreborn/init/OreDict.java index 775ab088b..097a44df7 100644 --- a/src/main/java/techreborn/init/OreDict.java +++ b/src/main/java/techreborn/init/OreDict.java @@ -1,76 +1,37 @@ package techreborn.init; -import ic2.core.block.BlockTexGlass; -import ic2.core.block.type.ResourceBlock; -import ic2.core.block.wiring.CableType; -import ic2.core.item.type.*; -import ic2.core.ref.BlockName; -import ic2.core.ref.ItemName; -import ic2.core.ref.TeBlock; +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 net.minecraftforge.oredict.OreDictionary; +import techreborn.Core; import techreborn.blocks.BlockMachineFrame; -import techreborn.items.ItemIngots; -import techreborn.items.ItemParts; -import techreborn.items.ItemPlates; +import techreborn.items.*; import techreborn.parts.powerCables.ItemStandaloneCables; +import techreborn.utils.OreDictUtils; public class OreDict { + private static final ImmutableList plateGenIgnores = ImmutableList.of( + "hot", //Hot ingots + "mixedMetal", //Mixed metal has own version of plate + "iridiumAlloy", //Iridium alloy is plate itself + ModItems.META_PLACEHOLDER //... + ); + public static void init() { if(Loader.isModLoaded("IC2")) { - OreDictionary.registerOre("reBattery", ItemName.re_battery.getItemStack()); - - OreDictionary.registerOre("circuitBasic", ItemName.crafting.getItemStack(CraftingItemType.circuit)); - OreDictionary.registerOre("circuitAdvanced", ItemName.crafting.getItemStack(CraftingItemType.advanced_circuit)); - - - OreDictionary.registerOre("machineBlockBasic", BlockName.resource.getItemStack(ResourceBlock.machine)); - OreDictionary.registerOre("machineBlockAdvanced", BlockName.resource.getItemStack(ResourceBlock.advanced_machine)); - - OreDictionary.registerOre("lapotronCrystal", ItemName.lapotron_crystal.getItemStack()); - OreDictionary.registerOre("energyCrystal", ItemName.lapotron_crystal.getItemStack()); - - OreDictionary.registerOre("drillBasic", ItemName.drill.getItemStack()); - OreDictionary.registerOre("drillDiamond", ItemName.diamond_drill.getItemStack()); - OreDictionary.registerOre("drillAdvanced", ItemName.iridium_drill.getItemStack()); - - ItemStack industrialTnt = BlockName.te.getItemStack(TeBlock.itnt); - industrialTnt.setItemDamage(1); - OreDictionary.registerOre("industrialTnt", industrialTnt); - - OreDictionary.registerOre("craftingIndustrialDiamond", ItemName.crafting.getItemStack(CraftingItemType.industrial_diamond)); - OreDictionary.registerOre("fertilizer", ItemName.crafting.getItemStack(CraftingItemType.bio_chaff)); - OreDictionary.registerOre("hvTransformer", BlockName.te.getItemStack(TeBlock.hv_transformer)); - - //TODO: - - //OreDictionary.registerOre("insulatedGoldCableItem", BlockName.te.getItemStack(CableType.gold)); - - //OreDictionary.registerOre("ic2Generator", ModBlocks.Generator); - //OreDictionary.registerOre("ic2SolarPanel", ModBlocks.solarPanel); - //OreDictionary.registerOre("ic2Macerator", ModBlocks.Grinder); - //OreDictionary.registerOre("ic2Extractor", ModBlocks.Extractor); - //OreDictionary.registerOre("ic2Windmill", ModBlocks.windMill); - //OreDictionary.registerOre("ic2Watermill", ModBlocks.waterMill); - - OreDictionary.registerOre("uran235", ItemName.nuclear.getItemStack(NuclearResourceType.uranium_235)); - OreDictionary.registerOre("uran238", ItemName.nuclear.getItemStack(NuclearResourceType.uranium_238)); - OreDictionary.registerOre("smallUran238", ItemName.nuclear.getItemStack(NuclearResourceType.small_uranium_238)); - OreDictionary.registerOre("smallUran235", ItemName.nuclear.getItemStack(NuclearResourceType.small_uranium_235)); - - OreDictionary.registerOre("rubberWood", BlockName.rubber_wood.getItemStack()); - OreDictionary.registerOre("glassReinforced", BlockName.glass.getItemStack(BlockTexGlass.GlassType.reinforced)); - OreDictionary.registerOre("oreIridium", ItemName.misc_resource.getItemStack(MiscResourceType.iridium_ore)); + Core.logHelper.info("IC2 installed, enabling integration"); + IC2Dict.init(); } OreDictionary.registerOre("reBattery", ModItems.reBattery); OreDictionary.registerOre("circuitBasic", ItemParts.getPartByName("electronicCircuit")); OreDictionary.registerOre("circuitAdvanced", ItemParts.getPartByName("advancedCircuit")); + OreDictionary.registerOre("circuitStorage", ItemParts.getPartByName("dataStorageCircuit")); OreDictionary.registerOre("circuitElite", ItemParts.getPartByName("dataControlCircuit")); OreDictionary.registerOre("circuitMaster", ItemParts.getPartByName("energyFlowCircuit")); @@ -96,26 +57,69 @@ public class OreDict { OreDictionary.registerOre("ic2Windmill", ModBlocks.windMill); OreDictionary.registerOre("ic2Watermill", ModBlocks.waterMill); - //OreDictionary.registerOre("uran235", ); - //OreDictionary.registerOre("uran238", ); - //OreDictionary.registerOre("smallUran235", ); + //OreDictionary.registerOre("uran235", nothing); + //OreDictionary.registerOre("uran238", nothing); + //OreDictionary.registerOre("smallUran235", nothing); + OreDictionary.registerOre("fenceIron", ModBlocks.ironFence); OreDictionary.registerOre("woodRubber", ModBlocks.rubberLog); OreDictionary.registerOre("glassReinforced", ModBlocks.reinforcedglass); + OreDictionary.registerOre("diamondTR", ItemDusts.getDustByName("Diamond")); + OreDictionary.registerOre("diamondTR", Items.DIAMOND); + + OreDictionary.registerOre("craftingGrinder", ItemParts.getPartByName("diamondGrindingHead")); + OreDictionary.registerOre("craftingGrinder", ItemParts.getPartByName("tungstenGrindingHead")); + OreDictionary.registerOre("craftingSuperconductor", ItemParts.getPartByName("superconductor")); + OreDictionary.registerOre("batteryUltimate", ItemParts.getPartByName("diamondGrindingHead")); + + OreDictionary.registerOre("materialResin", ItemParts.getPartByName("rubberSap")); + OreDictionary.registerOre("materialRubber", ItemParts.getPartByName("rubber")); + OreDictionary.registerOre("pulpWood", ItemDusts.getDustByName("sawDust")); + + //Gems registration + for(String type : ItemGems.types) { + if(type.equals(ModItems.META_PLACEHOLDER)) continue; //Aware of placeholders! + String upper = OreDictUtils.toFirstUpper(type); + OreDictionary.registerOre("gem" + upper, ItemGems.getGemByName(type)); + boolean ignoreIt = false; + for(String ignore : plateGenIgnores) + if(type.startsWith(ignore)) ignoreIt = true; + if(!ignoreIt) ItemPlates.registerType(upper); + } + + //Ingots registration + for(String type : ItemIngots.types) { + if(type.equals(ModItems.META_PLACEHOLDER)) continue; //Aware of placeholders! + String upperName = OreDictUtils.toFirstUpper(type); + OreDictionary.registerOre("ingot" + upperName, ItemIngots.getIngotByName(type)); + boolean ignoreIt = false; + for(String ignore : plateGenIgnores) + if(type.startsWith(ignore)) ignoreIt = true; + if(!ignoreIt) ItemPlates.registerType(type); + } + + + //Dusts, nuggets and plates auto-registration + for(String type : ItemPlates.types) { - String oreDictName = "plate" + Character.toUpperCase(type.charAt(0)) + type.substring(1); - System.out.println(oreDictName); + if(type.equals(ModItems.META_PLACEHOLDER)) continue; //Aware of placeholders! + String oreDictName = "plate" + OreDictUtils.toFirstUpper(type); OreDictionary.registerOre(oreDictName, ItemPlates.getPlateByName(type)); } - - for(String type : ItemIngots.types) { - String oreDictName = "ingot" + Character.toUpperCase(type.charAt(0)) + type.substring(1); - System.out.println(oreDictName); - OreDictionary.registerOre(oreDictName, ItemIngots.getIngotByName(type)); + + for(String type : ItemDusts.types) { + if(type.equals(ModItems.META_PLACEHOLDER)) continue; //Aware of placeholders! + String oreDictName = "dust" + OreDictUtils.toFirstUpper(type); + OreDictionary.registerOre(oreDictName, ItemDusts.getDustByName(type)); } - - + + for(String type : ItemNuggets.types) { + if(type.equals(ModItems.META_PLACEHOLDER)) continue; //Aware of placeholders! + String oreDictName = "nugget" + OreDictUtils.toFirstUpper(type); + OreDictionary.registerOre(oreDictName, ItemNuggets.getNuggetByName(type)); + } + } } diff --git a/src/main/java/techreborn/items/ItemIngots.java b/src/main/java/techreborn/items/ItemIngots.java index 67b550fc0..8b1d5dcf3 100644 --- a/src/main/java/techreborn/items/ItemIngots.java +++ b/src/main/java/techreborn/items/ItemIngots.java @@ -15,7 +15,7 @@ public class ItemIngots extends ItemTextureBase public static final String[] types = new String[] { "aluminum", "brass", "bronze", "chrome", "copper", "electrum", "invar", "iridium", "lead", "nickel", "platinum", "silver", "steel", "tin", "titanium", "tungsten", "hotTungstensteel", "tungstensteel", "zinc", "refinedIron", "advancedAlloy", "mixedMetal", - "iridiumAlloy" }; + "iridiumAlloy", "silicon" }; public ItemIngots() { diff --git a/src/main/java/techreborn/items/ItemPlates.java b/src/main/java/techreborn/items/ItemPlates.java index b383f290a..302d7662b 100644 --- a/src/main/java/techreborn/items/ItemPlates.java +++ b/src/main/java/techreborn/items/ItemPlates.java @@ -3,9 +3,11 @@ package techreborn.items; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; import techreborn.client.TechRebornCreativeTabMisc; import techreborn.init.ModItems; import techreborn.lib.ModInfo; +import techreborn.utils.OreDictUtils; import java.security.InvalidParameterException; import java.util.List; @@ -13,11 +15,10 @@ import java.util.List; public class ItemPlates extends ItemTextureBase { - public static final String[] types = new String[] { "aluminum", "brass", "bronze", "chrome", "copper", "electrum", - "invar", "iridium", "iron", "gold", "lead", "nickel", "platinum", "silver", "steel", "tin", "titanium", - "tungsten", "tungstensteel", "zinc", "refinedIron", "carbon", "wood", "magnalium", - "silicon", "ruby", "sapphire", "peridot", "redGarnet", "yellowGarnet", "redstone", - "diamond", "emerald", "lapis", "coal", "obsidian", "advancedAlloy", "lazurite" }; + //Vanilla plates or plates not from ingots or gems + public static String[] types = new String[] { + "iron", "gold", "carbon", "wood", "redstone", "diamond", "emerald", "lapis", "coal", "obsidian", "lazurite" + }; public ItemPlates() { @@ -65,6 +66,19 @@ public class ItemPlates extends ItemTextureBase } } + public static void registerType(String plateType) { + for (String type : types) { + if (type.equals(plateType)) return; + } + int plateIndex = types.length; + String[] newTypes = new String[plateIndex + 1]; + System.arraycopy(types, 0, newTypes, 0, types.length); + types = newTypes; + newTypes[plateIndex] = plateType; + String oreName = "plate" + OreDictUtils.toFirstUpper(plateType); + OreDictionary.registerOre(oreName, new ItemStack(ModItems.plate, 1, plateIndex)); + } + @Override public String getTextureName(int damage) { return ModInfo.MOD_ID + ":items/plate/" + types[damage] + "Plate"; diff --git a/src/main/java/techreborn/power/TRPowerNet.java b/src/main/java/techreborn/power/TRPowerNet.java index 3244a9cc9..28087b190 100644 --- a/src/main/java/techreborn/power/TRPowerNet.java +++ b/src/main/java/techreborn/power/TRPowerNet.java @@ -180,7 +180,7 @@ public class TRPowerNet te.setNetwork(null); te.findAndJoinNetwork(te.getWorld(), te.getPos()); } - this.clear(true); + this.clear(false); MinecraftForge.EVENT_BUS.unregister(this); } diff --git a/src/main/java/techreborn/tiles/generator/TileLightningRod.java b/src/main/java/techreborn/tiles/generator/TileLightningRod.java new file mode 100644 index 000000000..264c1b6be --- /dev/null +++ b/src/main/java/techreborn/tiles/generator/TileLightningRod.java @@ -0,0 +1,108 @@ +package techreborn.tiles.generator; + +import net.minecraft.entity.effect.EntityLightningBolt; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.math.BlockPos; +import net.minecraftforge.oredict.OreDictionary; +import reborncore.api.power.EnumPowerTier; +import reborncore.common.blocks.BlockMachineBase; +import reborncore.common.powerSystem.TilePowerAcceptor; +import techreborn.config.ConfigTechReborn; + +public class TileLightningRod extends TilePowerAcceptor { + + private int onStatusHoldTicks = -1; + + public TileLightningRod() { + super(2); + } + + @Override + public void update() { + super.update(); + + if(onStatusHoldTicks > 0) + --onStatusHoldTicks; + + if(onStatusHoldTicks == 0 || getEnergy() <= 0) { + if(getBlockType() instanceof BlockMachineBase) + ((BlockMachineBase) getBlockType()).setActive(false, worldObj, pos); + onStatusHoldTicks = -1; + } + + float weatherStrength = worldObj.getThunderStrength(1.0F); + if(weatherStrength > 0.2F) { + //lightStrikeChance = (MAX - (CHANCE * WEATHER_STRENGTH) + float lightStrikeChance = ((100F - ConfigTechReborn.LightningRodChance) * 20F); + float totalChance = lightStrikeChance * getLightningStrikeMultiplier() * ((1.1F - weatherStrength)); + if (worldObj.rand.nextInt((int) Math.floor(totalChance)) == 0) { + EntityLightningBolt lightningBolt = new EntityLightningBolt(worldObj, + pos.getX() + 0.5F, + worldObj.provider.getAverageGroundLevel(), + pos.getZ() + 0.5F, false); + worldObj.addWeatherEffect(lightningBolt); + worldObj.spawnEntityInWorld(lightningBolt); + addEnergy(32768 * (0.3F + weatherStrength)); + ((BlockMachineBase) getBlockType()).setActive(true, worldObj, pos); + onStatusHoldTicks = 400; + } + } + + } + + public float getLightningStrikeMultiplier() { + float actualHeight = worldObj.provider.getActualHeight(); + float groundLevel = worldObj.provider.getAverageGroundLevel(); + for(int i = pos.getY() + 1; i < actualHeight; i++) { + if(!isValidIronFence(i)) { + if(groundLevel >= i) + return 4.3F; + float max = actualHeight - groundLevel; + float got = i - groundLevel; + return 1.2F - got / max; + } + } + return 4F; + } + + public boolean isValidIronFence(int y) { + Item itemBlock = Item.getItemFromBlock(worldObj.getBlockState(new BlockPos(pos.getX(), y, pos.getZ())).getBlock()); + for(ItemStack fence : OreDictionary.getOres("fenceIron")) { + if(fence.getItem() == itemBlock) return true; + } + return false; + } + + @Override + public double getMaxPower() { + return 327680; + } + + @Override + public boolean canAcceptEnergy(EnumFacing direction) { + return false; + } + + @Override + public boolean canProvideEnergy(EnumFacing direction) { + return direction == getFacingEnum(); + } + + @Override + public double getMaxOutput() { + return 2048; + } + + @Override + public double getMaxInput() { + return 0; + } + + @Override + public EnumPowerTier getTier() { + return EnumPowerTier.HIGH; + } + +} diff --git a/src/main/java/techreborn/utils/OreDictUtils.java b/src/main/java/techreborn/utils/OreDictUtils.java index e450a2f1d..1a380304b 100644 --- a/src/main/java/techreborn/utils/OreDictUtils.java +++ b/src/main/java/techreborn/utils/OreDictUtils.java @@ -9,6 +9,16 @@ import net.minecraftforge.oredict.OreDictionary; public class OreDictUtils { + public static String toFirstLower(String string) { + if(string == null || string.isEmpty()) return string; + return Character.toLowerCase(string.charAt(0)) + string.substring(1); + } + + public static String toFirstUpper(String string) { + if(string.isEmpty()) return string; + return Character.toUpperCase(string.charAt(0)) + string.substring(1); + } + public static boolean isOre(Block block, String oreName) { return isOre(new ItemStack(Item.getItemFromBlock(block)), oreName); diff --git a/src/main/java/techreborn/utils/RecipeUtils.java b/src/main/java/techreborn/utils/RecipeUtils.java index 3db8c49be..001f27cc6 100644 --- a/src/main/java/techreborn/utils/RecipeUtils.java +++ b/src/main/java/techreborn/utils/RecipeUtils.java @@ -1,18 +1,11 @@ package techreborn.utils; import net.minecraft.item.ItemStack; -import techreborn.init.ModItems; +import techreborn.items.DynamicCell; public class RecipeUtils { - public static ItemStack getEmptyCell(int stackSize) - { // TODO ic2 - // if (Loader.isModLoaded("IC2")) { - // ItemStack cell = IC2Items.getItem("cell").copy(); - // cell.stackSize = stackSize; - // return cell; - // } else { - return new ItemStack(ModItems.emptyCell); - // } + public static ItemStack getEmptyCell(int stackSize) { + return DynamicCell.getEmptyCell(stackSize); } } diff --git a/src/main/java/techreborn/utils/StackWIPHandler.java b/src/main/java/techreborn/utils/StackWIPHandler.java index c0b44fc0b..352bed787 100644 --- a/src/main/java/techreborn/utils/StackWIPHandler.java +++ b/src/main/java/techreborn/utils/StackWIPHandler.java @@ -22,7 +22,6 @@ public class StackWIPHandler public StackWIPHandler() { - wipBlocks.add(ModBlocks.LightningRod); wipBlocks.add(ModBlocks.MagicalAbsorber); wipBlocks.add(ModBlocks.ChunkLoader); wipBlocks.add(ModBlocks.ElectricCraftingTable); diff --git a/src/main/resources/assets/techreborn/blockstates/lightningrod.json b/src/main/resources/assets/techreborn/blockstates/lightningrod.json index cd6739335..3613b7c44 100644 --- a/src/main/resources/assets/techreborn/blockstates/lightningrod.json +++ b/src/main/resources/assets/techreborn/blockstates/lightningrod.json @@ -4,18 +4,14 @@ "transform":"forge:default-block", "model":"orientable", "textures":{ - "particle":"techreborn:blocks/machine/generators/lightning_rod_side_off", - "top":"techreborn:blocks/machine/generators/lightning_rod_top_off", - "side":"techreborn:blocks/machine/generators/lightning_rod_side_off" + "particle": "techreborn:blocks/machine/generators/lightning_rod_side_off", + "top": "techreborn:blocks/machine/generators/lightning_rod_top", + "side": "techreborn:blocks/machine/generators/lightning_rod_side_off", + "down":"techreborn:blocks/machine/generators/lightning_rod_side_off", + "front":"techreborn:blocks/machine/generators/plasma_generator_front" } }, "variants":{ - "inventory":{ - "transform":"forge:default-block", - "textures":{ - "front":"techreborn:blocks/machine/generators/lightning_rod_side_off" - } - }, "facing":{ "north":{ @@ -33,12 +29,14 @@ "active":{ "true":{ "textures":{ - "front":"techreborn:blocks/machine/generators/lightning_rod_side_on" + "down":"techreborn:blocks/machine/generators/lightning_rod_side_on", + "side":"techreborn:blocks/machine/generators/lightning_rod_side_on" } }, "false":{ "textures":{ - "front":"techreborn:blocks/machine/generators/lightning_rod_side_off" + "down":"techreborn:blocks/machine/generators/lightning_rod_side_off", + "side":"techreborn:blocks/machine/generators/lightning_rod_side_off" } } }, @@ -46,9 +44,10 @@ "model": "orientable", "textures": { "particle": "techreborn:blocks/machine/generators/lightning_rod_side_off", - "top": "techreborn:blocks/machine/generators/lightning_rod_top_off", + "top": "techreborn:blocks/machine/generators/lightning_rod_top", "side": "techreborn:blocks/machine/generators/lightning_rod_side_off", - "front": "techreborn:blocks/machine/generators/lightning_rod_side_off" + "down":"techreborn:blocks/machine/generators/lightning_rod_side_off", + "front":"techreborn:blocks/machine/generators/plasma_generator_front" } } } diff --git a/src/main/resources/assets/techreborn/textures/blocks/machine/generators/lightning_rod_side_off.png b/src/main/resources/assets/techreborn/textures/blocks/machine/generators/lightning_rod_side_off.png index 16f2dd319..e3c13cd87 100644 Binary files a/src/main/resources/assets/techreborn/textures/blocks/machine/generators/lightning_rod_side_off.png and b/src/main/resources/assets/techreborn/textures/blocks/machine/generators/lightning_rod_side_off.png differ diff --git a/src/main/resources/assets/techreborn/textures/blocks/machine/generators/lightning_rod_side_on.png b/src/main/resources/assets/techreborn/textures/blocks/machine/generators/lightning_rod_side_on.png index a5a59004e..f1ff3616b 100644 Binary files a/src/main/resources/assets/techreborn/textures/blocks/machine/generators/lightning_rod_side_on.png and b/src/main/resources/assets/techreborn/textures/blocks/machine/generators/lightning_rod_side_on.png differ diff --git a/src/main/resources/assets/techreborn/textures/blocks/machine/generators/lightning_rod_top_off.png b/src/main/resources/assets/techreborn/textures/blocks/machine/generators/lightning_rod_top_off.png deleted file mode 100644 index c3bd3b9e4..000000000 Binary files a/src/main/resources/assets/techreborn/textures/blocks/machine/generators/lightning_rod_top_off.png and /dev/null differ diff --git a/src/main/resources/assets/techreborn/textures/blocks/machine/generators/lightning_rod_top_on.png b/src/main/resources/assets/techreborn/textures/blocks/machine/generators/lightning_rod_top_on.png deleted file mode 100644 index d31321e3e..000000000 Binary files a/src/main/resources/assets/techreborn/textures/blocks/machine/generators/lightning_rod_top_on.png and /dev/null differ