From 4ed981fcb1bf307fb94fe6f68e76f0d4cf9cb328 Mon Sep 17 00:00:00 2001 From: Giovanni Harting <539@idlegandalf.com> Date: Fri, 13 May 2016 15:13:55 +0200 Subject: changed things a lot --- src/main/java/com/sosnitzka/ztic_addon/Alloys.java | 7 + src/main/java/com/sosnitzka/ztic_addon/Blocks.java | 61 +++ src/main/java/com/sosnitzka/ztic_addon/Fluids.java | 65 +++ src/main/java/com/sosnitzka/ztic_addon/Items.java | 74 ++++ .../java/com/sosnitzka/ztic_addon/Materials.java | 41 ++ src/main/java/com/sosnitzka/ztic_addon/ZTiC.java | 124 ++++++ .../ztic_addon/blocks/BlockLigniteOre.java | 9 +- .../ztic_addon/blocks/BlockTiberiumOre.java | 8 +- .../blocks/category/BasicBlockGround.java | 18 - .../ztic_addon/blocks/category/BasicBlockOre.java | 16 - .../blocks/category/BasicBlockOreGlow.java | 11 - .../sosnitzka/ztic_addon/fluids/BasicFluid.java | 20 - .../ztic_addon/generic/BasicBlockGround.java | 18 + .../ztic_addon/generic/BasicBlockOre.java | 22 + .../ztic_addon/generic/BasicBlockOreGlow.java | 11 + .../sosnitzka/ztic_addon/generic/BasicItem.java | 21 + .../ztic_addon/generic/BasicTinkerFluid.java | 28 ++ .../com/sosnitzka/ztic_addon/items/BasicItem.java | 11 - .../sosnitzka/ztic_addon/items/ItemIronNugget.java | 2 + .../sosnitzka/ztic_addon/items/ItemLignite.java | 2 + .../ztic_addon/items/ItemSlaggoldIngot.java | 2 + .../ztic_addon/items/ItemSlagironIngot.java | 2 + .../java/com/sosnitzka/ztic_addon/main/ZTiC.java | 454 --------------------- .../ztic_addon/main/util/FuelHandler.java | 21 - .../sosnitzka/ztic_addon/main/util/Generator.java | 40 -- .../ztic_addon/main/util/StateMatcher.java | 84 ---- .../ztic_addon/main/util/ZWorldGenMinable.java | 86 ---- .../ztic_addon/main/util/recipes/Crafting.java | 20 - .../ztic_addon/main/util/recipes/Smelting.java | 40 -- .../sosnitzka/ztic_addon/main/world/ZWorldGen.java | 66 --- .../sosnitzka/ztic_addon/proxy/ClientProxy.java | 49 ++- .../sosnitzka/ztic_addon/proxy/ServerProxy.java | 4 +- .../com/sosnitzka/ztic_addon/recipes/Crafting.java | 15 + .../com/sosnitzka/ztic_addon/recipes/Smelting.java | 39 ++ .../com/sosnitzka/ztic_addon/util/FuelHandler.java | 23 ++ .../com/sosnitzka/ztic_addon/util/Generator.java | 41 ++ .../sosnitzka/ztic_addon/util/StateMatcher.java | 84 ++++ .../java/com/sosnitzka/ztic_addon/util/Utils.java | 54 +++ .../com/sosnitzka/ztic_addon/world/ZWorldGen.java | 67 +++ .../ztic_addon/world/ZWorldGenMinable.java | 87 ++++ 40 files changed, 925 insertions(+), 922 deletions(-) create mode 100644 src/main/java/com/sosnitzka/ztic_addon/Alloys.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/Blocks.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/Fluids.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/Items.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/Materials.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/ZTiC.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/blocks/category/BasicBlockGround.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/blocks/category/BasicBlockOre.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/blocks/category/BasicBlockOreGlow.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/fluids/BasicFluid.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/generic/BasicBlockGround.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/generic/BasicBlockOre.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/generic/BasicBlockOreGlow.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/generic/BasicItem.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/generic/BasicTinkerFluid.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/items/BasicItem.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/main/ZTiC.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/main/util/FuelHandler.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/main/util/Generator.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/main/util/StateMatcher.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/main/util/ZWorldGenMinable.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/main/util/recipes/Crafting.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/main/util/recipes/Smelting.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/main/world/ZWorldGen.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/recipes/Crafting.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/recipes/Smelting.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/util/FuelHandler.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/util/Generator.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/util/StateMatcher.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/util/Utils.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/world/ZWorldGen.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/world/ZWorldGenMinable.java (limited to 'src') diff --git a/src/main/java/com/sosnitzka/ztic_addon/Alloys.java b/src/main/java/com/sosnitzka/ztic_addon/Alloys.java new file mode 100644 index 0000000..9a2daf3 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/Alloys.java @@ -0,0 +1,7 @@ +package com.sosnitzka.ztic_addon; + + +public class Alloys { + + +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/Blocks.java b/src/main/java/com/sosnitzka/ztic_addon/Blocks.java new file mode 100644 index 0000000..8c6fd94 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/Blocks.java @@ -0,0 +1,61 @@ +package com.sosnitzka.ztic_addon; + +import com.sosnitzka.ztic_addon.blocks.BlockLigniteOre; +import com.sosnitzka.ztic_addon.blocks.BlockTiberiumOre; +import com.sosnitzka.ztic_addon.generic.BasicBlockGround; +import com.sosnitzka.ztic_addon.generic.BasicBlockOre; +import com.sosnitzka.ztic_addon.generic.BasicBlockOreGlow; +import com.sosnitzka.ztic_addon.util.Utils; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraftforge.oredict.OreDictionary; + +import java.lang.reflect.Field; + +public class Blocks { + public static Block basalt = new BasicBlockOre("basalt", Material.ROCK, 45.0f, 35.0f, 3, null); + public static Block rottenGround = new BasicBlockGround("rotten_ground", Material.GROUND, 2.0f, 2.0f, 0); + public static Block ligniteOre = new BlockLigniteOre(); + + public static Block aardiumOre = new BasicBlockOre("aardium_ore", Material.ROCK, 55.0f, 400.0f, 3, "oreAardium"); + public static Block adamantiteOre = new BasicBlockOre("adamantite_ore", Material.ROCK, 80.0f, 1000.0f, 4, "oreAdamantite"); + public static Block arcaniteOre = new BasicBlockOre("arcanite_ore", Material.ROCK, 23.0f, 25.0f, 2, "oreArcanite"); + public static Block axiidianOre = new BasicBlockOre("axiidian_ore", Material.ROCK, 13.0f, 13.0f, 3, "oreAxiidian"); + public static Block bismuthOre = new BasicBlockOre("bismuth_ore", Material.ROCK, 8.0f, 8.0f, 1, "oreBismuth"); + public static Block eterniteOre = new BasicBlockOre("eternite_ore", Material.ROCK, 24.0f, 25.0f, 3, "oreEternite"); + public static Block ignititeOre = new BasicBlockOre("ignitite_ore", Material.ROCK, 23.0f, 25.0f, 3, "oreIgnitite"); + public static Block karmesineOre = new BasicBlockOre("karmesine_ore", Material.ROCK, 13.0f, 15.0f, 1, "oreKarmesine"); + public static Block meteoriteOre = new BasicBlockOre("meteorite_ore", Material.ROCK, 60.0f, 500.0f, 4, "oreMeteorite"); + public static Block mindoriteOre = new BasicBlockOre("mindorite_ore", Material.ROCK, 12.0f, 12.0f, 2, "oreMindorite"); + public static Block mythrilOre = new BasicBlockOre("mythril_ore", Material.ROCK, 25.0f, 25.0f, 4, "oreMythril"); + public static Block palladiumOre = new BasicBlockOre("palladium_ore", Material.ROCK, 25.0f, 25.0f, 3, "orePalladium"); + public static Block prometheumOre = new BasicBlockOreGlow("prometheum_ore", Material.ROCK, 35.0f, 35.0f, 4, 0.25f, null); + public static Block slagironOre = new BasicBlockOre("slagiron_ore", Material.ROCK, 3.0f, 5.0f, 1, "orePrometheum"); + public static Block slaggoldOre = new BasicBlockOre("slaggold_ore", Material.ROCK, 3.0f, 5.0f, 1, null); + public static Block tiberiumOre = new BlockTiberiumOre(); + public static Block vibraniumOre = new BasicBlockOre("vibranium_ore", Material.ROCK, 70.0f, 800.0f, 4, "oreVibranium"); + public static Block yrdeanOre = new BasicBlockOre("yrdean_ore", Material.ROCK, 13.0f, 15.0f, 3, "oreYrdean"); + + + public static void register() { + Field[] declaredFields = Blocks.class.getDeclaredFields(); + for (Field field : declaredFields) { + if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) { + Class targetType = field.getType(); + try { + Object newInstance = targetType.newInstance(); + BasicBlockOre block = (BasicBlockOre) field.get(newInstance); + Utils.registerBlockWithItem(block); + + if (block.isOreDict()) { + OreDictionary.registerOre(block.oreDictName, block); + } + } catch (InstantiationException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + } + } +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/Fluids.java b/src/main/java/com/sosnitzka/ztic_addon/Fluids.java new file mode 100644 index 0000000..806222f --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/Fluids.java @@ -0,0 +1,65 @@ +package com.sosnitzka.ztic_addon; + + +import com.sosnitzka.ztic_addon.generic.BasicTinkerFluid; +import com.sosnitzka.ztic_addon.util.Utils; +import net.minecraftforge.fluids.Fluid; +import org.apache.commons.lang3.StringUtils; + +import java.lang.reflect.Field; + +public class Fluids { + + public static Fluid arcaniteFluid = new BasicTinkerFluid("arcaniteFluid", 0xFF272354, true, 200, 10, 4000); + public static Fluid aardiumFluid = new BasicTinkerFluid("aardiumFluid", 0xFFC3F93D, true, 200, 10, 4000); + public static Fluid adamantiteFluid = new BasicTinkerFluid("adamantiteFluid", 0xFFc45c82, true, 200, 10, 4000); + public static Fluid axiidianFluid = new BasicTinkerFluid("axiidianFluid", 0xFF77a19a, true, 200, 10, 4000); + public static Fluid bismuthFluid = new BasicTinkerFluid("bismuthFluid", 0xFF555555, true, 200, 10, 4000); + public static Fluid eterniteFluid = new BasicTinkerFluid("eterniteFluid", 0xFFfafa98, true, 200, 10, 4000); + public static Fluid ignititeFluid = new BasicTinkerFluid("ignititeFluid", 0xFFd29453, true, 200, 10, 4000); + public static Fluid karmesineFluid = new BasicTinkerFluid("karmesineFluid", 0xFFc16d6d, true, 200, 10, 4000); + public static Fluid meteoriteFluid = new BasicTinkerFluid("meteoriteFluid", 0xFF6e6a62, true, 200, 10, 4000); + public static Fluid mindoriteFluid = new BasicTinkerFluid("mindoriteFluid", 0xFF6bbbbf, true, 200, 10, 4000); + public static Fluid mythrilFluid = new BasicTinkerFluid("mythrilFluid", 0xFFa8c0ba, true, 200, 10, 4000); + public static Fluid palladiumFluid = new BasicTinkerFluid("palladiumFluid", 0xFFfe5c05, true, 200, 10, 4000); + public static Fluid prometheumFluid = new BasicTinkerFluid("prometheumFluid", 0xFF2b282f, true, 200, 10, 4000); + public static Fluid tiberiumFluid = new BasicTinkerFluid("tiberiumFluid", 0xFF86bd5a, true, 200, 10, 4000); + public static Fluid vibraniumFluid = new BasicTinkerFluid("vibraniumFluid", 0xFFb6bba8, true, 200, 10, 4000); + public static Fluid yrdeanFluid = new BasicTinkerFluid("yrdeanFluid", 0xFF3e3c6f, true, 200, 10, 4000); + + public static Fluid astriumFluid = new BasicTinkerFluid("astriumFluid", 0xFF7a3b74, true, 200, 10, 4000); + public static Fluid instableNitroniteFluid = new BasicTinkerFluid("instableNitroniteFluid", 0xFF659933, true, 200, 10, 4000); + public static Fluid proxideumFluid = new BasicTinkerFluid("proxideumFluid", 0xFF416565, true, 200, 10, 4000); + public static Fluid instablePolyniumFluid = new BasicTinkerFluid("instablePolyniumFluid", 0xFF6c6aa3, true, 200, 10, 4000); + public static Fluid imperomiteFluid = new BasicTinkerFluid("imperomiteFluid", 0xFF339966, true, 200, 10, 4000); + public static Fluid cryptogenFluid = new BasicTinkerFluid("cryptogenFluid", 0xFF9f8a4a, true, 200, 10, 4000); + public static Fluid fractoryteFluid = new BasicTinkerFluid("fractoryteFluid", 0xFFb44a14, true, 200, 10, 4000); + public static Fluid seismodiumFluid = new BasicTinkerFluid("seismodiumFluid", 0xFF46131D, true, 200, 10, 4000); + public static Fluid terramiteFluid = new BasicTinkerFluid("terramiteFluid", 0xFFa6b27a, true, 200, 10, 4000); + public static Fluid instablePrysociteFluid = new BasicTinkerFluid("instablePrysociteFluid", 0xFFbde398, true, 200, 10, 4000); + public static Fluid blazingXylititeFluid = new BasicTinkerFluid("blazingXylititeFluid", 0xFFffc81d, true, 200, 10, 4000); + public static Fluid instableDyoniteFluid = new BasicTinkerFluid("instableDyoniteFluid", 0xFFff6743, true, 200, 10, 4000); + public static Fluid ultraniteFluid = new BasicTinkerFluid("ultraniteFluid", 0xFFfff69b, true, 200, 10, 4000); + public static Fluid radiantPliniumFluid = new BasicTinkerFluid("radiantPliniumFluid", 0xFFc1ff68, true, 200, 10, 4000); + public static Fluid dysprosaniumFluid = new BasicTinkerFluid("dysprosaniumFluid", 0xFFb7a2bd, true, 200, 10, 4000); + public static Fluid refractiveBysmuidFluid = new BasicTinkerFluid("refractiveBysmuidFluid", 0xFF7b97b0, true, 200, 10, 4000); + + + static void register() { + Field[] declaredFields = Fluids.class.getDeclaredFields(); + for (Field field : declaredFields) { + if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) { + Class targetType = field.getType(); + try { + Object newInstance = targetType.newInstance(); + BasicTinkerFluid fluid = (BasicTinkerFluid) newInstance; + Utils.registerTinkerFluid(StringUtils.capitalize(field.getName().replace("Fluid", "")), fluid, fluid.isToolForge()); + } catch (InstantiationException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + } + } +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/Items.java b/src/main/java/com/sosnitzka/ztic_addon/Items.java new file mode 100644 index 0000000..0c10bfa --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/Items.java @@ -0,0 +1,74 @@ +package com.sosnitzka.ztic_addon; + + +import com.sosnitzka.ztic_addon.generic.BasicItem; +import com.sosnitzka.ztic_addon.items.ItemIronNugget; +import com.sosnitzka.ztic_addon.items.ItemLignite; +import com.sosnitzka.ztic_addon.items.ItemSlaggoldIngot; +import com.sosnitzka.ztic_addon.items.ItemSlagironIngot; +import net.minecraft.item.Item; +import net.minecraftforge.fml.common.registry.GameRegistry; + +import java.lang.reflect.Field; + +public class Items { + public static ItemSlagironIngot slagironIngot = new ItemSlagironIngot(); + public static ItemLignite lignite = new ItemLignite(); + public static ItemIronNugget iron_nugget = new ItemIronNugget(); + public static ItemSlaggoldIngot slaggoldIngot = new ItemSlaggoldIngot(); + public static Item fuel_brick = new BasicItem("fuel_brick"); + + public static Item aardiumIngot = new BasicItem("aardium_ingot", "ingotAardium"); + public static Item adamantiteIngot = new BasicItem("adamantite_ingot", "ingotAdamantite"); + public static Item arcaniteIngot = new BasicItem("arcanite_ingot", "ingotArcanite"); + public static Item axiidianIngot = new BasicItem("axiidian_ingot", "ingotAxiidian"); + public static Item bismuthIngot = new BasicItem("bismuth_ingot", "ingotBismuth"); + public static Item eterniteIngot = new BasicItem("eternite_ingot", "ingotEternite"); + public static Item ignititeIngot = new BasicItem("ignitite_ingot", "ingotIgnitite"); + public static Item karmesineIngot = new BasicItem("karmesine_ingot", "ingotKarmesine"); + public static Item meteoriteIngot = new BasicItem("meteorite_ingot", "ingotMeteorite"); + public static Item mindoriteIngot = new BasicItem("mindorite_ingot", "ingotMindorite"); + public static Item mythrilIngot = new BasicItem("mythril_ingot", "ingotMythril"); + public static Item palladiumIngot = new BasicItem("palladium_ingot", "ingotPalladium"); + public static Item prometheumIngot = new BasicItem("prometheum_ingot", "ingotPrometheum"); + public static Item tiberiumIngot = new BasicItem("tiberium_ingot", "ingotTiberium"); + public static Item vibraniumIngot = new BasicItem("vibranium_ingot", "ingotVibranium"); + public static Item yrdeanIngot = new BasicItem("yrdean_ingot", "ingotYrdean"); + + public static Item astriumIngot = new BasicItem("astrium_ingot", "ingotAstrium"); + public static Item instableNitroniteIngot = new BasicItem("instable_nitronite_ingot"); + public static Item proxideumIngot = new BasicItem("proxideum_ingot"); + public static Item instablePolyniumIngot = new BasicItem("instable_polyniumingot"); + public static Item imperomiteIngot = new BasicItem("imperomite_ingot"); + public static Item cryptogenIngot = new BasicItem("cryptogen_ingot"); + public static Item fractoryteIngot = new BasicItem("fractoryte_ingot"); + public static Item seismodiumIngot = new BasicItem("seismodium_ingot"); + public static Item terramiteIngot = new BasicItem("terramite_ingot"); + public static Item instablePrysociteIngot = new BasicItem("instable_prysocite_ingot"); + public static Item blazingXylititeIngot = new BasicItem("blazing_xylitite_ingot"); + public static Item instableDyoniteIngot = new BasicItem("instable_dyonite_ingot"); + public static Item ultraniteIngot = new BasicItem("ultranite_ingot"); + public static Item radiantPliniumIngot = new BasicItem("radiant_plinium_ingot"); + public static Item dysprosaniumIngot = new BasicItem("dysprosanium_ingot"); + public static Item refractiveBysumIngot = new BasicItem("refractive_bysum_ingot"); + + public static Item tiberiumShardInstable = new BasicItem("tiberium_shard_instable"); + public static Item tiberiumShardStable = new BasicItem("tiberium_shard_stable"); + + static void register() { + Field[] declaredFields = Items.class.getDeclaredFields(); + for (Field field : declaredFields) { + if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) { + Class targetType = field.getType(); + try { + Object newInstance = targetType.newInstance(); + GameRegistry.register(((Item) field.get(newInstance))); + } catch (InstantiationException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + } + } +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/Materials.java b/src/main/java/com/sosnitzka/ztic_addon/Materials.java new file mode 100644 index 0000000..293b0f2 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/Materials.java @@ -0,0 +1,41 @@ +package com.sosnitzka.ztic_addon; + + +import net.minecraft.util.text.TextFormatting; +import slimeknights.tconstruct.library.materials.Material; + +public class Materials { + public static Material arcanite = new Material("arcanite", TextFormatting.LIGHT_PURPLE); + public static Material tiberium = new Material("tiberium", TextFormatting.LIGHT_PURPLE); + public static Material prometheum = new Material("prometheum", TextFormatting.LIGHT_PURPLE); + public static Material yrdean = new Material("yrdean", TextFormatting.LIGHT_PURPLE); + public static Material axiidian = new Material("axiidian", TextFormatting.DARK_GREEN); + public static Material bismuth = new Material("bismuth", TextFormatting.DARK_GREEN); + public static Material karmesine = new Material("karmesine", TextFormatting.DARK_GREEN); + public static Material mindorite = new Material("mindorite", TextFormatting.DARK_GREEN); + public static Material aardium = new Material("aardium", TextFormatting.GRAY); + public static Material meteorite = new Material("meteorite", TextFormatting.GRAY); + public static Material adamantite = new Material("adamantite", TextFormatting.GRAY); + public static Material vibranium = new Material("vibranium", TextFormatting.GRAY); + public static Material ignitite = new Material("ignitite", TextFormatting.AQUA); + public static Material palladium = new Material("palladium", TextFormatting.AQUA); + public static Material eternite = new Material("eternite", TextFormatting.AQUA); + public static Material mythril = new Material("mythril", TextFormatting.AQUA); + + public static Material astrium = new Material("astrium", TextFormatting.LIGHT_PURPLE); + public static Material instableNitronite = new Material("instableNitronite", TextFormatting.LIGHT_PURPLE); + public static Material proxideum = new Material("proxideum", TextFormatting.LIGHT_PURPLE); + public static Material instablePolynium = new Material("instablePolynium", TextFormatting.LIGHT_PURPLE); + public static Material imperomite = new Material("imperomite", TextFormatting.DARK_GREEN); + public static Material cryptogen = new Material("cryptogen", TextFormatting.DARK_GREEN); + public static Material fractoryte = new Material("fractoryte", TextFormatting.DARK_GREEN); + public static Material seismodium = new Material("seismodium", TextFormatting.DARK_GREEN); + public static Material terramite = new Material("terramite", TextFormatting.GRAY); + public static Material instablePrysocite = new Material("instablePrysocite", TextFormatting.GRAY); + public static Material blazingXylitite = new Material("blazingXylitite", TextFormatting.GRAY); + public static Material instableDyonite = new Material("instableDyonite", TextFormatting.GRAY); + public static Material ultranite = new Material("ultranite", TextFormatting.AQUA); + public static Material radiantPlinium = new Material("radiantPlinium", TextFormatting.AQUA); + public static Material dysprosanium = new Material("dysprosanium", TextFormatting.AQUA); + public static Material refractiveBysmuid = new Material("refractiveBysmuidFluid", TextFormatting.AQUA); +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java b/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java new file mode 100644 index 0000000..e8401d1 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java @@ -0,0 +1,124 @@ +package com.sosnitzka.ztic_addon; + +import com.google.common.collect.Lists; +import com.sosnitzka.ztic_addon.proxy.ClientProxy; +import com.sosnitzka.ztic_addon.recipes.Crafting; +import com.sosnitzka.ztic_addon.recipes.Smelting; +import com.sosnitzka.ztic_addon.util.FuelHandler; +import com.sosnitzka.ztic_addon.world.ZWorldGen; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.common.Mod.EventHandler; +import net.minecraftforge.fml.common.SidedProxy; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; +import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; +import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import net.minecraftforge.fml.common.registry.GameRegistry; +import slimeknights.tconstruct.library.MaterialIntegration; +import slimeknights.tconstruct.library.materials.ExtraMaterialStats; +import slimeknights.tconstruct.library.materials.HandleMaterialStats; +import slimeknights.tconstruct.library.materials.HeadMaterialStats; + +import java.util.List; + +import static com.sosnitzka.ztic_addon.Fluids.*; +import static com.sosnitzka.ztic_addon.Materials.*; +import static com.sosnitzka.ztic_addon.util.Utils.registerTinkerAlloys; + +@Mod(modid = ZTiC.MODID, version = ZTiC.VERSION) +public class ZTiC { + + static final String MODID = "ztic_addon"; + static final String VERSION = "@VERSION@"; + + @SidedProxy(clientSide = "com.sosnitzka.ztic_addon.proxy.ClientProxy", serverSide = "com.sosnitzka.ztic_addon.proxy.ServerProxy") + private static ClientProxy proxy; + private List integrateList = Lists.newArrayList(); + + @EventHandler + public void preInit(FMLPreInitializationEvent e) { + Items.register(); + Blocks.register(); + Fluids.register(); + + // TConstruct Alloys + registerTinkerAlloys(astriumFluid, 1, arcaniteFluid, 3, karmesineFluid, 2); + registerTinkerAlloys(instableNitroniteFluid, 1, tiberiumFluid, 5, vibraniumFluid, 3); + registerTinkerAlloys(proxideumFluid, 1, prometheumFluid, 3, axiidianFluid, 2); + registerTinkerAlloys(instablePolyniumFluid, 1, yrdeanFluid, 3, meteoriteFluid, 2); + registerTinkerAlloys(imperomiteFluid, 2, aardiumFluid, 3, prometheumFluid, 3); + registerTinkerAlloys(cryptogenFluid, 1, meteoriteFluid, 3, mythrilFluid, 2); + registerTinkerAlloys(fractoryteFluid, 1, adamantiteFluid, 4, arcaniteFluid, 2); + registerTinkerAlloys(seismodiumFluid, 1, vibraniumFluid, 4, palladiumFluid, 4); + registerTinkerAlloys(terramiteFluid, 2, axiidianFluid, 4, eterniteFluid, 2); + registerTinkerAlloys(instablePrysociteFluid, 1, bismuthFluid, 3, yrdeanFluid, 2); + registerTinkerAlloys(blazingXylititeFluid, 1, karmesineFluid, 3, ignititeFluid, 2); + registerTinkerAlloys(instableDyoniteFluid, 1, mindoriteFluid, 4, tiberiumFluid, 2); + registerTinkerAlloys(ultraniteFluid, 1, ignititeFluid, 5, adamantiteFluid, 3); + registerTinkerAlloys(radiantPliniumFluid, 1, palladiumFluid, 3, mindoriteFluid, 3); + registerTinkerAlloys(dysprosaniumFluid, 1, eterniteFluid, 3, aardiumFluid, 3); + registerTinkerAlloys(refractiveBysmuidFluid, 1, mythrilFluid, 4, bismuthFluid, 2); + + + // Material from ores + registerTinkerMaterial("Arcanite", arcanite, arcaniteFluid, 1, 5, 6, 7, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Tiberium", tiberium, tiberiumFluid, 1, 5, 6, 6, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Prometheum", prometheum, prometheumFluid, 1, 5, 6, 5, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Yrdean", yrdean, yrdeanFluid, 1, 5, 6, 4, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Axiidian", axiidian, axiidianFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Bismuth", bismuth, bismuthFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Karmesine", karmesine, karmesineFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Mindorite", mindorite, mindoriteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Aardium", aardium, aardiumFluid, 1, 5, 6, 3, 0.8f, 0, 100, true, true); + registerTinkerMaterial("Meteorite", meteorite, meteoriteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Adamantite", adamantite, adamantiteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Vibranium", vibranium, vibraniumFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Ignitite", ignitite, ignititeFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Palladium", palladium, palladiumFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Eternite", eternite, eterniteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Mythril", mythril, mythrilFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + + // Material from alloys + registerTinkerMaterial("Astrium", astrium, astriumFluid, 1, 5, 6, 7, 0.8f, 0, 100, false, true); + registerTinkerMaterial("InstableNitronite", instableNitronite, instableNitroniteFluid, 1, 5, 6, 6, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Proxideum", proxideum, proxideumFluid, 1, 5, 6, 5, 0.8f, 0, 100, false, true); + registerTinkerMaterial("InstablePolynium", instablePolynium, instablePolyniumFluid, 1, 5, 6, 4, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Imperomite", imperomite, imperomiteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Cryptogen", cryptogen, cryptogenFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Fractoryte", fractoryte, fractoryteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Seismodium", seismodium, seismodiumFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Terramite", terramite, terramiteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("InstablePrysocite", instablePrysocite, instablePrysociteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("BlazingXylitite", blazingXylitite, blazingXylititeFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Ultranite", ultranite, ultraniteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("RadiantPlinium", radiantPlinium, radiantPliniumFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("Dysprosanium", dysprosanium, dysprosaniumFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("RefractiveBysmuid", refractiveBysmuid, refractiveBysmuidFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + registerTinkerMaterial("InstableDyonite", instableDyonite, instableDyoniteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); + } + + @EventHandler + public void init(FMLInitializationEvent e) { + GameRegistry.registerWorldGenerator(new ZWorldGen(), 100); + GameRegistry.registerFuelHandler(new FuelHandler()); + Smelting.register(); + Crafting.register(); + + for (MaterialIntegration m : integrateList) { + m.integrateRecipes(); + } + } + + + @EventHandler + public void postInit(FMLPostInitializationEvent e) { + + } + + private void registerTinkerMaterial(String name, slimeknights.tconstruct.library.materials.Material material, Fluid fluid, int headDura, int headSpeed, int headAttack, int headLevel, float handleMod, int handleDura, int extra, boolean craft, boolean cast) { + material.addStats(new HeadMaterialStats(headDura, headSpeed, headAttack, headLevel)).addStats(new HandleMaterialStats(handleMod, handleDura)).addStats(new ExtraMaterialStats(extra)).setFluid(fluid).setCraftable(craft).setCastable(cast).setRenderInfo(fluid.getColor()); + MaterialIntegration integration = new MaterialIntegration(material, fluid, name); + integration.integrate(); + integrateList.add(integration); + } +} \ No newline at end of file diff --git a/src/main/java/com/sosnitzka/ztic_addon/blocks/BlockLigniteOre.java b/src/main/java/com/sosnitzka/ztic_addon/blocks/BlockLigniteOre.java index 7f4885c..1fb3cdc 100644 --- a/src/main/java/com/sosnitzka/ztic_addon/blocks/BlockLigniteOre.java +++ b/src/main/java/com/sosnitzka/ztic_addon/blocks/BlockLigniteOre.java @@ -1,7 +1,6 @@ package com.sosnitzka.ztic_addon.blocks; -import com.sosnitzka.ztic_addon.blocks.category.BasicBlockOre; -import com.sosnitzka.ztic_addon.main.ZTiC; +import com.sosnitzka.ztic_addon.generic.BasicBlockOre; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.item.Item; @@ -12,10 +11,12 @@ import net.minecraft.world.World; import java.util.Random; +import static com.sosnitzka.ztic_addon.Items.lignite; + public class BlockLigniteOre extends BasicBlockOre { public BlockLigniteOre() { - super("lignite_ore", Material.ROCK, 4.0f, 5.0f, 1); + super("lignite_ore", Material.ROCK, 4.0f, 5.0f, 1, null); } @Override @@ -34,6 +35,6 @@ public class BlockLigniteOre extends BasicBlockOre { @Override public Item getItemDropped(IBlockState state, Random rand, int fortune) { - return ZTiC.lignite; + return lignite; } } diff --git a/src/main/java/com/sosnitzka/ztic_addon/blocks/BlockTiberiumOre.java b/src/main/java/com/sosnitzka/ztic_addon/blocks/BlockTiberiumOre.java index aa570e9..db5ae65 100644 --- a/src/main/java/com/sosnitzka/ztic_addon/blocks/BlockTiberiumOre.java +++ b/src/main/java/com/sosnitzka/ztic_addon/blocks/BlockTiberiumOre.java @@ -1,7 +1,7 @@ package com.sosnitzka.ztic_addon.blocks; -import com.sosnitzka.ztic_addon.blocks.category.BasicBlockOreGlow; -import com.sosnitzka.ztic_addon.main.ZTiC; +import com.sosnitzka.ztic_addon.Items; +import com.sosnitzka.ztic_addon.generic.BasicBlockOreGlow; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.item.Item; @@ -15,7 +15,7 @@ import java.util.Random; public class BlockTiberiumOre extends BasicBlockOreGlow { public BlockTiberiumOre() { - super("tiberium_ore", Material.ROCK, 30.0f, 30.0f, 3, 0.8f); + super("tiberium_ore", Material.ROCK, 30.0f, 30.0f, 3, 0.8f, "oreTiberium"); } @Override @@ -34,6 +34,6 @@ public class BlockTiberiumOre extends BasicBlockOreGlow { @Override public Item getItemDropped(IBlockState state, Random rand, int fortune) { - return ZTiC.tiberiumShardInstable; + return Items.tiberiumShardInstable; } } diff --git a/src/main/java/com/sosnitzka/ztic_addon/blocks/category/BasicBlockGround.java b/src/main/java/com/sosnitzka/ztic_addon/blocks/category/BasicBlockGround.java deleted file mode 100644 index 17a5163..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/blocks/category/BasicBlockGround.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.sosnitzka.ztic_addon.blocks.category; - -import net.minecraft.block.Block; -import net.minecraft.block.SoundType; -import net.minecraft.block.material.Material; - -public class BasicBlockGround extends Block { - - public BasicBlockGround(String name, Material material, float hardness, float resistance, int harvest) { - super(material); - setUnlocalizedName(name); - setRegistryName(name); - setHardness(hardness); - setResistance(resistance); - setHarvestLevel("shovel", harvest); - setSoundType(SoundType.GROUND); - } -} diff --git a/src/main/java/com/sosnitzka/ztic_addon/blocks/category/BasicBlockOre.java b/src/main/java/com/sosnitzka/ztic_addon/blocks/category/BasicBlockOre.java deleted file mode 100644 index 52078ef..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/blocks/category/BasicBlockOre.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.sosnitzka.ztic_addon.blocks.category; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; - -public class BasicBlockOre extends Block { - - public BasicBlockOre(String name, Material material, float hardness, float resistance, int harvest) { - super(material); - setUnlocalizedName(name); - setRegistryName(name); - setHardness(hardness); - setResistance(resistance); - setHarvestLevel("pickaxe", harvest); - } -} diff --git a/src/main/java/com/sosnitzka/ztic_addon/blocks/category/BasicBlockOreGlow.java b/src/main/java/com/sosnitzka/ztic_addon/blocks/category/BasicBlockOreGlow.java deleted file mode 100644 index 2e077dd..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/blocks/category/BasicBlockOreGlow.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.sosnitzka.ztic_addon.blocks.category; - -import net.minecraft.block.material.Material; - -public class BasicBlockOreGlow extends BasicBlockOre { - - public BasicBlockOreGlow(String name, Material material, float hardness, float resistance, int harvest, float glow) { - super(name, material, hardness, resistance, harvest); - setLightLevel(glow); - } -} diff --git a/src/main/java/com/sosnitzka/ztic_addon/fluids/BasicFluid.java b/src/main/java/com/sosnitzka/ztic_addon/fluids/BasicFluid.java deleted file mode 100644 index 69cd228..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/fluids/BasicFluid.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.sosnitzka.ztic_addon.fluids; - -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fluids.Fluid; - -public class BasicFluid extends Fluid { - - private int color; - - public BasicFluid(String fluidName, int color) { - super(fluidName, new ResourceLocation("tconstruct:blocks/fluids/molten_metal"), new ResourceLocation("tconstruct:blocks/fluids/molten_metal_flow")); - this.color = color; - } - - @Override - public int getColor() { - return color; - } - -} diff --git a/src/main/java/com/sosnitzka/ztic_addon/generic/BasicBlockGround.java b/src/main/java/com/sosnitzka/ztic_addon/generic/BasicBlockGround.java new file mode 100644 index 0000000..dba47b9 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/generic/BasicBlockGround.java @@ -0,0 +1,18 @@ +package com.sosnitzka.ztic_addon.generic; + +import net.minecraft.block.Block; +import net.minecraft.block.SoundType; +import net.minecraft.block.material.Material; + +public class BasicBlockGround extends Block { + + public BasicBlockGround(String name, Material material, float hardness, float resistance, int harvest) { + super(material); + setUnlocalizedName(name); + setRegistryName(name); + setHardness(hardness); + setResistance(resistance); + setHarvestLevel("shovel", harvest); + setSoundType(SoundType.GROUND); + } +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/generic/BasicBlockOre.java b/src/main/java/com/sosnitzka/ztic_addon/generic/BasicBlockOre.java new file mode 100644 index 0000000..edf835e --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/generic/BasicBlockOre.java @@ -0,0 +1,22 @@ +package com.sosnitzka.ztic_addon.generic; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; + +public class BasicBlockOre extends Block { + public String oreDictName; + + public BasicBlockOre(String name, Material material, float hardness, float resistance, int harvest, String oreDictName) { + super(material); + setUnlocalizedName(name); + setRegistryName(name); + setHardness(hardness); + setResistance(resistance); + setHarvestLevel("pickaxe", harvest); + this.oreDictName = oreDictName; + } + + public boolean isOreDict() { + return this.oreDictName != null; + } +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/generic/BasicBlockOreGlow.java b/src/main/java/com/sosnitzka/ztic_addon/generic/BasicBlockOreGlow.java new file mode 100644 index 0000000..3a08210 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/generic/BasicBlockOreGlow.java @@ -0,0 +1,11 @@ +package com.sosnitzka.ztic_addon.generic; + +import net.minecraft.block.material.Material; + +public class BasicBlockOreGlow extends BasicBlockOre { + + public BasicBlockOreGlow(String name, Material material, float hardness, float resistance, int harvest, float glow, String oreDictName) { + super(name, material, hardness, resistance, harvest, oreDictName); + setLightLevel(glow); + } +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/generic/BasicItem.java b/src/main/java/com/sosnitzka/ztic_addon/generic/BasicItem.java new file mode 100644 index 0000000..0d2a32d --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/generic/BasicItem.java @@ -0,0 +1,21 @@ +package com.sosnitzka.ztic_addon.generic; + +import net.minecraft.item.Item; + +public class BasicItem extends Item { + public String oreDictName; + + public BasicItem(String name, String oreDictName) { + setUnlocalizedName(name); + setRegistryName(name); + this.oreDictName = oreDictName; + } + + public BasicItem(String name) { + this(name, null); + } + + public boolean isOreDict() { + return this.oreDictName != null; + } +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/generic/BasicTinkerFluid.java b/src/main/java/com/sosnitzka/ztic_addon/generic/BasicTinkerFluid.java new file mode 100644 index 0000000..1466ee4 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/generic/BasicTinkerFluid.java @@ -0,0 +1,28 @@ +package com.sosnitzka.ztic_addon.generic; + +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.fluids.Fluid; + +public class BasicTinkerFluid extends Fluid { + + private int color; + private boolean toolForge; + + public BasicTinkerFluid(String fluidName, int color, boolean toolForge, int temp, int lumen, int visk) { + super(fluidName, new ResourceLocation("tconstruct:blocks/fluids/molten_metal"), new ResourceLocation("tconstruct:blocks/fluids/molten_metal_flow")); + this.color = color; + this.setTemperature(temp); + this.setLuminosity(lumen); + this.setViscosity(visk); + this.toolForge = toolForge; + } + + @Override + public int getColor() { + return color; + } + + public boolean isToolForge() { + return toolForge; + } +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/items/BasicItem.java b/src/main/java/com/sosnitzka/ztic_addon/items/BasicItem.java deleted file mode 100644 index c7a828f..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/items/BasicItem.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.sosnitzka.ztic_addon.items; - -import net.minecraft.item.Item; - -public class BasicItem extends Item { - - public BasicItem(String name) { - setUnlocalizedName(name); - setRegistryName(name); - } -} diff --git a/src/main/java/com/sosnitzka/ztic_addon/items/ItemIronNugget.java b/src/main/java/com/sosnitzka/ztic_addon/items/ItemIronNugget.java index 2a2f34e..8b396e4 100644 --- a/src/main/java/com/sosnitzka/ztic_addon/items/ItemIronNugget.java +++ b/src/main/java/com/sosnitzka/ztic_addon/items/ItemIronNugget.java @@ -1,5 +1,7 @@ package com.sosnitzka.ztic_addon.items; +import com.sosnitzka.ztic_addon.generic.BasicItem; + public class ItemIronNugget extends BasicItem { public ItemIronNugget() { diff --git a/src/main/java/com/sosnitzka/ztic_addon/items/ItemLignite.java b/src/main/java/com/sosnitzka/ztic_addon/items/ItemLignite.java index 5642b9a..d734e29 100644 --- a/src/main/java/com/sosnitzka/ztic_addon/items/ItemLignite.java +++ b/src/main/java/com/sosnitzka/ztic_addon/items/ItemLignite.java @@ -1,5 +1,7 @@ package com.sosnitzka.ztic_addon.items; +import com.sosnitzka.ztic_addon.generic.BasicItem; + public class ItemLignite extends BasicItem { public ItemLignite() { diff --git a/src/main/java/com/sosnitzka/ztic_addon/items/ItemSlaggoldIngot.java b/src/main/java/com/sosnitzka/ztic_addon/items/ItemSlaggoldIngot.java index bdc0be0..996c32d 100644 --- a/src/main/java/com/sosnitzka/ztic_addon/items/ItemSlaggoldIngot.java +++ b/src/main/java/com/sosnitzka/ztic_addon/items/ItemSlaggoldIngot.java @@ -1,5 +1,7 @@ package com.sosnitzka.ztic_addon.items; +import com.sosnitzka.ztic_addon.generic.BasicItem; + public class ItemSlaggoldIngot extends BasicItem { public ItemSlaggoldIngot() { diff --git a/src/main/java/com/sosnitzka/ztic_addon/items/ItemSlagironIngot.java b/src/main/java/com/sosnitzka/ztic_addon/items/ItemSlagironIngot.java index 48a9364..e76e9aa 100644 --- a/src/main/java/com/sosnitzka/ztic_addon/items/ItemSlagironIngot.java +++ b/src/main/java/com/sosnitzka/ztic_addon/items/ItemSlagironIngot.java @@ -1,5 +1,7 @@ package com.sosnitzka.ztic_addon.items; +import com.sosnitzka.ztic_addon.generic.BasicItem; + public class ItemSlagironIngot extends BasicItem { public ItemSlagironIngot() { diff --git a/src/main/java/com/sosnitzka/ztic_addon/main/ZTiC.java b/src/main/java/com/sosnitzka/ztic_addon/main/ZTiC.java deleted file mode 100644 index 8d1c997..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/main/ZTiC.java +++ /dev/null @@ -1,454 +0,0 @@ -package com.sosnitzka.ztic_addon.main; - -import com.google.common.collect.Lists; -import com.sosnitzka.ztic_addon.blocks.BlockLigniteOre; -import com.sosnitzka.ztic_addon.blocks.BlockTiberiumOre; -import com.sosnitzka.ztic_addon.blocks.category.BasicBlockGround; -import com.sosnitzka.ztic_addon.blocks.category.BasicBlockOre; -import com.sosnitzka.ztic_addon.blocks.category.BasicBlockOreGlow; -import com.sosnitzka.ztic_addon.fluids.BasicFluid; -import com.sosnitzka.ztic_addon.items.*; -import com.sosnitzka.ztic_addon.main.util.FuelHandler; -import com.sosnitzka.ztic_addon.main.util.recipes.Crafting; -import com.sosnitzka.ztic_addon.main.util.recipes.Smelting; -import com.sosnitzka.ztic_addon.main.world.ZWorldGen; -import com.sosnitzka.ztic_addon.proxy.ServerProxy; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.util.text.TextFormatting; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.common.Mod.EventHandler; -import net.minecraftforge.fml.common.SidedProxy; -import net.minecraftforge.fml.common.event.FMLInitializationEvent; -import net.minecraftforge.fml.common.event.FMLInterModComms; -import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; -import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; -import net.minecraftforge.fml.common.registry.GameRegistry; -import net.minecraftforge.oredict.OreDictionary; -import slimeknights.tconstruct.library.MaterialIntegration; -import slimeknights.tconstruct.library.materials.ExtraMaterialStats; -import slimeknights.tconstruct.library.materials.HandleMaterialStats; -import slimeknights.tconstruct.library.materials.HeadMaterialStats; - -import java.util.List; - -@Mod(modid = ZTiC.MODID, version = ZTiC.VERSION) -public class ZTiC { - - static final String MODID = "ztic_addon"; - static final String VERSION = "@VERSION@"; - - // ITEMS - public static ItemSlagironIngot slagironIngot = new ItemSlagironIngot(); - public static ItemLignite lignite = new ItemLignite(); - public static ItemIronNugget iron_nugget = new ItemIronNugget(); - public static ItemSlaggoldIngot slaggoldIngot = new ItemSlaggoldIngot(); - public static Item fuel_brick = new BasicItem("fuel_brick"); - - public static Item aardiumIngot = new BasicItem("aardium_ingot"); - public static Item adamantiteIngot = new BasicItem("adamantite_ingot"); - public static Item arcaniteIngot = new BasicItem("arcanite_ingot"); - public static Item axiidianIngot = new BasicItem("axiidian_ingot"); - public static Item bismuthIngot = new BasicItem("bismuth_ingot"); - public static Item eterniteIngot = new BasicItem("eternite_ingot"); - public static Item ignititeIngot = new BasicItem("ignitite_ingot"); - public static Item karmesineIngot = new BasicItem("karmesine_ingot"); - public static Item meteoriteIngot = new BasicItem("meteorite_ingot"); - public static Item mindoriteIngot = new BasicItem("mindorite_ingot"); - public static Item mythrilIngot = new BasicItem("mythril_ingot"); - public static Item palladiumIngot = new BasicItem("palladium_ingot"); - public static Item prometheumIngot = new BasicItem("prometheum_ingot"); - public static Item tiberiumIngot = new BasicItem("tiberium_ingot"); - public static Item vibraniumIngot = new BasicItem("vibranium_ingot"); - public static Item yrdeanIngot = new BasicItem("yrdean_ingot"); - - public static Item astriumIngot = new BasicItem("astrium_ingot"); - public static Item instableNitroniteIngot = new BasicItem("instable_nitronite_ingot"); - public static Item proxideumIngot = new BasicItem("proxideum_ingot"); - public static Item instablePolyniumIngot = new BasicItem("instable_polyniumingot"); - public static Item imperomiteIngot = new BasicItem("imperomite_ingot"); - public static Item cryptogenIngot = new BasicItem("cryptogen_ingot"); - public static Item fractoryteIngot = new BasicItem("fractoryte_ingot"); - public static Item seismodiumIngot = new BasicItem("seismodium_ingot"); - public static Item terramiteIngot = new BasicItem("terramite_ingot"); - public static Item instablePrysociteIngot = new BasicItem("instable_prysocite_ingot"); - public static Item blazingXylititeIngot = new BasicItem("blazing_xylitite_ingot"); - public static Item instableDyoniteIngot = new BasicItem("instable_dyonite_ingot"); - public static Item ultraniteIngot = new BasicItem("ultranite_ingot"); - public static Item radiantPliniumIngot = new BasicItem("radiant_plinium_ingot"); - public static Item dysprosaniumIngot = new BasicItem("dysprosanium_ingot"); - public static Item refractiveBysumIngot = new BasicItem("refractive_bysum_ingot"); - - - public static Item tiberiumShardInstable = new BasicItem("tiberium_shard_instable"); - public static Item tiberiumShardStable = new BasicItem("tiberium_shard_stable"); - - // BLOCKS - public static Block basalt = new BasicBlockOre("basalt", Material.ROCK, 45.0f, 35.0f, 3); - public static Block rottenGround = new BasicBlockGround("rotten_ground", Material.GROUND, 2.0f, 2.0f, 0); - public static Block ligniteOre = new BlockLigniteOre(); - - - public static Block aardiumOre = new BasicBlockOre("aardium_ore", Material.ROCK, 55.0f, 400.0f, 3); - public static Block adamantiteOre = new BasicBlockOre("adamantite_ore", Material.ROCK, 80.0f, 1000.0f, 4); - public static Block arcaniteOre = new BasicBlockOre("arcanite_ore", Material.ROCK, 23.0f, 25.0f, 2); - public static Block axiidianOre = new BasicBlockOre("axiidian_ore", Material.ROCK, 13.0f, 13.0f, 3); - public static Block bismuthOre = new BasicBlockOre("bismuth_ore", Material.ROCK, 8.0f, 8.0f, 1); - public static Block eterniteOre = new BasicBlockOre("eternite_ore", Material.ROCK, 24.0f, 25.0f, 3); - public static Block ignititeOre = new BasicBlockOre("ignitite_ore", Material.ROCK, 23.0f, 25.0f, 3); - public static Block karmesineOre = new BasicBlockOre("karmesine_ore", Material.ROCK, 13.0f, 15.0f, 1); - public static Block meteoriteOre = new BasicBlockOre("meteorite_ore", Material.ROCK, 60.0f, 500.0f, 4); - public static Block mindoriteOre = new BasicBlockOre("mindorite_ore", Material.ROCK, 12.0f, 12.0f, 2); - public static Block mythrilOre = new BasicBlockOre("mythril_ore", Material.ROCK, 25.0f, 25.0f, 4); - public static Block palladiumOre = new BasicBlockOre("palladium_ore", Material.ROCK, 25.0f, 25.0f, 3); - public static Block prometheumOre = new BasicBlockOreGlow("prometheum_ore", Material.ROCK, 35.0f, 35.0f, 4, 0.25f); - public static Block slagironOre = new BasicBlockOre("slagiron_ore", Material.ROCK, 3.0f, 5.0f, 1); - public static Block slaggoldOre = new BasicBlockOre("slaggold_ore", Material.ROCK, 3.0f, 5.0f, 1); - public static Block tiberiumOre = new BlockTiberiumOre(); - public static Block vibraniumOre = new BasicBlockOre("vibranium_ore", Material.ROCK, 70.0f, 800.0f, 4); - public static Block yrdeanOre = new BasicBlockOre("yrdean_ore", Material.ROCK, 13.0f, 15.0f, 3); - - public static slimeknights.tconstruct.library.materials.Material arcanite = new slimeknights.tconstruct.library.materials.Material("arcanite", TextFormatting.LIGHT_PURPLE); - public static slimeknights.tconstruct.library.materials.Material tiberium = new slimeknights.tconstruct.library.materials.Material("tiberium", TextFormatting.LIGHT_PURPLE); - public static slimeknights.tconstruct.library.materials.Material prometheum = new slimeknights.tconstruct.library.materials.Material("prometheum", TextFormatting.LIGHT_PURPLE); - public static slimeknights.tconstruct.library.materials.Material yrdean = new slimeknights.tconstruct.library.materials.Material("yrdean", TextFormatting.LIGHT_PURPLE); - public static slimeknights.tconstruct.library.materials.Material axiidian = new slimeknights.tconstruct.library.materials.Material("axiidian", TextFormatting.DARK_GREEN); - public static slimeknights.tconstruct.library.materials.Material bismuth = new slimeknights.tconstruct.library.materials.Material("bismuth", TextFormatting.DARK_GREEN); - public static slimeknights.tconstruct.library.materials.Material karmesine = new slimeknights.tconstruct.library.materials.Material("karmesine", TextFormatting.DARK_GREEN); - public static slimeknights.tconstruct.library.materials.Material mindorite = new slimeknights.tconstruct.library.materials.Material("mindorite", TextFormatting.DARK_GREEN); - public static slimeknights.tconstruct.library.materials.Material aardium = new slimeknights.tconstruct.library.materials.Material("aardium", TextFormatting.GRAY); - public static slimeknights.tconstruct.library.materials.Material meteorite = new slimeknights.tconstruct.library.materials.Material("meteorite", TextFormatting.GRAY); - public static slimeknights.tconstruct.library.materials.Material adamantite = new slimeknights.tconstruct.library.materials.Material("adamantite", TextFormatting.GRAY); - public static slimeknights.tconstruct.library.materials.Material vibranium = new slimeknights.tconstruct.library.materials.Material("vibranium", TextFormatting.GRAY); - public static slimeknights.tconstruct.library.materials.Material ignitite = new slimeknights.tconstruct.library.materials.Material("ignitite", TextFormatting.AQUA); - public static slimeknights.tconstruct.library.materials.Material palladium = new slimeknights.tconstruct.library.materials.Material("palladium", TextFormatting.AQUA); - public static slimeknights.tconstruct.library.materials.Material eternite = new slimeknights.tconstruct.library.materials.Material("eternite", TextFormatting.AQUA); - public static slimeknights.tconstruct.library.materials.Material mythril = new slimeknights.tconstruct.library.materials.Material("mythril", TextFormatting.AQUA); - - public static slimeknights.tconstruct.library.materials.Material astrium = new slimeknights.tconstruct.library.materials.Material("astrium", TextFormatting.LIGHT_PURPLE); - public static slimeknights.tconstruct.library.materials.Material instableNitronite = new slimeknights.tconstruct.library.materials.Material("instableNitronite", TextFormatting.LIGHT_PURPLE); - public static slimeknights.tconstruct.library.materials.Material proxideum = new slimeknights.tconstruct.library.materials.Material("proxideum", TextFormatting.LIGHT_PURPLE); - public static slimeknights.tconstruct.library.materials.Material instablePolynium = new slimeknights.tconstruct.library.materials.Material("instablePolynium", TextFormatting.LIGHT_PURPLE); - public static slimeknights.tconstruct.library.materials.Material imperomite = new slimeknights.tconstruct.library.materials.Material("imperomite", TextFormatting.DARK_GREEN); - public static slimeknights.tconstruct.library.materials.Material cryptogen = new slimeknights.tconstruct.library.materials.Material("cryptogen", TextFormatting.DARK_GREEN); - public static slimeknights.tconstruct.library.materials.Material fractoryte = new slimeknights.tconstruct.library.materials.Material("fractoryte", TextFormatting.DARK_GREEN); - public static slimeknights.tconstruct.library.materials.Material seismodium = new slimeknights.tconstruct.library.materials.Material("seismodium", TextFormatting.DARK_GREEN); - public static slimeknights.tconstruct.library.materials.Material terramite = new slimeknights.tconstruct.library.materials.Material("terramite", TextFormatting.GRAY); - public static slimeknights.tconstruct.library.materials.Material instablePrysocite = new slimeknights.tconstruct.library.materials.Material("instablePrysocite", TextFormatting.GRAY); - public static slimeknights.tconstruct.library.materials.Material blazingXylitite = new slimeknights.tconstruct.library.materials.Material("blazingXylitite", TextFormatting.GRAY); - public static slimeknights.tconstruct.library.materials.Material instableDyonite = new slimeknights.tconstruct.library.materials.Material("instableDyonite", TextFormatting.GRAY); - public static slimeknights.tconstruct.library.materials.Material ultranite = new slimeknights.tconstruct.library.materials.Material("ultranite", TextFormatting.AQUA); - public static slimeknights.tconstruct.library.materials.Material radiantPlinium = new slimeknights.tconstruct.library.materials.Material("radiantPlinium", TextFormatting.AQUA); - public static slimeknights.tconstruct.library.materials.Material dysprosanium = new slimeknights.tconstruct.library.materials.Material("dysprosanium", TextFormatting.AQUA); - public static slimeknights.tconstruct.library.materials.Material refractiveBysmuid = new slimeknights.tconstruct.library.materials.Material("refractiveBysmuidFluid", TextFormatting.AQUA); - - @SidedProxy(clientSide = "com.sosnitzka.ztic_addon.proxy.ClientProxy", serverSide = "com.sosnitzka.ztic_addon.proxy.ServerProxy") - private static ServerProxy proxy; - private List integrateList = Lists.newArrayList(); - - private static void registerBlockWithItem(Block block) { - GameRegistry.register(block); - GameRegistry.register(new ItemBlock(block).setRegistryName(block.getRegistryName())); - } - - @EventHandler - public void preInit(FMLPreInitializationEvent e) { - - - //Items - - - GameRegistry.register(tiberiumShardInstable); - GameRegistry.register(tiberiumShardStable); - - GameRegistry.register(slagironIngot); - GameRegistry.register(fuel_brick); - GameRegistry.register(slaggoldIngot); - GameRegistry.register(iron_nugget); - GameRegistry.register(lignite); - - GameRegistry.register(aardiumIngot); - GameRegistry.register(adamantiteIngot); - GameRegistry.register(arcaniteIngot); - GameRegistry.register(axiidianIngot); - GameRegistry.register(bismuthIngot); - GameRegistry.register(eterniteIngot); - GameRegistry.register(ignititeIngot); - GameRegistry.register(karmesineIngot); - GameRegistry.register(meteoriteIngot); - GameRegistry.register(mindoriteIngot); - GameRegistry.register(mythrilIngot); - GameRegistry.register(palladiumIngot); - GameRegistry.register(prometheumIngot); - GameRegistry.register(tiberiumIngot); - GameRegistry.register(vibraniumIngot); - GameRegistry.register(yrdeanIngot); - - GameRegistry.register(astriumIngot); - GameRegistry.register(instableDyoniteIngot); - GameRegistry.register(instableNitroniteIngot); - GameRegistry.register(instablePolyniumIngot); - GameRegistry.register(instablePrysociteIngot); - GameRegistry.register(imperomiteIngot); - GameRegistry.register(cryptogenIngot); - GameRegistry.register(proxideumIngot); - GameRegistry.register(fractoryteIngot); - GameRegistry.register(seismodiumIngot); - GameRegistry.register(terramiteIngot); - GameRegistry.register(blazingXylititeIngot); - GameRegistry.register(radiantPliniumIngot); - GameRegistry.register(ultraniteIngot); - GameRegistry.register(dysprosaniumIngot); - GameRegistry.register(refractiveBysumIngot); - - - //Blocks - - registerBlockWithItem(aardiumOre); - registerBlockWithItem(adamantiteOre); - registerBlockWithItem(arcaniteOre); - registerBlockWithItem(axiidianOre); - registerBlockWithItem(basalt); - registerBlockWithItem(bismuthOre); - registerBlockWithItem(eterniteOre); - registerBlockWithItem(ignititeOre); - registerBlockWithItem(karmesineOre); - registerBlockWithItem(ligniteOre); - registerBlockWithItem(meteoriteOre); - registerBlockWithItem(mindoriteOre); - registerBlockWithItem(mythrilOre); - registerBlockWithItem(palladiumOre); - registerBlockWithItem(prometheumOre); - registerBlockWithItem(rottenGround); - registerBlockWithItem(slagironOre); - registerBlockWithItem(slaggoldOre); - registerBlockWithItem(tiberiumOre); - registerBlockWithItem(vibraniumOre); - registerBlockWithItem(yrdeanOre); - - registerOreDict(); - - // TConstruct Fluids - - Fluid arcaniteFluid = new BasicFluid("arcaniteFluid", 0xFF272354); - Fluid aardiumFluid = new BasicFluid("aardiumFluid", 0xFFC3F93D); - Fluid adamantiteFluid = new BasicFluid("adamantiteFluid", 0xFFc45c82); - Fluid axiidianFluid = new BasicFluid("axiidianFluid", 0xFF77a19a); - Fluid bismuthFluid = new BasicFluid("bismuthFluid", 0xFF555555); - Fluid eterniteFluid = new BasicFluid("eterniteFluid", 0xFFfafa98); - Fluid ignititeFluid = new BasicFluid("ignititeFluid", 0xFFd29453); - Fluid karmesineFluid = new BasicFluid("karmesineFluid", 0xFFc16d6d); - Fluid meteoriteFluid = new BasicFluid("meteoriteFluid", 0xFF6e6a62); - Fluid mindoriteFluid = new BasicFluid("mindoriteFluid", 0xFF6bbbbf); - Fluid mythrilFluid = new BasicFluid("mythrilFluid", 0xFFa8c0ba); - Fluid palladiumFluid = new BasicFluid("palladiumFluid", 0xFFfe5c05); - Fluid prometheumFluid = new BasicFluid("prometheumFluid", 0xFF2b282f); - Fluid tiberiumFluid = new BasicFluid("tiberiumFluid", 0xFF86bd5a); - Fluid vibraniumFluid = new BasicFluid("vibraniumFluid", 0xFFb6bba8); - Fluid yrdeanFluid = new BasicFluid("yrdeanFluid", 0xFF3e3c6f); - - registerTinkerFluid("Arcanite", arcaniteFluid, true, 200, 10, 4000); - registerTinkerFluid("Aardium", aardiumFluid, true, 200, 10, 4000); - registerTinkerFluid("Adamantite", adamantiteFluid, true, 200, 10, 4000); - registerTinkerFluid("Axiidian", axiidianFluid, true, 200, 10, 4000); - registerTinkerFluid("Bismuth", bismuthFluid, true, 200, 10, 4000); - registerTinkerFluid("Eternite", eterniteFluid, true, 200, 10, 4000); - registerTinkerFluid("Ignitite", ignititeFluid, true, 200, 10, 4000); - registerTinkerFluid("Karmesine", karmesineFluid, true, 200, 10, 4000); - registerTinkerFluid("Meteorite", meteoriteFluid, true, 200, 10, 4000); - registerTinkerFluid("Mindorite", mindoriteFluid, true, 200, 10, 4000); - registerTinkerFluid("Mythril", mythrilFluid, true, 200, 10, 4000); - registerTinkerFluid("Palladium", palladiumFluid, true, 200, 10, 4000); - registerTinkerFluid("Prometheum", prometheumFluid, true, 200, 10, 4000); - registerTinkerFluid("Tiberium", tiberiumFluid, true, 200, 10, 4000); - registerTinkerFluid("Vibranium", vibraniumFluid, true, 200, 10, 4000); - registerTinkerFluid("Yrdean", yrdeanFluid, true, 200, 10, 4000); - - // TConstruct Alloys - - Fluid astriumFluid = new BasicFluid("astriumFluid", 0xFF7a3b74); - registerTinkerAlloys("Astrium", astriumFluid, true, 200, 10, 4000, 1, arcaniteFluid, 3, karmesineFluid, 2); - Fluid instableNitroniteFluid = new BasicFluid("instableNitroniteFluid", 0xFF659933); - registerTinkerAlloys("InstableNitronite", instableNitroniteFluid, true, 200, 10, 4000, 1, tiberiumFluid, 5, vibraniumFluid, 3); - Fluid proxideumFluid = new BasicFluid("proxideumFluid", 0xFF416565); - registerTinkerAlloys("Proxideum", proxideumFluid, true, 200, 10, 4000, 1, prometheumFluid, 3, axiidianFluid, 2); - Fluid instablePolyniumFluid = new BasicFluid("instablePolyniumFluid", 0xFF6c6aa3); - registerTinkerAlloys("InstablePolynium", instablePolyniumFluid, true, 200, 10, 4000, 1, yrdeanFluid, 3, meteoriteFluid, 2); - Fluid imperomiteFluid = new BasicFluid("imperomiteFluid", 0xFF339966); - registerTinkerAlloys("Imperomite", imperomiteFluid, true, 200, 10, 4000, 2, aardiumFluid, 3, prometheumFluid, 3); - Fluid cryptogenFluid = new BasicFluid("cryptogenFluid", 0xFF9f8a4a); - registerTinkerAlloys("Cryptogen", cryptogenFluid, true, 200, 10, 4000, 1, meteoriteFluid, 3, mythrilFluid, 2); - Fluid fractoryteFluid = new BasicFluid("fractoryteFluid", 0xFFb44a14); - registerTinkerAlloys("Fractoryte", fractoryteFluid, true, 200, 10, 4000, 1, adamantiteFluid, 4, arcaniteFluid, 2); - Fluid seismodiumFluid = new BasicFluid("seismodiumFluid", 0xFF46131D); - registerTinkerAlloys("Seismodium", seismodiumFluid, true, 200, 10, 4000, 1, vibraniumFluid, 4, palladiumFluid, 4); - Fluid terramiteFluid = new BasicFluid("terramiteFluid", 0xFFa6b27a); - registerTinkerAlloys("Terramite", terramiteFluid, true, 200, 10, 4000, 2, axiidianFluid, 4, eterniteFluid, 2); - Fluid instablePrysociteFluid = new BasicFluid("instablePrysociteFluid", 0xFFbde398); - registerTinkerAlloys("InstablePrysocite", instablePrysociteFluid, true, 200, 10, 4000, 1, bismuthFluid, 3, yrdeanFluid, 2); - Fluid blazingXylititeFluid = new BasicFluid("blazingXylititeFluid", 0xFFffc81d); - registerTinkerAlloys("BlazingXylitite", blazingXylititeFluid, true, 200, 10, 4000, 1, karmesineFluid, 3, ignititeFluid, 2); - Fluid instableDyoniteFluid = new BasicFluid("instableDyoniteFluid", 0xFFff6743); - registerTinkerAlloys("InstableDyonite", instableDyoniteFluid, true, 200, 10, 4000, 1, mindoriteFluid, 4, tiberiumFluid, 2); - Fluid ultraniteFluid = new BasicFluid("ultraniteFluid", 0xFFfff69b); - registerTinkerAlloys("Ultranite", ultraniteFluid, true, 200, 10, 4000, 1, ignititeFluid, 5, adamantiteFluid, 3); - Fluid radiantPliniumFluid = new BasicFluid("radiantPliniumFluid", 0xFFc1ff68); - registerTinkerAlloys("RadiantPlinium", radiantPliniumFluid, true, 200, 10, 4000, 1, palladiumFluid, 3, mindoriteFluid, 3); - Fluid dysprosaniumFluid = new BasicFluid("dysprosaniumFluid", 0xFFb7a2bd); - registerTinkerAlloys("Dysprosanium", dysprosaniumFluid, true, 200, 10, 4000, 1, eterniteFluid, 3, aardiumFluid, 3); - Fluid refractiveBysmuidFluid = new BasicFluid("refractiveBysmuidFluid", 0xFF7b97b0); - registerTinkerAlloys("RefractiveBysmuid", refractiveBysmuidFluid, true, 200, 10, 4000, 1, mythrilFluid, 4, bismuthFluid, 2); - - - // Material from ores - registerTinkerMaterial("Arcanite", arcanite, arcaniteFluid, 1, 5, 6, 7, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Tiberium", tiberium, tiberiumFluid, 1, 5, 6, 6, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Prometheum", prometheum, prometheumFluid, 1, 5, 6, 5, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Yrdean", yrdean, yrdeanFluid, 1, 5, 6, 4, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Axiidian", axiidian, axiidianFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Bismuth", bismuth, bismuthFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Karmesine", karmesine, karmesineFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Mindorite", mindorite, mindoriteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Aardium", aardium, aardiumFluid, 1, 5, 6, 3, 0.8f, 0, 100, true, true); - registerTinkerMaterial("Meteorite", meteorite, meteoriteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Adamantite", adamantite, adamantiteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Vibranium", vibranium, vibraniumFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Ignitite", ignitite, ignititeFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Palladium", palladium, palladiumFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Eternite", eternite, eterniteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Mythril", mythril, mythrilFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - - // Material from alloys - registerTinkerMaterial("Astrium", astrium, astriumFluid, 1, 5, 6, 7, 0.8f, 0, 100, false, true); - registerTinkerMaterial("InstableNitronite", instableNitronite, instableNitroniteFluid, 1, 5, 6, 6, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Proxideum", proxideum, proxideumFluid, 1, 5, 6, 5, 0.8f, 0, 100, false, true); - registerTinkerMaterial("InstablePolynium", instablePolynium, instablePolyniumFluid, 1, 5, 6, 4, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Imperomite", imperomite, imperomiteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Cryptogen", cryptogen, cryptogenFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Fractoryte", fractoryte, fractoryteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Seismodium", seismodium, seismodiumFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Terramite", terramite, terramiteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("InstablePrysocite", instablePrysocite, instablePrysociteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("BlazingXylitite", blazingXylitite, blazingXylititeFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Ultranite", ultranite, ultraniteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("RadiantPlinium", radiantPlinium, radiantPliniumFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("Dysprosanium", dysprosanium, dysprosaniumFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("RefractiveBysmuid", refractiveBysmuid, refractiveBysmuidFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - registerTinkerMaterial("InstableDyonite", instableDyonite, instableDyoniteFluid, 1, 5, 6, 3, 0.8f, 0, 100, false, true); - - - } - - @EventHandler - public void init(FMLInitializationEvent e) { - proxy.registerClientStuff(); - GameRegistry.registerWorldGenerator(new ZWorldGen(), 100); - GameRegistry.registerFuelHandler(new FuelHandler()); - new Smelting(); - new Crafting(); - - for (MaterialIntegration m : integrateList) { - m.integrateRecipes(); - } - } - - - @EventHandler - public void postInit(FMLPostInitializationEvent e) { - - - } - - private void registerOreDict() { - - OreDictionary.registerOre("oreAardium", aardiumOre); - OreDictionary.registerOre("ingotAardium", aardiumIngot); - OreDictionary.registerOre("ingotAstrium", astriumIngot); - OreDictionary.registerOre("oreArcanite", arcaniteOre); - OreDictionary.registerOre("ingotArcanite", arcaniteIngot); - OreDictionary.registerOre("oreAdamantite", adamantiteOre); - OreDictionary.registerOre("ingotAdamantite", adamantiteIngot); - OreDictionary.registerOre("oreAxiidian", axiidianOre); - OreDictionary.registerOre("ingotAxiidian", axiidianIngot); - OreDictionary.registerOre("oreBismuth", bismuthOre); - OreDictionary.registerOre("ingotBismuth", bismuthIngot); - OreDictionary.registerOre("oreEternite", eterniteOre); - OreDictionary.registerOre("ingotEternite", eterniteIngot); - OreDictionary.registerOre("oreIgnitite", ignititeOre); - OreDictionary.registerOre("ingotIgnitite", ignititeIngot); - OreDictionary.registerOre("oreKarmesine", karmesineOre); - OreDictionary.registerOre("ingotKarmesine", karmesineIngot); - OreDictionary.registerOre("oreMeteorite", meteoriteOre); - OreDictionary.registerOre("ingotMeteorite", meteoriteIngot); - OreDictionary.registerOre("oreMindorite", mindoriteOre); - OreDictionary.registerOre("ingotMindorite", mindoriteIngot); - OreDictionary.registerOre("oreMythril", mythrilOre); - OreDictionary.registerOre("ingotMythril", mythrilIngot); - OreDictionary.registerOre("orePalladium", palladiumOre); - OreDictionary.registerOre("ingotPalladium", palladiumIngot); - OreDictionary.registerOre("orePrometheum", prometheumOre); - OreDictionary.registerOre("ingotPrometheum", prometheumIngot); - OreDictionary.registerOre("oreTiberium", tiberiumOre); - OreDictionary.registerOre("ingotTiberium", tiberiumIngot); - OreDictionary.registerOre("oreVibranium", vibraniumOre); - OreDictionary.registerOre("ingotVibranium", vibraniumIngot); - OreDictionary.registerOre("oreYrdean", yrdeanOre); - OreDictionary.registerOre("ingotYrdean", yrdeanIngot); - - - } - - private void registerFluid(Fluid fluid) { - FluidRegistry.registerFluid(fluid); - FluidRegistry.addBucketForFluid(fluid); - } - - private void registerTinkerFluid(String oreDictSuffix, Fluid fluid, boolean toolForge, int temperature, int lumen, int viscosity) { - registerFluid(fluid); - - NBTTagCompound tag = new NBTTagCompound(); - tag.setString("fluid", fluid.getName()); - tag.setString("ore", oreDictSuffix); - tag.setBoolean("toolforge", toolForge); - FMLInterModComms.sendMessage("tconstruct", "integrateSmeltery", tag); - - fluid.setTemperature(temperature).setLuminosity(lumen).setViscosity(viscosity); - } - - private void registerTinkerAlloys(String oreDictSuffix, Fluid alloy, boolean toolFoge, int temperature, int lumen, int viscosity, int out, Fluid first, int inOne, Fluid second, int inTwo) { - registerTinkerFluid(oreDictSuffix, alloy, toolFoge, temperature, lumen, viscosity); - NBTTagList tagList = new NBTTagList(); - NBTTagCompound fluid = new NBTTagCompound(); - fluid.setString("FluidName", alloy.getName()); - fluid.setInteger("Amount", out); - tagList.appendTag(fluid); - fluid = new NBTTagCompound(); - fluid.setString("FluidName", first.getName()); - fluid.setInteger("Amount", inOne); - tagList.appendTag(fluid); - fluid = new NBTTagCompound(); - fluid.setString("FluidName", second.getName()); - fluid.setInteger("Amount", inTwo); - tagList.appendTag(fluid); - - NBTTagCompound message = new NBTTagCompound(); - message.setTag("alloy", tagList); - FMLInterModComms.sendMessage("tconstruct", "alloy", message); - } - - private void registerTinkerMaterial(String name, slimeknights.tconstruct.library.materials.Material material, Fluid fluid, int headDura, int headSpeed, int headAttack, int headLevel, float handleMod, int handleDura, int extra, boolean craft, boolean cast) { - material.addStats(new HeadMaterialStats(headDura, headSpeed, headAttack, headLevel)).addStats(new HandleMaterialStats(handleMod, handleDura)).addStats(new ExtraMaterialStats(extra)).setFluid(fluid).setCraftable(craft).setCastable(cast).setRenderInfo(fluid.getColor()); - MaterialIntegration integration = new MaterialIntegration(material, fluid, name); - integration.integrate(); - integrateList.add(integration); - - } - - -} \ No newline at end of file diff --git a/src/main/java/com/sosnitzka/ztic_addon/main/util/FuelHandler.java b/src/main/java/com/sosnitzka/ztic_addon/main/util/FuelHandler.java deleted file mode 100644 index 9ab6edd..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/main/util/FuelHandler.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.sosnitzka.ztic_addon.main.util; - -import com.sosnitzka.ztic_addon.main.ZTiC; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fml.common.IFuelHandler; -import org.apache.commons.lang3.RandomUtils; - -public class FuelHandler implements IFuelHandler { - - @Override - public int getBurnTime(ItemStack fuel) { - if (fuel.getItem().equals(ZTiC.lignite)) { - return 200 * 2; - } - if (fuel.getItem().equals(ZTiC.fuel_brick)) { - return RandomUtils.nextInt(1, RandomUtils.nextInt(1, RandomUtils.nextInt(1, 64))) * 200; - } - return 0; - } - -} diff --git a/src/main/java/com/sosnitzka/ztic_addon/main/util/Generator.java b/src/main/java/com/sosnitzka/ztic_addon/main/util/Generator.java deleted file mode 100644 index 97937c7..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/main/util/Generator.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.sosnitzka.ztic_addon.main.util; - -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -import java.util.Random; - -public class Generator { - - public static void generateOre(IBlockState state, Random random, int x, int z, World world, int chance, int minY, int maxY, int minSize, int maxSize) { - generateOre(state, Blocks.STONE.getDefaultState(), null, null, random, x, z, world, chance, minY, maxY, minSize, maxSize); - } - - public static void generateNetherOre(IBlockState state, Random random, int x, int z, World world, int chance, int minY, int maxY, int minSize, int maxSize) { - generateOre(state, Blocks.NETHERRACK.getDefaultState(), null, null, random, x, z, world, chance, minY, maxY, minSize, maxSize); - } - - public static void generateEndOre(IBlockState state, Random random, int x, int z, World world, int chance, int minY, int maxY, int minSize, int maxSize) { - generateOre(state, Blocks.END_STONE.getDefaultState(), null, null, random, x, z, world, chance, minY, maxY, minSize, maxSize); - } - - public static void generateOre(IBlockState state, IBlockState replace, Random random, int chunkX, int chunkZ, World world, int chance, int minY, int maxY, int minSize, int maxSize) { - generateOre(state, replace, null, null, random, chunkX, chunkZ, world, chance, minY, maxY, minSize, maxSize); - } - - public static void generateOre(IBlockState state, IBlockState replace, IProperty property, Comparable comparable, Random random, int chunkX, int chunkZ, World world, int chance, int minY, int maxY, int minSize, int maxSize) { - int size = minSize + random.nextInt(maxSize - minSize); - int height = maxY - minY; - - for (int i = 0; i < chance; i++) { - int posX = chunkX + random.nextInt(16); - int posY = random.nextInt(height) + minY; - int posZ = chunkZ + random.nextInt(16); - new ZWorldGenMinable(state, size, StateMatcher.forState(replace, property, comparable)).generate(world, random, new BlockPos(posX, posY, posZ)); - } - } -} diff --git a/src/main/java/com/sosnitzka/ztic_addon/main/util/StateMatcher.java b/src/main/java/com/sosnitzka/ztic_addon/main/util/StateMatcher.java deleted file mode 100644 index acaaedf..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/main/util/StateMatcher.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.sosnitzka.ztic_addon.main.util; - -import com.google.common.base.Predicate; -import net.minecraft.block.properties.IProperty; -import net.minecraft.block.state.IBlockState; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - - -public class StateMatcher implements Predicate { - private final IBlockState state; - private final IProperty property; - private final Comparable value; - - private StateMatcher(IBlockState state, IProperty property, Comparable value) { - this.state = state; - this.property = property; - this.value = value; - } - - public static StateMatcher forState(IBlockState state, IProperty property, Comparable value) { - return new StateMatcher(state, property, value); - } - - public boolean apply(IBlockState state, BlockPos pos, World world) { - if (state != null) { - if (property != null && value != null) { - if (state.getBlock() == this.state.getBlock()) - if (checkLayerForBlocks(3, 3, -1, world, pos) || - checkLayerForBlocks(3, 3, 0, world, pos) || - checkLayerForBlocks(3, 3, 1, world, pos)) - return true; - - } else - return state.getBlock() == this.state.getBlock(); - } - return false; - } - - @Override - public boolean apply(IBlockState input) { - if (state != null) { - if (property != null && value != null) { - return state.getBlock() == this.state.getBlock() && state.getValue(property) == value; - } else - return state.getBlock() == this.state.getBlock(); - } - return false; - } - - private boolean checkLayerForBlocks(int X, int Z, int Y, World world, BlockPos origin) { - int x = 0, z = 0, dx = 0, dz = -1; - int t = Math.max(X, Z); - int maxI = t * t; - - for (int i = 0; i < maxI; i++) { - if ((-X / 2 <= x) && (x <= X / 2) && (-Z / 2 <= z) && (z <= Z / 2)) { - BlockPos blockPos = new BlockPos(origin.getX() + x, origin.getY() + Y, origin.getZ() + z); - if (blockPos == origin) - continue; - - if (i % 2 == 0) - continue; - - IBlockState bState = world.getBlockState(blockPos); - if (bState.getBlock() == this.state.getBlock() && bState.getValue(property) == value) { - // Check if a replacable block is near origin block - show pos in console - // System.out.println(String.format("Found block with desired state! (%s), Block: %s, try #%s, y=%s", i, Y)); - return true; - } - } - - if ((x == z) || ((x < 0) && (x == -z)) || ((x > 0) && (x == 1 - z))) { - t = dx; - dx = -dz; - dz = t; - } - x += dx; - z += dz; - } - - return false; - } -} diff --git a/src/main/java/com/sosnitzka/ztic_addon/main/util/ZWorldGenMinable.java b/src/main/java/com/sosnitzka/ztic_addon/main/util/ZWorldGenMinable.java deleted file mode 100644 index cf0ed41..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/main/util/ZWorldGenMinable.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.sosnitzka.ztic_addon.main.util; - -import com.google.common.base.Predicate; -import net.minecraft.block.state.IBlockState; -import net.minecraft.block.state.pattern.BlockMatcher; -import net.minecraft.init.Blocks; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenMinable; - -import java.util.Random; - -public class ZWorldGenMinable extends WorldGenMinable { - private final IBlockState oreBlock; - /** - * The number of com.sosnitzka.ztic_addon.blocks to generate. - */ - private final int numberOfBlocks; - private final Predicate predicate; - - public ZWorldGenMinable(IBlockState state, int blockCount) { - this(state, blockCount, BlockMatcher.forBlock(Blocks.STONE)); - } - - public ZWorldGenMinable(IBlockState state, int blockCount, Predicate predicate) { - super(state, blockCount, predicate); - this.oreBlock = state; - this.numberOfBlocks = blockCount; - this.predicate = predicate; - } - - @Override - public boolean generate(World worldIn, Random rand, BlockPos position) { - float f = rand.nextFloat() * (float) Math.PI; - double d0 = (double) ((float) (position.getX() + 8) + MathHelper.sin(f) * (float) this.numberOfBlocks / 8.0F); - double d1 = (double) ((float) (position.getX() + 8) - MathHelper.sin(f) * (float) this.numberOfBlocks / 8.0F); - double d2 = (double) ((float) (position.getZ() + 8) + MathHelper.cos(f) * (float) this.numberOfBlocks / 8.0F); - double d3 = (double) ((float) (position.getZ() + 8) - MathHelper.cos(f) * (float) this.numberOfBlocks / 8.0F); - double d4 = (double) (position.getY() + rand.nextInt(3) - 2); - double d5 = (double) (position.getY() + rand.nextInt(3) - 2); - - for (int i = 0; i < this.numberOfBlocks; ++i) { - float f1 = (float) i / (float) this.numberOfBlocks; - double d6 = d0 + (d1 - d0) * (double) f1; - double d7 = d4 + (d5 - d4) * (double) f1; - double d8 = d2 + (d3 - d2) * (double) f1; - double d9 = rand.nextDouble() * (double) this.numberOfBlocks / 16.0D; - double d10 = (double) (MathHelper.sin((float) Math.PI * f1) + 1.0F) * d9 + 1.0D; - double d11 = (double) (MathHelper.sin((float) Math.PI * f1) + 1.0F) * d9 + 1.0D; - int j = MathHelper.floor_double(d6 - d10 / 2.0D); - int k = MathHelper.floor_double(d7 - d11 / 2.0D); - int l = MathHelper.floor_double(d8 - d10 / 2.0D); - int i1 = MathHelper.floor_double(d6 + d10 / 2.0D); - int j1 = MathHelper.floor_double(d7 + d11 / 2.0D); - int k1 = MathHelper.floor_double(d8 + d10 / 2.0D); - - for (int l1 = j; l1 <= i1; ++l1) { - double d12 = ((double) l1 + 0.5D - d6) / (d10 / 2.0D); - - if (d12 * d12 < 1.0D) { - for (int i2 = k; i2 <= j1; ++i2) { - double d13 = ((double) i2 + 0.5D - d7) / (d11 / 2.0D); - - if (d12 * d12 + d13 * d13 < 1.0D) { - for (int j2 = l; j2 <= k1; ++j2) { - double d14 = ((double) j2 + 0.5D - d8) / (d10 / 2.0D); - - if (d12 * d12 + d13 * d13 + d14 * d14 < 1.0D) { - BlockPos blockpos = new BlockPos(l1, i2, j2); - - IBlockState state = worldIn.getBlockState(blockpos); - if (((StateMatcher) this.predicate).apply(state, blockpos, worldIn)) { - worldIn.setBlockState(blockpos, this.oreBlock, 2); - } - } - } - } - } - } - } - } - - return true; - } -} \ No newline at end of file diff --git a/src/main/java/com/sosnitzka/ztic_addon/main/util/recipes/Crafting.java b/src/main/java/com/sosnitzka/ztic_addon/main/util/recipes/Crafting.java deleted file mode 100644 index d057a67..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/main/util/recipes/Crafting.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.sosnitzka.ztic_addon.main.util.recipes; - - -import com.sosnitzka.ztic_addon.main.ZTiC; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fml.common.registry.GameRegistry; - -public class Crafting { - public Crafting(){ - register(); - } - - private void register(){ - GameRegistry.addShapelessRecipe(new ItemStack(ZTiC.fuel_brick), new Object[]{ - Items.COAL, Items.COAL, Items.COAL, ZTiC.lignite, ZTiC.lignite, ZTiC.lignite - }); - } - -} diff --git a/src/main/java/com/sosnitzka/ztic_addon/main/util/recipes/Smelting.java b/src/main/java/com/sosnitzka/ztic_addon/main/util/recipes/Smelting.java deleted file mode 100644 index a8f15e7..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/main/util/recipes/Smelting.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.sosnitzka.ztic_addon.main.util.recipes; - - -import com.sosnitzka.ztic_addon.main.ZTiC; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fml.common.registry.GameRegistry; -import org.apache.commons.lang3.RandomUtils; - -public class Smelting { - public Smelting(){ - register(); - } - - private void register(){ - GameRegistry.addSmelting(ZTiC.slagironOre, new ItemStack(ZTiC.slagironIngot), 1.0F); - GameRegistry.addSmelting(new ItemStack(ZTiC.slagironIngot, 3), new ItemStack(ZTiC.iron_nugget), 0); - GameRegistry.addSmelting(new ItemStack(ZTiC.slaggoldIngot, 3), new ItemStack(Items.GOLD_NUGGET), 0); - GameRegistry.addSmelting(new ItemStack(ZTiC.tiberiumShardInstable), new ItemStack(ZTiC.tiberiumShardStable), 0.2F); - - - GameRegistry.addSmelting(ZTiC.aardiumOre, new ItemStack(ZTiC.aardiumIngot), RandomUtils.nextFloat(0F, 2F)); - GameRegistry.addSmelting(ZTiC.arcaniteOre, new ItemStack(ZTiC.arcaniteIngot), RandomUtils.nextFloat(0F, 2F)); - GameRegistry.addSmelting(ZTiC.adamantiteOre, new ItemStack(ZTiC.adamantiteIngot), RandomUtils.nextFloat(0F, 2F)); - GameRegistry.addSmelting(ZTiC.axiidianOre, new ItemStack(ZTiC.axiidianIngot), RandomUtils.nextFloat(0F, 2F)); - GameRegistry.addSmelting(ZTiC.bismuthOre, new ItemStack(ZTiC.bismuthIngot), RandomUtils.nextFloat(0F, 2F)); - GameRegistry.addSmelting(ZTiC.eterniteOre, new ItemStack(ZTiC.eterniteIngot), RandomUtils.nextFloat(0F, 2F)); - GameRegistry.addSmelting(ZTiC.ignititeOre, new ItemStack(ZTiC.ignititeIngot), RandomUtils.nextFloat(0F, 2F)); - GameRegistry.addSmelting(ZTiC.karmesineOre, new ItemStack(ZTiC.karmesineIngot), RandomUtils.nextFloat(0F, 2F)); - GameRegistry.addSmelting(ZTiC.meteoriteOre, new ItemStack(ZTiC.meteoriteIngot), RandomUtils.nextFloat(0F, 2F)); - GameRegistry.addSmelting(ZTiC.mindoriteOre, new ItemStack(ZTiC.mindoriteIngot), RandomUtils.nextFloat(0F, 2F)); - GameRegistry.addSmelting(ZTiC.mythrilOre, new ItemStack(ZTiC.mythrilIngot), RandomUtils.nextFloat(0F, 2F)); - GameRegistry.addSmelting(ZTiC.palladiumOre, new ItemStack(ZTiC.palladiumIngot), RandomUtils.nextFloat(0F, 2F)); - GameRegistry.addSmelting(ZTiC.prometheumOre, new ItemStack(ZTiC.prometheumIngot), RandomUtils.nextFloat(0F, 2F)); - GameRegistry.addSmelting(ZTiC.tiberiumOre, new ItemStack(ZTiC.tiberiumShardStable, 2), RandomUtils.nextFloat(0F, 2F)); - GameRegistry.addSmelting(ZTiC.vibraniumOre, new ItemStack(ZTiC.vibraniumIngot), RandomUtils.nextFloat(0F, 2F)); - GameRegistry.addSmelting(ZTiC.yrdeanOre, new ItemStack(ZTiC.yrdeanIngot), RandomUtils.nextFloat(0F, 2F)); - - } -} diff --git a/src/main/java/com/sosnitzka/ztic_addon/main/world/ZWorldGen.java b/src/main/java/com/sosnitzka/ztic_addon/main/world/ZWorldGen.java deleted file mode 100644 index 010e4ed..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/main/world/ZWorldGen.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.sosnitzka.ztic_addon.main.world; - -import com.sosnitzka.ztic_addon.main.ZTiC; -import com.sosnitzka.ztic_addon.main.util.Generator; -import net.minecraft.block.BlockStone; -import net.minecraft.init.Blocks; -import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkGenerator; -import net.minecraft.world.chunk.IChunkProvider; -import net.minecraftforge.fml.common.IWorldGenerator; - -import java.util.Random; - -public class ZWorldGen implements IWorldGenerator { - private void nether(Random random, int x, int z, World world) { - Generator.generateNetherOre(ZTiC.adamantiteOre.getDefaultState(), random, x, z, world, 25, 1, 32, 2, 5); - Generator.generateNetherOre(ZTiC.tiberiumOre.getDefaultState(), random, x, z, world, 60, 1, 128, 2, 7); - Generator.generateNetherOre(ZTiC.palladiumOre.getDefaultState(), random, x, z, world, 21, 32, 64, 2, 5); - Generator.generateOre(ZTiC.prometheumOre.getDefaultState(), random, x, z, world, 21, 48, 64, 2, 4); - } - - private void world(Random random, int x, int z, World world) { - Generator.generateOre(ZTiC.slagironOre.getDefaultState(), random, x, z, world, 40, 8, 96, 5, 16); - Generator.generateOre(ZTiC.slaggoldOre.getDefaultState(), random, x, z, world, 20, 8, 48, 5, 9); - Generator.generateOre(ZTiC.ligniteOre.getDefaultState(), random, x, z, world, 40, 8, 96, 5, 15); - Generator.generateOre(Blocks.IRON_ORE.getDefaultState(), random, x, z, world, 40, 8, 96, 2, 14); - Generator.generateOre(ZTiC.basalt.getDefaultState(), Blocks.LAVA.getDefaultState(), random, x, z, world, 100, 8, 24, 2, 5); - Generator.generateOre(ZTiC.rottenGround.getDefaultState(), Blocks.DIRT.getDefaultState(), random, x, z, world, 25, 50, 70, 2, 15); - - Generator.generateOre(ZTiC.vibraniumOre.getDefaultState(), random, x, z, world, 18, 48, 64, 2, 4); - Generator.generateOre(ZTiC.karmesineOre.getDefaultState(), random, x, z, world, 30, 16, 48, 2, 5); - Generator.generateOre(ZTiC.bismuthOre.getDefaultState(), random, x, z, world, 50, 50, 130, 2, 4); - Generator.generateOre(ZTiC.mythrilOre.getDefaultState(), random, x, z, world, 18, 16, 32, 2, 4); - Generator.generateOre(ZTiC.meteoriteOre.getDefaultState(), random, x, z, world, 12, 0, 32, 2, 10); - Generator.generateOre(ZTiC.mindoriteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.DIORITE, random, x, z, world, 200, 16, 96, 2, 4); - Generator.generateOre(ZTiC.arcaniteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.GRANITE, random, x, z, world, 200, 16, 96, 2, 4); - Generator.generateOre(ZTiC.eterniteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.ANDESITE, random, x, z, world, 200, 16, 96, 2, 4); - } - - private void end(Random random, int x, int z, World world) { - - Generator.generateEndOre(ZTiC.yrdeanOre.getDefaultState(), random, x, z, world, 16, 10, 35, 2, 6); - Generator.generateEndOre(ZTiC.ignititeOre.getDefaultState(), random, x, z, world, 16, 20, 45, 2, 6); - Generator.generateEndOre(ZTiC.axiidianOre.getDefaultState(), random, x, z, world, 16, 30, 55, 2, 6); - Generator.generateEndOre(ZTiC.aardiumOre.getDefaultState(), random, x, z, world, 16, 40, 65, 2, 6); - } - - - @Override - public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, - IChunkProvider chunkProvider) { - int x = chunkX * 16; - int z = chunkZ * 16; - switch (world.provider.getDimension()) { - case -1: - nether(random, x, z, world); - break; - case 0: - world(random, x, z, world); - break; - case 1: - end(random, x, z, world); - break; - } - } -} diff --git a/src/main/java/com/sosnitzka/ztic_addon/proxy/ClientProxy.java b/src/main/java/com/sosnitzka/ztic_addon/proxy/ClientProxy.java index 21f9137..b9702c2 100644 --- a/src/main/java/com/sosnitzka/ztic_addon/proxy/ClientProxy.java +++ b/src/main/java/com/sosnitzka/ztic_addon/proxy/ClientProxy.java @@ -1,14 +1,14 @@ package com.sosnitzka.ztic_addon.proxy; -import com.sosnitzka.ztic_addon.main.ZTiC; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.item.Item; -import static com.sosnitzka.ztic_addon.main.ZTiC.*; +import static com.sosnitzka.ztic_addon.Blocks.*; +import static com.sosnitzka.ztic_addon.Items.*; -public class ClientProxy extends ServerProxy { +public class ClientProxy { private static void registerBlockModel(Block block) { registerItemModel(Item.getItemFromBlock(block)); @@ -18,7 +18,6 @@ public class ClientProxy extends ServerProxy { Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory")); } - @Override public void registerClientStuff() { // Items registerItemModel(slagironIngot); @@ -64,26 +63,26 @@ public class ClientProxy extends ServerProxy { registerItemModel(refractiveBysumIngot); // Blocks - registerBlockModel(ZTiC.aardiumOre); - registerBlockModel(ZTiC.adamantiteOre); - registerBlockModel(ZTiC.arcaniteOre); - registerBlockModel(ZTiC.axiidianOre); - registerBlockModel(ZTiC.basalt); - registerBlockModel(ZTiC.bismuthOre); - registerBlockModel(ZTiC.eterniteOre); - registerBlockModel(ZTiC.ignititeOre); - registerBlockModel(ZTiC.karmesineOre); - registerBlockModel(ZTiC.ligniteOre); - registerBlockModel(ZTiC.meteoriteOre); - registerBlockModel(ZTiC.mindoriteOre); - registerBlockModel(ZTiC.mythrilOre); - registerBlockModel(ZTiC.palladiumOre); - registerBlockModel(ZTiC.prometheumOre); - registerBlockModel(ZTiC.rottenGround); - registerBlockModel(ZTiC.slagironOre); - registerBlockModel(ZTiC.slaggoldOre); - registerBlockModel(ZTiC.tiberiumOre); - registerBlockModel(ZTiC.vibraniumOre); - registerBlockModel(ZTiC.yrdeanOre); + registerBlockModel(aardiumOre); + registerBlockModel(adamantiteOre); + registerBlockModel(arcaniteOre); + registerBlockModel(axiidianOre); + registerBlockModel(basalt); + registerBlockModel(bismuthOre); + registerBlockModel(eterniteOre); + registerBlockModel(ignititeOre); + registerBlockModel(karmesineOre); + registerBlockModel(ligniteOre); + registerBlockModel(meteoriteOre); + registerBlockModel(mindoriteOre); + registerBlockModel(mythrilOre); + registerBlockModel(palladiumOre); + registerBlockModel(prometheumOre); + registerBlockModel(rottenGround); + registerBlockModel(slagironOre); + registerBlockModel(slaggoldOre); + registerBlockModel(tiberiumOre); + registerBlockModel(vibraniumOre); + registerBlockModel(yrdeanOre); } } diff --git a/src/main/java/com/sosnitzka/ztic_addon/proxy/ServerProxy.java b/src/main/java/com/sosnitzka/ztic_addon/proxy/ServerProxy.java index 438f96d..4489e9a 100644 --- a/src/main/java/com/sosnitzka/ztic_addon/proxy/ServerProxy.java +++ b/src/main/java/com/sosnitzka/ztic_addon/proxy/ServerProxy.java @@ -1,8 +1,8 @@ package com.sosnitzka.ztic_addon.proxy; -public class ServerProxy { +public class ServerProxy extends ClientProxy { - public void registerClientStuff() { + public void registerServerStuff() { } } diff --git a/src/main/java/com/sosnitzka/ztic_addon/recipes/Crafting.java b/src/main/java/com/sosnitzka/ztic_addon/recipes/Crafting.java new file mode 100644 index 0000000..a02af7a --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/recipes/Crafting.java @@ -0,0 +1,15 @@ +package com.sosnitzka.ztic_addon.recipes; + + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fml.common.registry.GameRegistry; + +import static com.sosnitzka.ztic_addon.Items.fuel_brick; +import static com.sosnitzka.ztic_addon.Items.lignite; + +public class Crafting { + public static void register() { + GameRegistry.addShapelessRecipe(new ItemStack(fuel_brick), Items.COAL, Items.COAL, Items.COAL, lignite, lignite, lignite); + } +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/recipes/Smelting.java b/src/main/java/com/sosnitzka/ztic_addon/recipes/Smelting.java new file mode 100644 index 0000000..e34dc53 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/recipes/Smelting.java @@ -0,0 +1,39 @@ +package com.sosnitzka.ztic_addon.recipes; + + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fml.common.registry.GameRegistry; +import org.apache.commons.lang3.RandomUtils; + +import static com.sosnitzka.ztic_addon.Blocks.*; +import static com.sosnitzka.ztic_addon.Items.*; + +public class Smelting { + + public static void register() { + GameRegistry.addSmelting(slagironOre, new ItemStack(slagironIngot), 1.0F); + GameRegistry.addSmelting(new ItemStack(slagironIngot, 3), new ItemStack(iron_nugget), 0); + GameRegistry.addSmelting(new ItemStack(slaggoldIngot, 3), new ItemStack(Items.GOLD_NUGGET), 0); + GameRegistry.addSmelting(new ItemStack(tiberiumShardInstable), new ItemStack(tiberiumShardStable), 0.2F); + + + GameRegistry.addSmelting(aardiumOre, new ItemStack(aardiumIngot), RandomUtils.nextFloat(0F, 2F)); + GameRegistry.addSmelting(arcaniteOre, new ItemStack(arcaniteIngot), RandomUtils.nextFloat(0F, 2F)); + GameRegistry.addSmelting(adamantiteOre, new ItemStack(adamantiteIngot), RandomUtils.nextFloat(0F, 2F)); + GameRegistry.addSmelting(axiidianOre, new ItemStack(axiidianIngot), RandomUtils.nextFloat(0F, 2F)); + GameRegistry.addSmelting(bismuthOre, new ItemStack(bismuthIngot), RandomUtils.nextFloat(0F, 2F)); + GameRegistry.addSmelting(eterniteOre, new ItemStack(eterniteIngot), RandomUtils.nextFloat(0F, 2F)); + GameRegistry.addSmelting(ignititeOre, new ItemStack(ignititeIngot), RandomUtils.nextFloat(0F, 2F)); + GameRegistry.addSmelting(karmesineOre, new ItemStack(karmesineIngot), RandomUtils.nextFloat(0F, 2F)); + GameRegistry.addSmelting(meteoriteOre, new ItemStack(meteoriteIngot), RandomUtils.nextFloat(0F, 2F)); + GameRegistry.addSmelting(mindoriteOre, new ItemStack(mindoriteIngot), RandomUtils.nextFloat(0F, 2F)); + GameRegistry.addSmelting(mythrilOre, new ItemStack(mythrilIngot), RandomUtils.nextFloat(0F, 2F)); + GameRegistry.addSmelting(palladiumOre, new ItemStack(palladiumIngot), RandomUtils.nextFloat(0F, 2F)); + GameRegistry.addSmelting(prometheumOre, new ItemStack(prometheumIngot), RandomUtils.nextFloat(0F, 2F)); + GameRegistry.addSmelting(tiberiumOre, new ItemStack(tiberiumShardStable, 2), RandomUtils.nextFloat(0F, 2F)); + GameRegistry.addSmelting(vibraniumOre, new ItemStack(vibraniumIngot), RandomUtils.nextFloat(0F, 2F)); + GameRegistry.addSmelting(yrdeanOre, new ItemStack(yrdeanIngot), RandomUtils.nextFloat(0F, 2F)); + + } +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/util/FuelHandler.java b/src/main/java/com/sosnitzka/ztic_addon/util/FuelHandler.java new file mode 100644 index 0000000..d27dfc0 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/util/FuelHandler.java @@ -0,0 +1,23 @@ +package com.sosnitzka.ztic_addon.util; + +import net.minecraft.item.ItemStack; +import net.minecraftforge.fml.common.IFuelHandler; +import org.apache.commons.lang3.RandomUtils; + +import static com.sosnitzka.ztic_addon.Items.fuel_brick; +import static com.sosnitzka.ztic_addon.Items.lignite; + +public class FuelHandler implements IFuelHandler { + + @Override + public int getBurnTime(ItemStack fuel) { + if (fuel.getItem().equals(lignite)) { + return 200 * 2; + } + if (fuel.getItem().equals(fuel_brick)) { + return RandomUtils.nextInt(1, RandomUtils.nextInt(1, RandomUtils.nextInt(1, 64))) * 200; + } + return 0; + } + +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/util/Generator.java b/src/main/java/com/sosnitzka/ztic_addon/util/Generator.java new file mode 100644 index 0000000..372f131 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/util/Generator.java @@ -0,0 +1,41 @@ +package com.sosnitzka.ztic_addon.util; + +import com.sosnitzka.ztic_addon.world.ZWorldGenMinable; +import net.minecraft.block.properties.IProperty; +import net.minecraft.block.state.IBlockState; +import net.minecraft.init.Blocks; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +import java.util.Random; + +public class Generator { + + public static void generateOre(IBlockState state, Random random, int x, int z, World world, int chance, int minY, int maxY, int minSize, int maxSize) { + generateOre(state, Blocks.STONE.getDefaultState(), null, null, random, x, z, world, chance, minY, maxY, minSize, maxSize); + } + + public static void generateNetherOre(IBlockState state, Random random, int x, int z, World world, int chance, int minY, int maxY, int minSize, int maxSize) { + generateOre(state, Blocks.NETHERRACK.getDefaultState(), null, null, random, x, z, world, chance, minY, maxY, minSize, maxSize); + } + + public static void generateEndOre(IBlockState state, Random random, int x, int z, World world, int chance, int minY, int maxY, int minSize, int maxSize) { + generateOre(state, Blocks.END_STONE.getDefaultState(), null, null, random, x, z, world, chance, minY, maxY, minSize, maxSize); + } + + public static void generateOre(IBlockState state, IBlockState replace, Random random, int chunkX, int chunkZ, World world, int chance, int minY, int maxY, int minSize, int maxSize) { + generateOre(state, replace, null, null, random, chunkX, chunkZ, world, chance, minY, maxY, minSize, maxSize); + } + + public static void generateOre(IBlockState state, IBlockState replace, IProperty property, Comparable comparable, Random random, int chunkX, int chunkZ, World world, int chance, int minY, int maxY, int minSize, int maxSize) { + int size = minSize + random.nextInt(maxSize - minSize); + int height = maxY - minY; + + for (int i = 0; i < chance; i++) { + int posX = chunkX + random.nextInt(16); + int posY = random.nextInt(height) + minY; + int posZ = chunkZ + random.nextInt(16); + new ZWorldGenMinable(state, size, StateMatcher.forState(replace, property, comparable)).generate(world, random, new BlockPos(posX, posY, posZ)); + } + } +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/util/StateMatcher.java b/src/main/java/com/sosnitzka/ztic_addon/util/StateMatcher.java new file mode 100644 index 0000000..25dfde8 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/util/StateMatcher.java @@ -0,0 +1,84 @@ +package com.sosnitzka.ztic_addon.util; + +import com.google.common.base.Predicate; +import net.minecraft.block.properties.IProperty; +import net.minecraft.block.state.IBlockState; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + + +public class StateMatcher implements Predicate { + private final IBlockState state; + private final IProperty property; + private final Comparable value; + + private StateMatcher(IBlockState state, IProperty property, Comparable value) { + this.state = state; + this.property = property; + this.value = value; + } + + public static StateMatcher forState(IBlockState state, IProperty property, Comparable value) { + return new StateMatcher(state, property, value); + } + + public boolean apply(IBlockState state, BlockPos pos, World world) { + if (state != null) { + if (property != null && value != null) { + if (state.getBlock() == this.state.getBlock()) + if (checkLayerForBlocks(3, 3, -1, world, pos) || + checkLayerForBlocks(3, 3, 0, world, pos) || + checkLayerForBlocks(3, 3, 1, world, pos)) + return true; + + } else + return state.getBlock() == this.state.getBlock(); + } + return false; + } + + @Override + public boolean apply(IBlockState input) { + if (state != null) { + if (property != null && value != null) { + return state.getBlock() == this.state.getBlock() && state.getValue(property) == value; + } else + return state.getBlock() == this.state.getBlock(); + } + return false; + } + + private boolean checkLayerForBlocks(int X, int Z, int Y, World world, BlockPos origin) { + int x = 0, z = 0, dx = 0, dz = -1; + int t = Math.max(X, Z); + int maxI = t * t; + + for (int i = 0; i < maxI; i++) { + if ((-X / 2 <= x) && (x <= X / 2) && (-Z / 2 <= z) && (z <= Z / 2)) { + BlockPos blockPos = new BlockPos(origin.getX() + x, origin.getY() + Y, origin.getZ() + z); + if (blockPos == origin) + continue; + + if (i % 2 == 0) + continue; + + IBlockState bState = world.getBlockState(blockPos); + if (bState.getBlock() == this.state.getBlock() && bState.getValue(property) == value) { + // Check if a replacable block is near origin block - show pos in console + // System.out.println(String.format("Found block with desired state! (%s), Block: %s, try #%s, y=%s", i, Y)); + return true; + } + } + + if ((x == z) || ((x < 0) && (x == -z)) || ((x > 0) && (x == 1 - z))) { + t = dx; + dx = -dz; + dz = t; + } + x += dx; + z += dz; + } + + return false; + } +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/util/Utils.java b/src/main/java/com/sosnitzka/ztic_addon/util/Utils.java new file mode 100644 index 0000000..143ac66 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/util/Utils.java @@ -0,0 +1,54 @@ +package com.sosnitzka.ztic_addon.util; + + +import net.minecraft.block.Block; +import net.minecraft.item.ItemBlock; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fml.common.event.FMLInterModComms; +import net.minecraftforge.fml.common.registry.GameRegistry; + +public class Utils { + public static void registerBlockWithItem(Block block) { + GameRegistry.register(block); + GameRegistry.register(new ItemBlock(block).setRegistryName(block.getRegistryName())); + } + + + public static void registerTinkerFluid(String oreDictSuffix, Fluid fluid, boolean toolForge) { + registerFluid(fluid); + + NBTTagCompound tag = new NBTTagCompound(); + tag.setString("fluid", fluid.getName()); + tag.setString("ore", oreDictSuffix); + tag.setBoolean("toolforge", toolForge); + FMLInterModComms.sendMessage("tconstruct", "integrateSmeltery", tag); + } + + public static void registerFluid(Fluid fluid) { + FluidRegistry.registerFluid(fluid); + FluidRegistry.addBucketForFluid(fluid); + } + + public static void registerTinkerAlloys(Fluid alloy, int out, Fluid first, int inOne, Fluid second, int inTwo) { + NBTTagList tagList = new NBTTagList(); + NBTTagCompound fluid = new NBTTagCompound(); + fluid.setString("FluidName", alloy.getName()); + fluid.setInteger("Amount", out); + tagList.appendTag(fluid); + fluid = new NBTTagCompound(); + fluid.setString("FluidName", first.getName()); + fluid.setInteger("Amount", inOne); + tagList.appendTag(fluid); + fluid = new NBTTagCompound(); + fluid.setString("FluidName", second.getName()); + fluid.setInteger("Amount", inTwo); + tagList.appendTag(fluid); + + NBTTagCompound message = new NBTTagCompound(); + message.setTag("alloy", tagList); + FMLInterModComms.sendMessage("tconstruct", "alloy", message); + } +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/world/ZWorldGen.java b/src/main/java/com/sosnitzka/ztic_addon/world/ZWorldGen.java new file mode 100644 index 0000000..fa7fcfd --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/world/ZWorldGen.java @@ -0,0 +1,67 @@ +package com.sosnitzka.ztic_addon.world; + +import com.sosnitzka.ztic_addon.util.Generator; +import net.minecraft.block.BlockStone; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; +import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.chunk.IChunkProvider; +import net.minecraftforge.fml.common.IWorldGenerator; + +import java.util.Random; + +import static com.sosnitzka.ztic_addon.Blocks.*; + +public class ZWorldGen implements IWorldGenerator { + private void nether(Random random, int x, int z, World world) { + Generator.generateNetherOre(adamantiteOre.getDefaultState(), random, x, z, world, 25, 1, 32, 2, 5); + Generator.generateNetherOre(tiberiumOre.getDefaultState(), random, x, z, world, 60, 1, 128, 2, 7); + Generator.generateNetherOre(palladiumOre.getDefaultState(), random, x, z, world, 21, 32, 64, 2, 5); + Generator.generateOre(prometheumOre.getDefaultState(), random, x, z, world, 21, 48, 64, 2, 4); + } + + private void world(Random random, int x, int z, World world) { + Generator.generateOre(slagironOre.getDefaultState(), random, x, z, world, 40, 8, 96, 5, 16); + Generator.generateOre(slaggoldOre.getDefaultState(), random, x, z, world, 20, 8, 48, 5, 9); + Generator.generateOre(ligniteOre.getDefaultState(), random, x, z, world, 40, 8, 96, 5, 15); + Generator.generateOre(Blocks.IRON_ORE.getDefaultState(), random, x, z, world, 40, 8, 96, 2, 14); + Generator.generateOre(basalt.getDefaultState(), Blocks.LAVA.getDefaultState(), random, x, z, world, 100, 8, 24, 2, 5); + Generator.generateOre(rottenGround.getDefaultState(), Blocks.DIRT.getDefaultState(), random, x, z, world, 25, 50, 70, 2, 15); + + Generator.generateOre(vibraniumOre.getDefaultState(), random, x, z, world, 18, 48, 64, 2, 4); + Generator.generateOre(karmesineOre.getDefaultState(), random, x, z, world, 30, 16, 48, 2, 5); + Generator.generateOre(bismuthOre.getDefaultState(), random, x, z, world, 50, 50, 130, 2, 4); + Generator.generateOre(mythrilOre.getDefaultState(), random, x, z, world, 18, 16, 32, 2, 4); + Generator.generateOre(meteoriteOre.getDefaultState(), random, x, z, world, 12, 0, 32, 2, 10); + Generator.generateOre(mindoriteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.DIORITE, random, x, z, world, 200, 16, 96, 2, 4); + Generator.generateOre(arcaniteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.GRANITE, random, x, z, world, 200, 16, 96, 2, 4); + Generator.generateOre(eterniteOre.getDefaultState(), Blocks.STONE.getDefaultState(), BlockStone.VARIANT, BlockStone.EnumType.ANDESITE, random, x, z, world, 200, 16, 96, 2, 4); + } + + private void end(Random random, int x, int z, World world) { + + Generator.generateEndOre(yrdeanOre.getDefaultState(), random, x, z, world, 16, 10, 35, 2, 6); + Generator.generateEndOre(ignititeOre.getDefaultState(), random, x, z, world, 16, 20, 45, 2, 6); + Generator.generateEndOre(axiidianOre.getDefaultState(), random, x, z, world, 16, 30, 55, 2, 6); + Generator.generateEndOre(aardiumOre.getDefaultState(), random, x, z, world, 16, 40, 65, 2, 6); + } + + + @Override + public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, + IChunkProvider chunkProvider) { + int x = chunkX * 16; + int z = chunkZ * 16; + switch (world.provider.getDimension()) { + case -1: + nether(random, x, z, world); + break; + case 0: + world(random, x, z, world); + break; + case 1: + end(random, x, z, world); + break; + } + } +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/world/ZWorldGenMinable.java b/src/main/java/com/sosnitzka/ztic_addon/world/ZWorldGenMinable.java new file mode 100644 index 0000000..85988ad --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/world/ZWorldGenMinable.java @@ -0,0 +1,87 @@ +package com.sosnitzka.ztic_addon.world; + +import com.google.common.base.Predicate; +import com.sosnitzka.ztic_addon.util.StateMatcher; +import net.minecraft.block.state.IBlockState; +import net.minecraft.block.state.pattern.BlockMatcher; +import net.minecraft.init.Blocks; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; +import net.minecraft.world.World; +import net.minecraft.world.gen.feature.WorldGenMinable; + +import java.util.Random; + +public class ZWorldGenMinable extends WorldGenMinable { + private final IBlockState oreBlock; + /** + * The number of com.sosnitzka.ztic_addon.blocks to generate. + */ + private final int numberOfBlocks; + private final Predicate predicate; + + public ZWorldGenMinable(IBlockState state, int blockCount) { + this(state, blockCount, BlockMatcher.forBlock(Blocks.STONE)); + } + + public ZWorldGenMinable(IBlockState state, int blockCount, Predicate predicate) { + super(state, blockCount, predicate); + this.oreBlock = state; + this.numberOfBlocks = blockCount; + this.predicate = predicate; + } + + @Override + public boolean generate(World worldIn, Random rand, BlockPos position) { + float f = rand.nextFloat() * (float) Math.PI; + double d0 = (double) ((float) (position.getX() + 8) + MathHelper.sin(f) * (float) this.numberOfBlocks / 8.0F); + double d1 = (double) ((float) (position.getX() + 8) - MathHelper.sin(f) * (float) this.numberOfBlocks / 8.0F); + double d2 = (double) ((float) (position.getZ() + 8) + MathHelper.cos(f) * (float) this.numberOfBlocks / 8.0F); + double d3 = (double) ((float) (position.getZ() + 8) - MathHelper.cos(f) * (float) this.numberOfBlocks / 8.0F); + double d4 = (double) (position.getY() + rand.nextInt(3) - 2); + double d5 = (double) (position.getY() + rand.nextInt(3) - 2); + + for (int i = 0; i < this.numberOfBlocks; ++i) { + float f1 = (float) i / (float) this.numberOfBlocks; + double d6 = d0 + (d1 - d0) * (double) f1; + double d7 = d4 + (d5 - d4) * (double) f1; + double d8 = d2 + (d3 - d2) * (double) f1; + double d9 = rand.nextDouble() * (double) this.numberOfBlocks / 16.0D; + double d10 = (double) (MathHelper.sin((float) Math.PI * f1) + 1.0F) * d9 + 1.0D; + double d11 = (double) (MathHelper.sin((float) Math.PI * f1) + 1.0F) * d9 + 1.0D; + int j = MathHelper.floor_double(d6 - d10 / 2.0D); + int k = MathHelper.floor_double(d7 - d11 / 2.0D); + int l = MathHelper.floor_double(d8 - d10 / 2.0D); + int i1 = MathHelper.floor_double(d6 + d10 / 2.0D); + int j1 = MathHelper.floor_double(d7 + d11 / 2.0D); + int k1 = MathHelper.floor_double(d8 + d10 / 2.0D); + + for (int l1 = j; l1 <= i1; ++l1) { + double d12 = ((double) l1 + 0.5D - d6) / (d10 / 2.0D); + + if (d12 * d12 < 1.0D) { + for (int i2 = k; i2 <= j1; ++i2) { + double d13 = ((double) i2 + 0.5D - d7) / (d11 / 2.0D); + + if (d12 * d12 + d13 * d13 < 1.0D) { + for (int j2 = l; j2 <= k1; ++j2) { + double d14 = ((double) j2 + 0.5D - d8) / (d10 / 2.0D); + + if (d12 * d12 + d13 * d13 + d14 * d14 < 1.0D) { + BlockPos blockpos = new BlockPos(l1, i2, j2); + + IBlockState state = worldIn.getBlockState(blockpos); + if (((StateMatcher) this.predicate).apply(state, blockpos, worldIn)) { + worldIn.setBlockState(blockpos, this.oreBlock, 2); + } + } + } + } + } + } + } + } + + return true; + } +} \ No newline at end of file -- cgit v1.2.3