diff --git a/src/main/java/com/sosnitzka/taiga/Blocks.java b/src/main/java/com/sosnitzka/taiga/Blocks.java index 55c27b8..4694e60 100644 --- a/src/main/java/com/sosnitzka/taiga/Blocks.java +++ b/src/main/java/com/sosnitzka/taiga/Blocks.java @@ -3,6 +3,7 @@ package com.sosnitzka.taiga; import com.google.common.base.Joiner; import com.sosnitzka.taiga.blocks.BlockCobble; import com.sosnitzka.taiga.blocks.BlockMeteoriteRock; +import com.sosnitzka.taiga.blocks.BlockTiberium; import com.sosnitzka.taiga.generic.BasicBlock; import com.sosnitzka.taiga.generic.BlockOre; import com.sosnitzka.taiga.util.Utils; @@ -14,7 +15,7 @@ import org.apache.commons.lang3.StringUtils; import java.lang.reflect.Field; import java.util.Arrays; -import static com.sosnitzka.taiga.MaterialTraits.VIBRANIUM; +import static com.sosnitzka.taiga.MaterialTraits.*; import static com.sosnitzka.taiga.util.Utils.PREFIX_BLOCK; import static com.sosnitzka.taiga.util.Utils.PREFIX_ORE; import static slimeknights.tconstruct.library.utils.HarvestLevels.*; @@ -22,53 +23,69 @@ import static slimeknights.tconstruct.library.utils.HarvestLevels.*; public class Blocks { - // Natural Blocks - public static Block eezoOre = new BasicBlock("eezo_ore", Material.ROCK, 10.0f, 15f, OBSIDIAN, .55f, PREFIX_ORE); - public static Block osramOre = new BasicBlock("osram_ore", Material.ROCK, 10.0f, 15f, DIAMOND, .55f, PREFIX_ORE); - public static Block abyssumOre = new BasicBlock("abyssum_ore", Material.ROCK, 10.0f, 15f, DIAMOND, .55f, PREFIX_ORE); - public static Block tiberiumOre = new BasicBlock("tiberium_ore", Material.GLASS, 10.0f, 15f, IRON, .75f, PREFIX_ORE); - public static Block dilithiumOre = new BlockOre("dilithium_ore", Material.GLASS, 18f, 18f, IRON, 0.15f, Items.dilithiumCrystal, 3, 10); - public static Block dimeriteOre = new BasicBlock("dimerite_ore", Material.GLASS, 10.0f, 15f, DIAMOND, .55f, PREFIX_ORE); - public static Block meteoritecobbleBlock = new BlockCobble("meteoritecobble_block", Material.ROCK, 20f, 10f, COBALT, 0.075f, PREFIX_BLOCK); - public static Block meteoriteBlock = new BlockMeteoriteRock("meteorite_block", Material.ROCK, 20f, 35f, OBSIDIAN, 0.15f, PREFIX_BLOCK, meteoritecobbleBlock.getDefaultState()); - public static Block basaltBlock = new BasicBlock("basalt_block", Material.ROCK, 20.0f, 35.0f, STONE, PREFIX_BLOCK); - public static Block uruOre = new BasicBlock("uru_ore", Material.GLASS, 10.0f, 15f, COBALT, PREFIX_ORE); - public static Block prometheumOre = new BasicBlock("prometheum_ore", Material.GLASS, 10.0f, 15f, OBSIDIAN, .55f, PREFIX_ORE); - public static Block vibraniumOre = new BasicBlock("vibranium_ore", Material.GLASS, 10.0f, 15f, VIBRANIUM, PREFIX_ORE); - public static Block karmesineOre = new BasicBlock("karmesine_ore", Material.ROCK, 10.0f, 15f, DIAMOND, PREFIX_ORE); - public static Block violiumOre = new BasicBlock("violium_ore", Material.ROCK, 10.0f, 15f, IRON, PREFIX_ORE); - public static Block jauxiteOre = new BasicBlock("jauxite_ore", Material.ROCK, 10.0f, 15f, STONE, PREFIX_ORE); - public static Block moonrockBlock = new BasicBlock("moonrock_block", Material.GLASS, 10.0f, 15f, OBSIDIAN, .55f, PREFIX_BLOCK); + // blocks and ores spawned via worldgen + public static Block basaltBlock = new BasicBlock("basalt_block", Material.ROCK, 20.0f, 35.0f, IRON, PREFIX_BLOCK); + public static Block tiberiumOre = new BlockTiberium(); + public static Block auroriumOre = new BasicBlock("aurorium_ore", Material.ROCK, 15.0f, 12f, COBALT, 0.2f, PREFIX_ORE); + public static Block prometheumOre = new BasicBlock("prometheum_ore", Material.ROCK, 20.0f, 12f, DURANITE, 0.4f, PREFIX_ORE); + public static Block duraniteOre = new BasicBlock("duranite_ore", Material.ROCK, 25.0f, 1000f, DURANITE, PREFIX_ORE); + public static Block valyriumOre = new BasicBlock("valyrium_ore", Material.ROCK, 35.0f, 2000f, VALYRIUM, PREFIX_ORE); + public static Block vibraniumOre = new BasicBlock("vibranium_ore", Material.ROCK, 40.0f, 3000f, VIBRANIUM, PREFIX_ORE); + public static Block karmesineOre = new BasicBlock("karmesine_ore", Material.ROCK, 10.0f, 10f, COBALT, PREFIX_ORE); + public static Block oviumOre = new BasicBlock("ovium_ore", Material.ROCK, 10.0f, 10f, COBALT, PREFIX_ORE); + public static Block jauxumOre = new BasicBlock("jauxum_ore", Material.ROCK, 10.0f, 10f, COBALT, PREFIX_ORE); + public static Block palladiumOre = new BasicBlock("palladium_ore", Material.ROCK, 25.0f, 150f, DURANITE, 0.4f, PREFIX_ORE); + public static Block uruOre = new BasicBlock("uru_ore", Material.ROCK, 35.0f, 500f, VALYRIUM, PREFIX_ORE); + public static Block osramOre = new BasicBlock("osram_ore", Material.ROCK, 15.0f, 35.0f, COBALT, PREFIX_ORE); + public static Block eezoOre = new BasicBlock("eezo_ore", Material.ROCK, 50.0f, 50000.0f, COBALT, PREFIX_ORE); + public static Block abyssumOre = new BasicBlock("abyssum_ore", Material.ROCK, 15.0f, 35.0f, COBALT, PREFIX_ORE); + + // Ore Castsee + public static Block tiberiumBlock = new BasicBlock("tiberium_block", Material.GLASS, 10.0f, 15f, STONE, 1f, PREFIX_BLOCK); + public static Block auroriumBlock = new BasicBlock("aurorium_block", Material.ROCK, 15.0f, 15f, COBALT, PREFIX_BLOCK); + public static Block prometheumBlock = new BasicBlock("prometheum_block", Material.ROCK, 20.0f, 15f, DURANITE, 0.5f, PREFIX_BLOCK); + public static Block duraniteBlock = new BasicBlock("duranite_block", Material.ROCK, 20.0f, 800f, DURANITE, PREFIX_BLOCK); + public static Block valyriumBlock = new BasicBlock("valyrium_block", Material.ROCK, 20.0f, 1500f, VALYRIUM, PREFIX_BLOCK); + public static Block vibraniumBlock = new BasicBlock("vibranium_block", Material.ROCK, 20.0f, 3000f, VIBRANIUM, PREFIX_BLOCK); + public static Block karmesineBlock = new BasicBlock("karmesine_block", Material.ROCK, 10.0f, 12f, COBALT, PREFIX_BLOCK); + public static Block oviumBlock = new BasicBlock("ovium_block", Material.ROCK, 10.0f, 12f, COBALT, PREFIX_BLOCK); + public static Block jauxumBlock = new BasicBlock("jauxum_block", Material.ROCK, 10.0f, 12f, COBALT, PREFIX_BLOCK); + public static Block palladiumBlock = new BasicBlock("palladium_block", Material.ROCK, 25.0f, 150f, DURANITE, 0.5f, PREFIX_BLOCK); + public static Block uruBlock = new BasicBlock("uru_block", Material.ROCK, 30.0f, 500f, VALYRIUM, PREFIX_BLOCK); + public static Block osramBlock = new BasicBlock("osram_block", Material.ROCK, 15.0f, 12f, COBALT, PREFIX_BLOCK); + public static Block abyssumBlock = new BasicBlock("abyssum_block", Material.ROCK, 15.0f, 35f, COBALT, PREFIX_BLOCK); + public static Block eezoBlock = new BasicBlock("eezo_block", Material.ROCK, 20.0f, 1000f, COBALT, PREFIX_BLOCK); + + public static Block terraxBlock = new BasicBlock("terrax_block", Material.ROCK, 10.0f, 15f, COBALT, PREFIX_BLOCK); + public static Block triberiumBlock = new BasicBlock("triberium_block", Material.ROCK, 15.0f, 15f, OBSIDIAN, 1f, PREFIX_BLOCK); + public static Block fractumBlock = new BasicBlock("fractum_block", Material.ROCK, 15.0f, 25f, COBALT, PREFIX_BLOCK); + public static Block violiumBlock = new BasicBlock("violium_block", Material.ROCK, 15.0f, 25f, COBALT, PREFIX_BLOCK); + public static Block proxiiBlock = new BasicBlock("proxii_block", Material.ROCK, 15.0f, 25f, DURANITE, PREFIX_BLOCK); + public static Block tritoniteBlock = new BasicBlock("tritonite_block", Material.ROCK, 15.0f, 25f, COBALT, PREFIX_BLOCK); + public static Block ignitzBlock = new BasicBlock("ignitz_block", Material.ROCK, 20.0f, 20f, COBALT, PREFIX_BLOCK); + public static Block imperomiteBlock = new BasicBlock("imperomite_block", Material.ROCK, 20.0f, 25f, DURANITE, PREFIX_BLOCK); + public static Block solariumBlock = new BasicBlock("solarium_block", Material.ROCK, 25.0f, 25f, VIBRANIUM, PREFIX_BLOCK); + public static Block nihiliteBlock = new BasicBlock("nihilite_block", Material.ROCK, 10.0f, 25f, VALYRIUM, PREFIX_BLOCK); + public static Block adamantBlock = new BasicBlock("adamant_block", Material.ROCK, 25.0f, 25f, VIBRANIUM, PREFIX_BLOCK); + public static Block dyoniteBlock = new BasicBlock("dyonite_block", Material.ROCK, 10.0f, 25f, DURANITE, PREFIX_BLOCK); + public static Block nucleumBlock = new BasicBlock("nucleum_block", Material.ROCK, 10.0f, 25f, VALYRIUM, PREFIX_BLOCK); + public static Block lumixBlock = new BasicBlock("lumix_block", Material.ROCK, 15.0f, 25f, COBALT, PREFIX_BLOCK); + public static Block seismumBlock = new BasicBlock("seismum_block", Material.ROCK, 15.0f, 25f, COBALT, PREFIX_BLOCK); + public static Block astriumBlock = new BasicBlock("astrium_block", Material.ROCK, 15.0f, 25f, COBALT, PREFIX_BLOCK); + public static Block niobBlock = new BasicBlock("niob_block", Material.ROCK, 15.0f, 25f, DURANITE, PREFIX_BLOCK); + public static Block yrdeenBlock = new BasicBlock("yrdeen_block", Material.ROCK, 15.0f, 25f, VALYRIUM, PREFIX_BLOCK); + public static Block ioxBlock = new BasicBlock("iox_block", Material.ROCK, 20.0f, 25f, DURANITE, PREFIX_BLOCK); - // Natrual Refined - public static Block eezoBlock = new BasicBlock("_block", Material.ROCK, 20.0f, 35.0f, OBSIDIAN, PREFIX_BLOCK); - public static Block osramBlock = new BasicBlock("_block", Material.ROCK, 20.0f, 35.0f, DIAMOND, PREFIX_BLOCK); - public static Block abyssumBlock = new BasicBlock("_block", Material.ROCK, 20.0f, 35.0f, DIAMOND, PREFIX_BLOCK); - public static Block tiberiumBlock = new BasicBlock("tiberium_block", Material.GLASS, 20.0f, 35.0f, IRON, PREFIX_BLOCK); - public static Block dilithiumBlock = new BasicBlock("dilithium_block", Material.GLASS, 10.0f, 15f, DIAMOND, .55f, PREFIX_BLOCK); - public static Block dimeriteBlock = new BasicBlock("dimerite_block", Material.GLASS, 10.0f, 15f, DIAMOND, .55f, PREFIX_BLOCK); - public static Block uruBlock = new BasicBlock("uru_block", Material.IRON, 10.0f, 15f, COBALT, .55f, PREFIX_BLOCK); - public static Block prometheumBlock = new BasicBlock("prometheum_block", Material.GLASS, 10.0f, 15f, OBSIDIAN, .55f, PREFIX_BLOCK); - public static Block vibraniumBlock = new BasicBlock("vibranium_block", Material.IRON, 10.0f, 15f, VIBRANIUM, .55f, PREFIX_BLOCK); - public static Block karmesineBlock = new BasicBlock("karmesine_block", Material.ROCK, 10.0f, 15f, DIAMOND, PREFIX_BLOCK); - public static Block violiumBlock = new BasicBlock("violium_block", Material.ROCK, 10.0f, 15f, IRON, PREFIX_BLOCK); - public static Block jauxiteBlock = new BasicBlock("jauxite_block", Material.ROCK, 10.0f, 15f, STONE, PREFIX_BLOCK); + public static Block blockMeteoriteCobble = new BlockCobble("meteoritecobble_block", Material.ROCK, 20f, 10f, COBALT, 0.075f, PREFIX_BLOCK); + public static Block blockObsidioriteCobble = new BlockCobble("obsidioritecobble_block", Material.ROCK, 25f, 20f, DURANITE, 0.035f, PREFIX_BLOCK); + public static Block blockMeteorite = new BlockMeteoriteRock("meteorite_block", Material.ROCK, 40f, 2000f, COBALT, 0.15f, PREFIX_BLOCK, blockMeteoriteCobble.getDefaultState()); + public static Block blockObsidiorite = new BlockMeteoriteRock("obsidiorite_block", Material.ROCK, 50f, 4000f, DURANITE, 0.2f, PREFIX_BLOCK, blockObsidioriteCobble.getDefaultState()); - // Alloys - public static Block lumixBlock = new BasicBlock("lumix_block", Material.GLASS, 20.0f, 35.0f, DIAMOND, PREFIX_BLOCK); - public static Block ignitzBlock = new BasicBlock("ignitz_block", Material.ROCK, 20.0f, 35.0f, OBSIDIAN, PREFIX_BLOCK); - public static Block astriumBlock = new BasicBlock("astrium_block", Material.ROCK, 20.0f, 35.0f, OBSIDIAN, PREFIX_BLOCK); - public static Block quxonBlock = new BasicBlock("quxon_block", Material.ROCK, 20.0f, 35.0f, OBSIDIAN, PREFIX_BLOCK); - public static Block adamantBlock = new BasicBlock("adamant_block", Material.IRON, 20.0f, 35.0f, VIBRANIUM, PREFIX_BLOCK); - public static Block oviumBlock = new BasicBlock("ovium_block", Material.ROCK, 20.0f, 35.0f, DIAMOND, PREFIX_BLOCK); - public static Block fractumBlock = new BasicBlock("fractum_block", Material.ROCK, 20.0f, 35.0f, OBSIDIAN, PREFIX_BLOCK); - public static Block seismumBlock = new BasicBlock("seismum_block", Material.ROCK, 20.0f, 35.0f, OBSIDIAN, PREFIX_BLOCK); - public static Block valyriumBlock = new BasicBlock("valyrium_block", Material.IRON, 20.0f, 35.0f, COBALT, PREFIX_BLOCK); - public static Block ioxBlock = new BasicBlock("iox_block", Material.ROCK, 20.0f, 35.0f, COBALT, PREFIX_BLOCK); - public static Block hexiteBlock = new BasicBlock("hexite_block", Material.ROCK, 20.0f, 35.0f, COBALT, PREFIX_BLOCK); - public static Block invaliteBlock = new BasicBlock("invalite_block", Material.ROCK, 20.0f, 35.0f, VIBRANIUM, PREFIX_BLOCK); + // Community + public static Block dilithiumOre = new BlockOre("dilithium_ore", Material.GLASS, 18f, 18f, DIAMOND, 0.73f, Items.dilithiumCrystal, 3, 10); + public static Block dilithiumBlock = new BasicBlock("dilithium_block", Material.GLASS, 18f, 18f, DIAMOND, 0.73f, PREFIX_ORE); /** * Registers all materials' ingots and nuggets
diff --git a/src/main/java/com/sosnitzka/taiga/MaterialTraits.java b/src/main/java/com/sosnitzka/taiga/MaterialTraits.java index df7c0e4..47b2bea 100644 --- a/src/main/java/com/sosnitzka/taiga/MaterialTraits.java +++ b/src/main/java/com/sosnitzka/taiga/MaterialTraits.java @@ -14,7 +14,9 @@ import static slimeknights.tconstruct.tools.TinkerTraits.crumbling; public class MaterialTraits { // new hardness levels - public static final int VIBRANIUM = 5; + public static final int DURANITE = 5; + public static final int VALYRIUM = 6; + public static final int VIBRANIUM = 7; // Init of new traits public static final AbstractTrait instable = new TraitInstable(); diff --git a/src/main/java/com/sosnitzka/taiga/blocks/BlockCrystal.java b/src/main/java/com/sosnitzka/taiga/blocks/BlockCrystal.java deleted file mode 100644 index 2dbc95c..0000000 --- a/src/main/java/com/sosnitzka/taiga/blocks/BlockCrystal.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.sosnitzka.taiga.blocks; - -public class BlockCrystal { -} diff --git a/src/main/java/com/sosnitzka/taiga/blocks/BlockOre.java b/src/main/java/com/sosnitzka/taiga/blocks/BlockOre.java new file mode 100644 index 0000000..e0ad9f6 --- /dev/null +++ b/src/main/java/com/sosnitzka/taiga/blocks/BlockOre.java @@ -0,0 +1,68 @@ +package com.sosnitzka.taiga.blocks; + +import net.minecraft.block.material.Material; +import net.minecraft.block.properties.PropertyEnum; +import net.minecraft.util.BlockRenderLayer; +import net.minecraft.util.IStringSerializable; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; +import slimeknights.mantle.block.EnumBlock; + +import javax.annotation.Nonnull; +import java.util.Locale; + +public class BlockOre extends EnumBlock { + + public static final PropertyEnum TYPE = PropertyEnum.create("type", OreTypes.class); + + public BlockOre() { + this(Material.ROCK); + } + + public BlockOre(Material material) { + super(material, TYPE, OreTypes.class); + } + + @Nonnull + @Override + @SideOnly(Side.CLIENT) + public BlockRenderLayer getBlockLayer() { + return BlockRenderLayer.CUTOUT_MIPPED; + } + + public enum OreTypes implements IStringSerializable, EnumBlock.IEnumMeta { + TIBERIUM, + AURODIUM, + PROMETHEUM, + ARCANITE, + TITANITE, + MYTHRIL, + URU, + VIBRANIUM, + ETERNITE, + FRACTORYTE, + PALLADIUM, + IGNITITE, + BISMUTH, + JAUXITE, + VIOLIUM, + KARMESINE; + + public final int meta; + + OreTypes() { + meta = ordinal(); + } + + @Override + public String getName() { + return this.toString().toLowerCase(Locale.US); + } + + @Override + public int getMeta() { + return meta; + } + } + +} diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitCongenial.java b/src/main/java/com/sosnitzka/taiga/traits/TraitCongenial.java index e5a262c..c4e95cd 100644 --- a/src/main/java/com/sosnitzka/taiga/traits/TraitCongenial.java +++ b/src/main/java/com/sosnitzka/taiga/traits/TraitCongenial.java @@ -57,7 +57,7 @@ public class TraitCongenial extends AbstractTrait { return damage; } if (!data.name.equals(target.getName())) { - return damage / (random.nextInt(5) + 2); + return damage / (random.nextInt(5) + 5); } float x = (1 + random.nextFloat() * 9); return damage * x; diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitCursed.java b/src/main/java/com/sosnitzka/taiga/traits/TraitCursed.java index d54508b..6a6fdb4 100644 --- a/src/main/java/com/sosnitzka/taiga/traits/TraitCursed.java +++ b/src/main/java/com/sosnitzka/taiga/traits/TraitCursed.java @@ -22,7 +22,7 @@ import java.util.Optional; public class TraitCursed extends AbstractTrait { - private static int chance = 20000; + private static int chance = 60 * 1000; public TraitCursed() { super(TraitCursed.class.getSimpleName().toLowerCase().substring(5), TextFormatting.RED);