summaryrefslogtreecommitdiff
path: root/src/main/java/com
diff options
context:
space:
mode:
authorGiovanni Harting <539@idlegandalf.com>2016-05-12 17:55:53 +0200
committerGiovanni Harting <539@idlegandalf.com>2016-05-12 17:55:53 +0200
commit217cbcd30d8a284e255a5146f0bf35d0c57b725c (patch)
tree5e78413ce2d2fbbb0eda31e45648c320a2b7e6f4 /src/main/java/com
parent5a0ebb11b2d74b0f97f66b40fdfd82ee033e85ce (diff)
fixed wrong package
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/blocks/BlockLigniteOre.java39
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/blocks/BlockTiberiumOre.java39
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/blocks/category/BasicBlockGround.java18
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/blocks/category/BasicBlockOre.java16
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/blocks/category/BasicBlockOreGlow.java11
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/fluids/BasicFluid.java20
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/items/BasicItem.java11
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/items/ItemIronNugget.java8
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/items/ItemLignite.java9
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/items/ItemSlaggoldIngot.java8
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/items/ItemSlagironIngot.java8
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/main/ZTiC.java453
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/main/util/FuelHandler.java21
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/main/util/Generator.java40
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/main/util/StateMatcher.java84
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/main/util/ZWorldGenMinable.java86
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/main/util/recipes/Crafting.java20
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/main/util/recipes/Smelting.java40
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/main/world/ZWorldGen.java66
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/proxy/ClientProxy.java89
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/proxy/ServerProxy.java8
21 files changed, 1094 insertions, 0 deletions
diff --git a/src/main/java/com/sosnitzka/ztic_addon/blocks/BlockLigniteOre.java b/src/main/java/com/sosnitzka/ztic_addon/blocks/BlockLigniteOre.java
new file mode 100644
index 0000000..7f4885c
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/blocks/BlockLigniteOre.java
@@ -0,0 +1,39 @@
+package com.sosnitzka.ztic_addon.blocks;
+
+import com.sosnitzka.ztic_addon.blocks.category.BasicBlockOre;
+import com.sosnitzka.ztic_addon.main.ZTiC;
+import net.minecraft.block.material.Material;
+import net.minecraft.block.state.IBlockState;
+import net.minecraft.item.Item;
+import net.minecraft.util.math.BlockPos;
+import net.minecraft.util.math.MathHelper;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+
+import java.util.Random;
+
+public class BlockLigniteOre extends BasicBlockOre {
+
+ public BlockLigniteOre() {
+ super("lignite_ore", Material.ROCK, 4.0f, 5.0f, 1);
+ }
+
+ @Override
+ public int getExpDrop(IBlockState state, IBlockAccess world, BlockPos pos, int fortune) {
+ Random rand = world instanceof World ? ((World) world).rand : new Random();
+ int r = RANDOM.nextInt(11);
+ if (r > 7) {
+ return MathHelper.getRandomIntegerInRange(rand, 0, 10) + fortune;
+ } else return 0;
+ }
+
+ @Override
+ public int quantityDropped(IBlockState state, int fortune, Random random) {
+ return MathHelper.getRandomIntegerInRange(random, 1, 3 + fortune);
+ }
+
+ @Override
+ public Item getItemDropped(IBlockState state, Random rand, int fortune) {
+ return ZTiC.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
new file mode 100644
index 0000000..aa570e9
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/blocks/BlockTiberiumOre.java
@@ -0,0 +1,39 @@
+package com.sosnitzka.ztic_addon.blocks;
+
+import com.sosnitzka.ztic_addon.blocks.category.BasicBlockOreGlow;
+import com.sosnitzka.ztic_addon.main.ZTiC;
+import net.minecraft.block.material.Material;
+import net.minecraft.block.state.IBlockState;
+import net.minecraft.item.Item;
+import net.minecraft.util.math.BlockPos;
+import net.minecraft.util.math.MathHelper;
+import net.minecraft.world.IBlockAccess;
+import net.minecraft.world.World;
+
+import java.util.Random;
+
+public class BlockTiberiumOre extends BasicBlockOreGlow {
+
+ public BlockTiberiumOre() {
+ super("tiberium_ore", Material.ROCK, 30.0f, 30.0f, 3, 0.8f);
+ }
+
+ @Override
+ public int getExpDrop(IBlockState state, IBlockAccess world, BlockPos pos, int fortune) {
+ Random rand = world instanceof World ? ((World) world).rand : new Random();
+ int r = RANDOM.nextInt(11);
+ if (r > 7) {
+ return MathHelper.getRandomIntegerInRange(rand, 0, 10) + fortune;
+ } else return 0;
+ }
+
+ @Override
+ public int quantityDropped(IBlockState state, int fortune, Random random) {
+ return MathHelper.getRandomIntegerInRange(random, 1, MathHelper.getRandomIntegerInRange(random, 1, 3 + fortune));
+ }
+
+ @Override
+ public Item getItemDropped(IBlockState state, Random rand, int fortune) {
+ return ZTiC.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
new file mode 100644
index 0000000..17a5163
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/blocks/category/BasicBlockGround.java
@@ -0,0 +1,18 @@
+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
new file mode 100644
index 0000000..52078ef
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/blocks/category/BasicBlockOre.java
@@ -0,0 +1,16 @@
+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
new file mode 100644
index 0000000..2e077dd
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/blocks/category/BasicBlockOreGlow.java
@@ -0,0 +1,11 @@
+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
new file mode 100644
index 0000000..3ece5c8
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/fluids/BasicFluid.java
@@ -0,0 +1,20 @@
+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:com.sosnitzka.ztic_addon.blocks/com.sosnitzka.ztic_addon.fluids/molten_metal"), new ResourceLocation("tconstruct:com.sosnitzka.ztic_addon.blocks/com.sosnitzka.ztic_addon.fluids/molten_metal_flow"));
+ this.color = color;
+ }
+
+ @Override
+ public int getColor() {
+ return color;
+ }
+
+}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/items/BasicItem.java b/src/main/java/com/sosnitzka/ztic_addon/items/BasicItem.java
new file mode 100644
index 0000000..c7a828f
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/items/BasicItem.java
@@ -0,0 +1,11 @@
+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
new file mode 100644
index 0000000..2a2f34e
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/items/ItemIronNugget.java
@@ -0,0 +1,8 @@
+package com.sosnitzka.ztic_addon.items;
+
+public class ItemIronNugget extends BasicItem {
+
+ public ItemIronNugget() {
+ super("iron_nugget");
+ }
+}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/items/ItemLignite.java b/src/main/java/com/sosnitzka/ztic_addon/items/ItemLignite.java
new file mode 100644
index 0000000..5642b9a
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/items/ItemLignite.java
@@ -0,0 +1,9 @@
+package com.sosnitzka.ztic_addon.items;
+
+public class ItemLignite extends BasicItem {
+
+ public ItemLignite() {
+ super("lignite");
+ }
+
+}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/items/ItemSlaggoldIngot.java b/src/main/java/com/sosnitzka/ztic_addon/items/ItemSlaggoldIngot.java
new file mode 100644
index 0000000..bdc0be0
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/items/ItemSlaggoldIngot.java
@@ -0,0 +1,8 @@
+package com.sosnitzka.ztic_addon.items;
+
+public class ItemSlaggoldIngot extends BasicItem {
+
+ public ItemSlaggoldIngot() {
+ super("slaggold_ingot");
+ }
+}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/items/ItemSlagironIngot.java b/src/main/java/com/sosnitzka/ztic_addon/items/ItemSlagironIngot.java
new file mode 100644
index 0000000..48a9364
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/items/ItemSlagironIngot.java
@@ -0,0 +1,8 @@
+package com.sosnitzka.ztic_addon.items;
+
+public class ItemSlagironIngot extends BasicItem {
+
+ public ItemSlagironIngot() {
+ super("slagiron_ingot");
+ }
+}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/main/ZTiC.java b/src/main/java/com/sosnitzka/ztic_addon/main/ZTiC.java
new file mode 100644
index 0000000..7d19609
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/main/ZTiC.java
@@ -0,0 +1,453 @@
+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 astriteIngot = new BasicItem("astrite_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 astrite = new slimeknights.tconstruct.library.materials.Material("astrite", 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<MaterialIntegration> 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(astriteIngot);
+ 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 astriteFluid = new BasicFluid("astriteFluid", 0xFF7a3b74);
+ registerTinkerAlloys("Astrite", astriteFluid, 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("Astrite", astrite, astriteFluid, 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("ingotAstrite", astriteIngot);
+ 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
new file mode 100644
index 0000000..9ab6edd
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/main/util/FuelHandler.java
@@ -0,0 +1,21 @@
+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
new file mode 100644
index 0000000..97937c7
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/main/util/Generator.java
@@ -0,0 +1,40 @@
+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
new file mode 100644
index 0000000..acaaedf
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/main/util/StateMatcher.java
@@ -0,0 +1,84 @@
+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<IBlockState> {
+ 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
new file mode 100644
index 0000000..cf0ed41
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/main/util/ZWorldGenMinable.java
@@ -0,0 +1,86 @@
+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<IBlockState> predicate;
+
+ public ZWorldGenMinable(IBlockState state, int blockCount) {
+ this(state, blockCount, BlockMatcher.forBlock(Blocks.STONE));
+ }
+
+ public ZWorldGenMinable(IBlockState state, int blockCount, Predicate<IBlockState> 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
new file mode 100644
index 0000000..d057a67
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/main/util/recipes/Crafting.java
@@ -0,0 +1,20 @@
+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
new file mode 100644
index 0000000..a8f15e7
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/main/util/recipes/Smelting.java
@@ -0,0 +1,40 @@
+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
new file mode 100644
index 0000000..010e4ed
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/main/world/ZWorldGen.java
@@ -0,0 +1,66 @@
+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
new file mode 100644
index 0000000..967c572
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/proxy/ClientProxy.java
@@ -0,0 +1,89 @@
+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.*;
+
+public class ClientProxy extends ServerProxy {
+
+ private static void registerBlockModel(Block block) {
+ registerItemModel(Item.getItemFromBlock(block));
+ }
+
+ private static void registerItemModel(Item item) {
+ Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(item.getRegistryName(), "inventory"));
+ }
+
+ @Override
+ public void registerClientStuff() {
+ // Items
+ registerItemModel(slagironIngot);
+ registerItemModel(slaggoldIngot);
+ registerItemModel(lignite);
+ registerItemModel(iron_nugget);
+ registerItemModel(fuel_brick);
+ registerItemModel(tiberiumShardInstable);
+ registerItemModel(tiberiumShardStable);
+
+
+ registerItemModel(aardiumIngot);
+ registerItemModel(adamantiteIngot);
+ registerItemModel(arcaniteIngot);
+ registerItemModel(axiidianIngot);
+ registerItemModel(bismuthIngot);
+ registerItemModel(eterniteIngot);
+ registerItemModel(ignititeIngot);
+ registerItemModel(karmesineIngot);
+ registerItemModel(meteoriteIngot);
+ registerItemModel(mindoriteIngot);
+ registerItemModel(mythrilIngot);
+ registerItemModel(palladiumIngot);
+ registerItemModel(tiberiumIngot);
+ registerItemModel(vibraniumIngot);
+ registerItemModel(yrdeanIngot);
+
+ registerItemModel(astriteIngot);
+ registerItemModel(instableDyoniteIngot);
+ registerItemModel(instableNitroniteIngot);
+ registerItemModel(instablePolyniumIngot);
+ registerItemModel(instablePrysociteIngot);
+ registerItemModel(imperomiteIngot);
+ registerItemModel(cryptogenIngot);
+ registerItemModel(proxideumIngot);
+ registerItemModel(fractoryteIngot);
+ registerItemModel(seismodiumIngot);
+ registerItemModel(terramiteIngot);
+ registerItemModel(blazingXylititeIngot);
+ registerItemModel(radiantPliniumIngot);
+ registerItemModel(ultraniteIngot);
+ registerItemModel(dysprosaniumIngot);
+ 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);
+ }
+}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/proxy/ServerProxy.java b/src/main/java/com/sosnitzka/ztic_addon/proxy/ServerProxy.java
new file mode 100644
index 0000000..438f96d
--- /dev/null
+++ b/src/main/java/com/sosnitzka/ztic_addon/proxy/ServerProxy.java
@@ -0,0 +1,8 @@
+package com.sosnitzka.ztic_addon.proxy;
+
+public class ServerProxy {
+
+ public void registerClientStuff() {
+
+ }
+}