fixed wrong package

This commit is contained in:
2016-05-12 17:55:53 +02:00
parent 5a0ebb11b2
commit 217cbcd30d
21 changed files with 47 additions and 47 deletions

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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;
}
}

View File

@@ -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);
}
}

View File

@@ -0,0 +1,8 @@
package com.sosnitzka.ztic_addon.items;
public class ItemIronNugget extends BasicItem {
public ItemIronNugget() {
super("iron_nugget");
}
}

View File

@@ -0,0 +1,9 @@
package com.sosnitzka.ztic_addon.items;
public class ItemLignite extends BasicItem {
public ItemLignite() {
super("lignite");
}
}

View File

@@ -0,0 +1,8 @@
package com.sosnitzka.ztic_addon.items;
public class ItemSlaggoldIngot extends BasicItem {
public ItemSlaggoldIngot() {
super("slaggold_ingot");
}
}

View File

@@ -0,0 +1,8 @@
package com.sosnitzka.ztic_addon.items;
public class ItemSlagironIngot extends BasicItem {
public ItemSlagironIngot() {
super("slagiron_ingot");
}
}

View File

@@ -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);
}
}

View File

@@ -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;
}
}

View File

@@ -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));
}
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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
});
}
}

View File

@@ -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));
}
}

View File

@@ -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;
}
}
}

View File

@@ -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);
}
}

View File

@@ -0,0 +1,8 @@
package com.sosnitzka.ztic_addon.proxy;
public class ServerProxy {
public void registerClientStuff() {
}
}