diff --git a/src/main/java/com/sosnitzka/taiga/MaterialTraits.java b/src/main/java/com/sosnitzka/taiga/MaterialTraits.java index 7ffb0d4..41f66ad 100644 --- a/src/main/java/com/sosnitzka/taiga/MaterialTraits.java +++ b/src/main/java/com/sosnitzka/taiga/MaterialTraits.java @@ -59,6 +59,7 @@ public class MaterialTraits { public static final AbstractTrait leveled2 = new TraitLeveled(2); public static final AbstractTrait leveled3 = new TraitLeveled(3); public static final AbstractTrait crushing = new TraitCrushing(); + public static final AbstractTrait mutate = new TraitMutate(); /** @@ -91,7 +92,7 @@ public class MaterialTraits { public static Material nihilite = new Material("nihilite", TextFormatting.DARK_GRAY).addTrait(souleater); public static Material adamant = new Material("adamant", TextFormatting.GOLD).addTrait(beserk).addTrait(leveled1, MaterialTypes.EXTRA).addTrait(leveled2, MaterialTypes.HANDLE).addTrait(leveled3, MaterialTypes.HEAD); //.addTrait(dev); public static Material dyonite = new Material("dyonite", TextFormatting.GREEN).addTrait(tantrum); - public static Material nucleum = new Material("nucleum", TextFormatting.YELLOW).addTrait(decay); + public static Material nucleum = new Material("nucleum", TextFormatting.YELLOW).addTrait(decay).addTrait(mutate); public static Material lumix = new Material("lumix", TextFormatting.YELLOW).addTrait(bright, MaterialTypes.HANDLE).addTrait(glimmer, MaterialTypes.HEAD); public static Material seismum = new Material("seismum", TextFormatting.GREEN).addTrait(cascade); public static Material astrium = new Material("astrium", TextFormatting.DARK_PURPLE).addTrait(ported); diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitCrushing.java b/src/main/java/com/sosnitzka/taiga/traits/TraitCrushing.java index 608b5be..e601c4f 100644 --- a/src/main/java/com/sosnitzka/taiga/traits/TraitCrushing.java +++ b/src/main/java/com/sosnitzka/taiga/traits/TraitCrushing.java @@ -32,4 +32,4 @@ public class TraitCrushing extends AbstractTrait { } } -} +} \ No newline at end of file diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitDecay.java b/src/main/java/com/sosnitzka/taiga/traits/TraitDecay.java index 3109dca..56e89f5 100644 --- a/src/main/java/com/sosnitzka/taiga/traits/TraitDecay.java +++ b/src/main/java/com/sosnitzka/taiga/traits/TraitDecay.java @@ -21,7 +21,7 @@ import java.util.List; public class TraitDecay extends TraitProgressiveStats { protected static int TICK_PER_STAT = 24; - protected static int DURABILITY_STEP = 10; + protected static int DURABILITY_STEP = 1; protected static float SPEED_STEP = 0.05f; protected static float ATTACK_STEP = 0.05f; diff --git a/src/main/java/com/sosnitzka/taiga/traits/TraitMutate.java b/src/main/java/com/sosnitzka/taiga/traits/TraitMutate.java new file mode 100644 index 0000000..624647a --- /dev/null +++ b/src/main/java/com/sosnitzka/taiga/traits/TraitMutate.java @@ -0,0 +1,43 @@ +package com.sosnitzka.taiga.traits; + +import net.minecraft.block.Block; +import net.minecraft.block.state.IBlockState; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.util.text.TextFormatting; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.world.BlockEvent; +import slimeknights.tconstruct.library.traits.AbstractTrait; + +import java.util.List; + +import static com.google.common.collect.Lists.newArrayList; + + +public class TraitMutate extends AbstractTrait { + + + public TraitMutate() { + super(TraitMutate.class.getSimpleName().toLowerCase().substring(5), TextFormatting.YELLOW); + MinecraftForge.EVENT_BUS.register(this); + } + + @Override + public void beforeBlockBreak(ItemStack tool, BlockEvent.BreakEvent event) { + if (!event.getWorld().isRemote && random.nextFloat() > 0.95) { + IBlockState state = event.getState(); + List blist = newArrayList(Blocks.STONE, Blocks.COBBLESTONE, Blocks.DIRT, Blocks.SAND, Blocks.GRASS, Blocks.CLAY, Blocks.NETHERRACK, Blocks.ICE, Blocks.SNOW, Blocks.BONE_BLOCK, Blocks.LAVA, Blocks.WATER, Blocks.WHEAT); + if (blist.contains(state.getBlock())) { + Block newBlock = blist.get(random.nextInt(blist.size())); + IBlockState newState = newBlock.getDefaultState(); + event.setCanceled(true); + event.getWorld().setBlockState(event.getPos(), newState); + } + + } + + } +} + + + diff --git a/src/main/resources/assets/taiga/textures/items/crystal/tiberium.png b/src/main/resources/assets/taiga/textures/items/crystal/tiberium.png new file mode 100644 index 0000000..25d3eab Binary files /dev/null and b/src/main/resources/assets/taiga/textures/items/crystal/tiberium.png differ diff --git a/src/main/resources/smeltery.png b/src/main/resources/smeltery.png deleted file mode 100644 index 19f96f8..0000000 Binary files a/src/main/resources/smeltery.png and /dev/null differ diff --git a/src/tinker_tank.png b/src/tinker_tank.png deleted file mode 100644 index 80504e1..0000000 Binary files a/src/tinker_tank.png and /dev/null differ