summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorRobert Sosnitzka <robert.sosnitzka@gmail.com>2017-01-15 23:37:38 +0100
committerRobert Sosnitzka <robert.sosnitzka@gmail.com>2017-01-15 23:37:38 +0100
commit26ab0139c09a8588672ba945778c1504f8ef7e55 (patch)
tree57a1839f46023e347860c2fe6cae08ce8961a87a /src/main/java
parent251e1d9d78150392807fd753e9ea3d2dfa48bb72 (diff)
Added missing icon, added Trait Mutate.
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/sosnitzka/taiga/MaterialTraits.java3
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitCrushing.java2
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitDecay.java2
-rw-r--r--src/main/java/com/sosnitzka/taiga/traits/TraitMutate.java43
4 files changed, 47 insertions, 3 deletions
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<Block> 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);
+ }
+
+ }
+
+ }
+}
+
+
+