Added Trait Crushing, changed old assignment, fixed two variables to prevent annoyance

This commit is contained in:
Robert Sosnitzka
2017-01-14 00:54:57 +01:00
parent 8145002326
commit 450b8b0899
4 changed files with 41 additions and 8 deletions

View File

@@ -58,6 +58,7 @@ public class MaterialTraits {
public static final AbstractTrait leveled1 = new TraitLeveled(1);
public static final AbstractTrait leveled2 = new TraitLeveled(2);
public static final AbstractTrait leveled3 = new TraitLeveled(3);
public static final AbstractTrait crushing = new TraitCrushing();
/**
@@ -86,11 +87,8 @@ public class MaterialTraits {
public static Material tritonite = new Material("tritonite", TextFormatting.GOLD).addTrait(whirl);
public static Material ignitz = new Material("ignitz", TextFormatting.RED).addTrait(melting).addTrait(garishly, MaterialTypes.HANDLE);
public static Material imperomite = new Material("imperomite", TextFormatting.DARK_RED).addTrait(hollow);
public static Material solarium = new Material("solarium", TextFormatting.YELLOW).addTrait(pulverizing).addTrait(superheavy);
public static Material solarium = new Material("solarium", TextFormatting.YELLOW).addTrait(superheavy).addTrait(crushing);
public static Material nihilite = new Material("nihilite", TextFormatting.DARK_GRAY).addTrait(souleater);
/**
* With Dev
**/
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);
@@ -99,7 +97,7 @@ public class MaterialTraits {
public static Material astrium = new Material("astrium", TextFormatting.DARK_PURPLE).addTrait(ported);
public static Material niob = new Material("niob", TextFormatting.RED).addTrait(reviving);
public static Material yrdeen = new Material("yrdeen", TextFormatting.RED).addTrait(naturebound);
public static Material meteorite = new Material("meteorite", TextFormatting.DARK_GREEN).addTrait(crumbling, MaterialTypes.HEAD).addTrait(cheap);
public static Material meteorite = new Material("meteorite", TextFormatting.DARK_GREEN).addTrait(crumbling, MaterialTypes.HEAD).addTrait(pulverizing);
public static Material obsidiorite = new Material("obsidiorite", obsidioriteFluid.getColor()).addTrait(alien);
public static Material osram = new Material("osram", TextFormatting.GOLD);

View File

@@ -0,0 +1,35 @@
package com.sosnitzka.taiga.traits;
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.event.world.BlockEvent;
import slimeknights.tconstruct.library.traits.AbstractTrait;
public class TraitCrushing extends AbstractTrait {
public TraitCrushing() {
super(TraitCrushing.class.getSimpleName().toLowerCase().substring(5), TextFormatting.GRAY);
}
@Override
public void blockHarvestDrops(ItemStack tool, BlockEvent.HarvestDropsEvent e) {
if (!e.getWorld().isRemote) {
IBlockState state = e.getState();
float f = random.nextFloat();
if (state.equals(Blocks.STONE.getDefaultState())) {
e.getDrops().clear();
if (f < .3f) {
e.getDrops().add(new ItemStack(Blocks.SAND));
} else if (f < .6f) {
e.getDrops().add(new ItemStack(Blocks.GRAVEL));
} else if (f <= .9f) {
e.getDrops().add(new ItemStack(Blocks.COBBLESTONE));
} else e.getDrops().add(new ItemStack(Blocks.STONE));
}
}
}
}

View File

@@ -29,7 +29,7 @@ public class TraitPulverizing extends AbstractTrait {
@Override
public void blockHarvestDrops(ItemStack tool, BlockEvent.HarvestDropsEvent event) {
if (random.nextFloat() < 0.9) {
if (random.nextFloat() < 0.6) {
event.getDrops().clear();
}
}

View File

@@ -20,7 +20,7 @@ import slimeknights.tconstruct.library.utils.TinkerUtil;
public class TraitSuperHeavy extends TraitProgressiveStats {
protected static int TICK_PER_STAT = 50;
protected static float blockcount = 250f;
protected static float blockcount = 500f;
public TraitSuperHeavy() {
super(TraitSuperHeavy.class.getSimpleName().toLowerCase().substring(5), TextFormatting.DARK_GRAY);
@@ -33,7 +33,7 @@ public class TraitSuperHeavy extends TraitProgressiveStats {
NBTTagCompound tag = TagUtil.getExtraTag(tool);
Utils.GeneralNBTData data = Utils.GeneralNBTData.read(tag);
if (data.brokenblocks == 0) return;
event.setNewSpeed(Math.max(event.getNewSpeed() - data.brokenblocks * event.getOriginalSpeed() / blockcount, 0.25f));
event.setNewSpeed(Math.max(event.getNewSpeed() - data.brokenblocks * event.getOriginalSpeed() / blockcount, 0.35f));
}
@Override