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