From c76496932a1c85c63007b364fd6d2ea635c46e1a Mon Sep 17 00:00:00 2001 From: Giovanni Harting <539@idlegandalf.com> Date: Mon, 13 Jun 2016 20:26:51 +0200 Subject: fixed some stuff --- src/main/java/com/sosnitzka/ztic_addon/ZTiC.java | 2 +- .../ztic_addon/traits/TraitAnalysing.java | 68 ++++++++++++++++++ .../sosnitzka/ztic_addon/traits/TraitFracture.java | 69 ++++++++++++++++++ .../sosnitzka/ztic_addon/traits/TraitGarishly.java | 83 ++++++++++++++++++++++ .../sosnitzka/ztic_addon/traits/TraitGlimmer.java | 16 +++++ .../sosnitzka/ztic_addon/traits/TraitHaunted.java | 16 +++++ .../sosnitzka/ztic_addon/traits/TraitInstable.java | 50 +++++++++++++ .../ztic_addon/traits/TraitPulverizing.java | 43 +++++++++++ .../ztic_addon/traits/TraitResonance.java | 33 +++++++++ .../ztic_addon/util/traits/TraitAnalysing.java | 68 ------------------ .../ztic_addon/util/traits/TraitFracture.java | 69 ------------------ .../ztic_addon/util/traits/TraitGarishly.java | 83 ---------------------- .../ztic_addon/util/traits/TraitGlimmer.java | 16 ----- .../ztic_addon/util/traits/TraitHaunted.java | 16 ----- .../ztic_addon/util/traits/TraitInstable.java | 54 -------------- .../ztic_addon/util/traits/TraitPulverizing.java | 43 ----------- .../ztic_addon/util/traits/TraitResonance.java | 33 --------- 17 files changed, 379 insertions(+), 383 deletions(-) create mode 100644 src/main/java/com/sosnitzka/ztic_addon/traits/TraitAnalysing.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/traits/TraitFracture.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/traits/TraitGarishly.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/traits/TraitGlimmer.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/traits/TraitHaunted.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/traits/TraitInstable.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/traits/TraitPulverizing.java create mode 100644 src/main/java/com/sosnitzka/ztic_addon/traits/TraitResonance.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitAnalysing.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitFracture.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitGarishly.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitGlimmer.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitHaunted.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitInstable.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitPulverizing.java delete mode 100644 src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitResonance.java (limited to 'src/main/java/com') diff --git a/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java b/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java index 27d3fab..0ab074a 100644 --- a/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java +++ b/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java @@ -4,8 +4,8 @@ import com.google.common.collect.Lists; import com.sosnitzka.ztic_addon.proxy.ServerProxy; import com.sosnitzka.ztic_addon.recipes.Crafting; import com.sosnitzka.ztic_addon.recipes.Smelting; +import com.sosnitzka.ztic_addon.traits.*; import com.sosnitzka.ztic_addon.util.FuelHandler; -import com.sosnitzka.ztic_addon.util.traits.*; import com.sosnitzka.ztic_addon.world.ZWorldGen; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fml.common.Mod; diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitAnalysing.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitAnalysing.java new file mode 100644 index 0000000..68f3f56 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitAnalysing.java @@ -0,0 +1,68 @@ +package com.sosnitzka.ztic_addon.traits; + +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.text.TextFormatting; +import net.minecraft.world.World; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.entity.living.LivingExperienceDropEvent; +import net.minecraftforge.event.world.BlockEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import slimeknights.tconstruct.library.traits.AbstractTrait; +import slimeknights.tconstruct.library.utils.TagUtil; +import slimeknights.tconstruct.library.utils.TinkerUtil; + +/** + * Created by Robert on 09.06.2016. + */ +public class TraitAnalysing extends AbstractTrait { + + public TraitAnalysing() { + super("analysing", TextFormatting.GREEN); + MinecraftForge.EVENT_BUS.register(this); + } + + @SubscribeEvent + public void onXpDrop(LivingExperienceDropEvent event) { + EntityPlayer player = event.getAttackingPlayer(); + if (player != null && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), this.identifier)) { + event.setDroppedExperience(this.getUpdateXP(event.getDroppedExperience())); + } + + } + + @SubscribeEvent + public void onBlockBreak(BlockEvent.BreakEvent event) { + EntityPlayer player = event.getPlayer(); + if (player != null && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), this.identifier)) { + event.setExpToDrop(this.getUpdateXP(event.getExpToDrop())); + } + + } + + @SubscribeEvent + public void onMobDrops(LivingDropsEvent event) { + World w = event.getEntity().getEntityWorld(); + if (event.getSource().getEntity() instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) event.getSource().getEntity(); + if (!w.isRemote && event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) { + event.getDrops().clear(); + } + } + } + + private int getUpdateXP(int xp) { + float exp = (float) random.nextFloat() * random.nextFloat() * random.nextFloat() * (xp + 8) * 50; + return Math.round(exp); + } + + @Override + public void blockHarvestDrops(ItemStack tool, BlockEvent.HarvestDropsEvent event) { + if (random.nextFloat() < 0.75) { + event.getDrops().clear(); + } + } + +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitFracture.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitFracture.java new file mode 100644 index 0000000..67954f9 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitFracture.java @@ -0,0 +1,69 @@ +package com.sosnitzka.ztic_addon.traits; + +import net.minecraft.block.state.IBlockState; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.util.text.TextFormatting; +import net.minecraft.world.World; +import slimeknights.tconstruct.library.tools.ToolCore; +import slimeknights.tconstruct.library.traits.AbstractTrait; +import slimeknights.tconstruct.library.utils.ToolHelper; + +/** + * Created by Robert on 03.06.2016. + */ +public class TraitFracture extends AbstractTrait { + + public TraitFracture() { + super("fracture", TextFormatting.DARK_GRAY); + } + + @Override + public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) { + float f = random.nextFloat(); + float b = 0.99F * calcBonus(tool); + if (!world.isRemote && tool.canHarvestBlock(state) && f >= b) { + RayTraceResult mop = ((ToolCore) tool.getItem()).rayTrace(world, (EntityPlayer) player, false); + if (mop == null) return; + for (int i = random.nextInt(5) + 1; i >= 0; i--) { + switch (mop.sideHit) { + case UP: + BlockPos next1 = new BlockPos(pos.getX(), pos.getY() - i, pos.getZ()); + if (tool.canHarvestBlock(world.getBlockState(next1))) world.destroyBlock(next1, true); + break; + case DOWN: + BlockPos next2 = new BlockPos(pos.getX(), pos.getY() + i, pos.getZ()); + if (tool.canHarvestBlock(world.getBlockState(next2))) world.destroyBlock(next2, true); + break; + case WEST: + BlockPos next3 = new BlockPos(pos.getX() + i, pos.getY(), pos.getZ()); + if (tool.canHarvestBlock(world.getBlockState(next3))) world.destroyBlock(next3, true); + break; + case EAST: + BlockPos next4 = new BlockPos(pos.getX() - i, pos.getY(), pos.getZ()); + if (tool.canHarvestBlock(world.getBlockState(next4))) world.destroyBlock(next4, true); + break; + case SOUTH: + BlockPos next5 = new BlockPos(pos.getX(), pos.getY(), pos.getZ() - i); + if (tool.canHarvestBlock(world.getBlockState(next5))) world.destroyBlock(next5, true); + break; + case NORTH: + BlockPos next6 = new BlockPos(pos.getX(), pos.getY() - i, pos.getZ() + i); + if (tool.canHarvestBlock(world.getBlockState(next6))) world.destroyBlock(next6, true); + break; + } + } + if (random.nextBoolean()) ToolHelper.damageTool(tool, random.nextInt(5), player); + } + + } + + private float calcBonus(ItemStack tool) { + int durability = ToolHelper.getCurrentDurability(tool); + int maxDurability = ToolHelper.getMaxDurability(tool); + return (0.4f) / (maxDurability - 50) * (durability) + 0.55f; + } +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitGarishly.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitGarishly.java new file mode 100644 index 0000000..9089b45 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitGarishly.java @@ -0,0 +1,83 @@ +package com.sosnitzka.ztic_addon.traits; + +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.text.TextFormatting; +import net.minecraft.world.World; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.entity.living.LivingDropsEvent; +import net.minecraftforge.event.world.BlockEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import slimeknights.tconstruct.library.traits.AbstractTrait; +import slimeknights.tconstruct.library.utils.TagUtil; +import slimeknights.tconstruct.library.utils.TinkerUtil; +import slimeknights.tconstruct.library.utils.ToolHelper; + +import static com.sosnitzka.ztic_addon.Items.*; + +/** + * Created by Robert on 03.06.2016. + */ +public class TraitGarishly extends AbstractTrait { + + public TraitGarishly() { + super("garishly", TextFormatting.YELLOW); + MinecraftForge.EVENT_BUS.register(this); + } + + @SubscribeEvent + public void onMobDrops(LivingDropsEvent event) { + World w = event.getEntity().getEntityWorld(); + if (event.getSource().getEntity() instanceof EntityPlayer) { + EntityPlayer player = (EntityPlayer) event.getSource().getEntity(); + if (!w.isRemote && event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) { + + int r = random.nextInt(5); + ItemStack i = null; + switch (r) { + case 0: + i = new ItemStack(Items.BLAZE_POWDER, random.nextInt(3) + 1); + break; + case 1: + i = new ItemStack(Items.BLAZE_ROD, random.nextInt(2) + 1); + break; + case 2: + i = new ItemStack(glimmerstone_dust, random.nextInt(3)); + break; + case 3: + i = new ItemStack(luminar_dust, random.nextInt(3)); + break; + case 4: + i = new ItemStack(Items.COAL, random.nextInt(3) + 1); + break; + case 5: + i = new ItemStack(lignite, random.nextInt(3) + 1); + break; + } + + event.getDrops().add(0, new EntityItem(w, event.getEntity().posX, event.getEntity().posY, event.getEntity().posZ, i)); + } + } + } + + @Override + public void blockHarvestDrops(ItemStack tool, BlockEvent.HarvestDropsEvent event) { + int i = random.nextInt(10); + if (i == 9) event.getDrops().clear(); + else if (i == 2 || i == 1 || i == 3) { + ItemStack stack = new ItemStack(Item.getItemFromBlock(event.getWorld().getBlockState(event.getPos()).getBlock()), i); + event.getDrops().add(0, stack); + ToolHelper.damageTool(tool, i * 2, event.getHarvester()); + } else if (i == 0) event.getWorld().setBlockState(event.getPos(), Blocks.LAVA.getDefaultState()); + } + + +} + + + diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitGlimmer.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitGlimmer.java new file mode 100644 index 0000000..6625f3c --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitGlimmer.java @@ -0,0 +1,16 @@ +package com.sosnitzka.ztic_addon.traits; + +import net.minecraft.util.text.TextFormatting; +import slimeknights.tconstruct.library.traits.AbstractTrait; + +/** + * Created by Robert on 03.06.2016. + */ +public class TraitGlimmer extends AbstractTrait { + + public TraitGlimmer() { + super("glimmer", TextFormatting.DARK_GRAY); + } + + +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitHaunted.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitHaunted.java new file mode 100644 index 0000000..86a54f9 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitHaunted.java @@ -0,0 +1,16 @@ +package com.sosnitzka.ztic_addon.traits; + +import net.minecraft.util.text.TextFormatting; +import slimeknights.tconstruct.library.traits.AbstractTrait; + +/** + * Created by Robert on 03.06.2016. + */ +public class TraitHaunted extends AbstractTrait { + + public TraitHaunted() { + super("haunted", TextFormatting.DARK_GRAY); + } + + +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitInstable.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitInstable.java new file mode 100644 index 0000000..f137cd9 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitInstable.java @@ -0,0 +1,50 @@ +package com.sosnitzka.ztic_addon.traits; + +import net.minecraft.block.state.IBlockState; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; +import net.minecraft.util.text.TextFormatting; +import net.minecraft.world.World; +import slimeknights.tconstruct.library.traits.AbstractTrait; +import slimeknights.tconstruct.library.utils.ToolHelper; + + +public class TraitInstable extends AbstractTrait { + + + public TraitInstable() { + super("instable", TextFormatting.DARK_RED); + } + + @Override + public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) { + if (MathHelper.getRandomIntegerInRange(random, 0, 100) > 2) { + if (!world.isRemote) { + if (random.nextBoolean()) { + explode(world, player, pos.getX(), pos.getY(), pos.getZ()); + } else explode(world, null, pos.getX(), pos.getY(), pos.getZ()); + } + ToolHelper.damageTool(tool, 11 + random.nextInt(10), null); + } + } + + @Override + public void afterHit(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, boolean wasCritical, boolean wasHit) { + BlockPos pos = target.getPosition(); + if (MathHelper.getRandomIntegerInRange(random, 0, 100) > 2) { + if (!player.getEntityWorld().isRemote) { + if (random.nextBoolean()) { + explode(player.getEntityWorld(), player, pos.getX(), pos.getY(), pos.getZ()); + } else explode(player.getEntityWorld(), target, pos.getX(), pos.getY(), pos.getZ()); + } + ToolHelper.damageTool(tool, 3 + random.nextInt(18), null); + } + } + + private void explode(World w, Entity e, double x, double y, double z) { + w.newExplosion(e, x, y, z, 1.2f + random.nextFloat() * 5, random.nextBoolean(), true); + } +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitPulverizing.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitPulverizing.java new file mode 100644 index 0000000..678dff9 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitPulverizing.java @@ -0,0 +1,43 @@ +package com.sosnitzka.ztic_addon.traits; + +import net.minecraft.item.ItemStack; +import net.minecraft.util.text.TextFormatting; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.BlockEvent; +import slimeknights.tconstruct.library.traits.AbstractTrait; +import slimeknights.tconstruct.library.utils.ToolHelper; + +/** + * Created by Robert on 03.06.2016. + */ +public class TraitPulverizing extends AbstractTrait { + + public TraitPulverizing() { + super("pulverizing", TextFormatting.DARK_GRAY); + MinecraftForge.EVENT_BUS.register(this); + } + + @Override + public void miningSpeed(ItemStack tool, PlayerEvent.BreakSpeed event) { + if (ToolHelper.isToolEffective2(tool, event.getState())) { + event.setNewSpeed((float) (event.getNewSpeed() + calcBonus(tool))); + } + } + + private double calcBonus(ItemStack tool) { + int durability = ToolHelper.getCurrentDurability(tool); + int maxDurability = ToolHelper.getMaxDurability(tool); + float speed = ToolHelper.getMiningSpeedStat(tool); + return speed * (maxDurability - maxDurability / 10) / (durability); + } + + + @Override + public void blockHarvestDrops(ItemStack tool, BlockEvent.HarvestDropsEvent event) { + if (random.nextFloat() < 0.9) { + event.getDrops().clear(); + } + } + +} diff --git a/src/main/java/com/sosnitzka/ztic_addon/traits/TraitResonance.java b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitResonance.java new file mode 100644 index 0000000..38bc102 --- /dev/null +++ b/src/main/java/com/sosnitzka/ztic_addon/traits/TraitResonance.java @@ -0,0 +1,33 @@ +package com.sosnitzka.ztic_addon.traits; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.util.text.TextComponentString; +import net.minecraft.util.text.TextFormatting; +import net.minecraftforge.common.MinecraftForge; +import slimeknights.tconstruct.library.traits.AbstractTrait; + +/** + * Created by Robert on 14.05.2016. + */ +public class TraitResonance extends AbstractTrait { + + + public TraitResonance() { + super("resonance", TextFormatting.AQUA); + MinecraftForge.EVENT_BUS.register(this); + } + + @Override + public void afterHit(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, boolean wasCritical, boolean wasHit) { + if (random.nextBoolean() && random.nextBoolean()) { + target.knockBack(target, random.nextFloat() * random.nextFloat() * 10, player.posX - target.posX, player.posZ - target.posZ); + if (random.nextBoolean()) player.addChatMessage(new TextComponentString("Boinggg!")); + } + } + + +} + + + diff --git a/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitAnalysing.java b/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitAnalysing.java deleted file mode 100644 index 2816d42..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitAnalysing.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.sosnitzka.ztic_addon.util.traits; - -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.text.TextFormatting; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.living.LivingDropsEvent; -import net.minecraftforge.event.entity.living.LivingExperienceDropEvent; -import net.minecraftforge.event.world.BlockEvent; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import slimeknights.tconstruct.library.traits.AbstractTrait; -import slimeknights.tconstruct.library.utils.TagUtil; -import slimeknights.tconstruct.library.utils.TinkerUtil; - -/** - * Created by Robert on 09.06.2016. - */ -public class TraitAnalysing extends AbstractTrait { - - public TraitAnalysing() { - super("analysing", TextFormatting.GREEN); - MinecraftForge.EVENT_BUS.register(this); - } - - @SubscribeEvent - public void onXpDrop(LivingExperienceDropEvent event) { - EntityPlayer player = event.getAttackingPlayer(); - if (player != null && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), this.identifier)) { - event.setDroppedExperience(this.getUpdateXP(event.getDroppedExperience())); - } - - } - - @SubscribeEvent - public void onBlockBreak(BlockEvent.BreakEvent event) { - EntityPlayer player = event.getPlayer(); - if (player != null && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), this.identifier)) { - event.setExpToDrop(this.getUpdateXP(event.getExpToDrop())); - } - - } - - @SubscribeEvent - public void onMobDrops(LivingDropsEvent event) { - World w = event.getEntity().getEntityWorld(); - if (event.getSource().getEntity() instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) event.getSource().getEntity(); - if (!w.isRemote && event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) { - event.getDrops().clear(); - } - } - } - - private int getUpdateXP(int xp) { - float exp = (float) random.nextFloat() * random.nextFloat() * random.nextFloat() * (xp + 8) * 50; - return Math.round(exp); - } - - @Override - public void blockHarvestDrops(ItemStack tool, BlockEvent.HarvestDropsEvent event) { - if (random.nextFloat() < 0.75) { - event.getDrops().clear(); - } - } - -} diff --git a/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitFracture.java b/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitFracture.java deleted file mode 100644 index 3db0987..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitFracture.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.sosnitzka.ztic_addon.util.traits; - -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.RayTraceResult; -import net.minecraft.util.text.TextFormatting; -import net.minecraft.world.World; -import slimeknights.tconstruct.library.tools.ToolCore; -import slimeknights.tconstruct.library.traits.AbstractTrait; -import slimeknights.tconstruct.library.utils.ToolHelper; - -/** - * Created by Robert on 03.06.2016. - */ -public class TraitFracture extends AbstractTrait { - - public TraitFracture() { - super("fracture", TextFormatting.DARK_GRAY); - } - - @Override - public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) { - float f = random.nextFloat(); - float b = 0.99F * calcBonus(tool); - if (!world.isRemote && tool.canHarvestBlock(state) && f >= b) { - RayTraceResult mop = ((ToolCore) tool.getItem()).rayTrace(world, (EntityPlayer) player, false); - if (mop == null) return; - for (int i = random.nextInt(5) + 1; i >= 0; i--) { - switch (mop.sideHit) { - case UP: - BlockPos next1 = new BlockPos(pos.getX(), pos.getY() - i, pos.getZ()); - if (tool.canHarvestBlock(world.getBlockState(next1))) world.destroyBlock(next1, true); - break; - case DOWN: - BlockPos next2 = new BlockPos(pos.getX(), pos.getY() + i, pos.getZ()); - if (tool.canHarvestBlock(world.getBlockState(next2))) world.destroyBlock(next2, true); - break; - case WEST: - BlockPos next3 = new BlockPos(pos.getX() + i, pos.getY(), pos.getZ()); - if (tool.canHarvestBlock(world.getBlockState(next3))) world.destroyBlock(next3, true); - break; - case EAST: - BlockPos next4 = new BlockPos(pos.getX() - i, pos.getY(), pos.getZ()); - if (tool.canHarvestBlock(world.getBlockState(next4))) world.destroyBlock(next4, true); - break; - case SOUTH: - BlockPos next5 = new BlockPos(pos.getX(), pos.getY(), pos.getZ() - i); - if (tool.canHarvestBlock(world.getBlockState(next5))) world.destroyBlock(next5, true); - break; - case NORTH: - BlockPos next6 = new BlockPos(pos.getX(), pos.getY() - i, pos.getZ() + i); - if (tool.canHarvestBlock(world.getBlockState(next6))) world.destroyBlock(next6, true); - break; - } - } - if (random.nextBoolean()) ToolHelper.damageTool(tool, random.nextInt(5), player); - } - - } - - private float calcBonus(ItemStack tool) { - int durability = ToolHelper.getCurrentDurability(tool); - int maxDurability = ToolHelper.getMaxDurability(tool); - return (0.4f) / (maxDurability - 50) * (durability) + 0.55f; - } -} diff --git a/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitGarishly.java b/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitGarishly.java deleted file mode 100644 index 746206a..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitGarishly.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.sosnitzka.ztic_addon.util.traits; - -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.text.TextFormatting; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.living.LivingDropsEvent; -import net.minecraftforge.event.world.BlockEvent; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import slimeknights.tconstruct.library.traits.AbstractTrait; -import slimeknights.tconstruct.library.utils.TagUtil; -import slimeknights.tconstruct.library.utils.TinkerUtil; -import slimeknights.tconstruct.library.utils.ToolHelper; - -import static com.sosnitzka.ztic_addon.Items.*; - -/** - * Created by Robert on 03.06.2016. - */ -public class TraitGarishly extends AbstractTrait { - - public TraitGarishly() { - super("garishly", TextFormatting.YELLOW); - MinecraftForge.EVENT_BUS.register(this); - } - - @SubscribeEvent - public void onMobDrops(LivingDropsEvent event) { - World w = event.getEntity().getEntityWorld(); - if (event.getSource().getEntity() instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) event.getSource().getEntity(); - if (!w.isRemote && event.getEntity() instanceof EntityMob && TinkerUtil.hasTrait(TagUtil.getTagSafe(player.getHeldItemMainhand()), identifier)) { - - int r = random.nextInt(5); - ItemStack i = null; - switch (r) { - case 0: - i = new ItemStack(Items.BLAZE_POWDER, random.nextInt(3) + 1); - break; - case 1: - i = new ItemStack(Items.BLAZE_ROD, random.nextInt(2) + 1); - break; - case 2: - i = new ItemStack(glimmerstone_dust, random.nextInt(3)); - break; - case 3: - i = new ItemStack(luminar_dust, random.nextInt(3)); - break; - case 4: - i = new ItemStack(Items.COAL, random.nextInt(3) + 1); - break; - case 5: - i = new ItemStack(lignite, random.nextInt(3) + 1); - break; - } - - event.getDrops().add(0, new EntityItem(w, event.getEntity().posX, event.getEntity().posY, event.getEntity().posZ, i)); - } - } - } - - @Override - public void blockHarvestDrops(ItemStack tool, BlockEvent.HarvestDropsEvent event) { - int i = random.nextInt(10); - if (i == 9) event.getDrops().clear(); - else if (i == 2 || i == 1 || i == 3) { - ItemStack stack = new ItemStack(Item.getItemFromBlock(event.getWorld().getBlockState(event.getPos()).getBlock()), i); - event.getDrops().add(0, stack); - ToolHelper.damageTool(tool, i * 2, event.getHarvester()); - } else if (i == 0) event.getWorld().setBlockState(event.getPos(), Blocks.LAVA.getDefaultState()); - } - - -} - - - diff --git a/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitGlimmer.java b/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitGlimmer.java deleted file mode 100644 index ebbb38b..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitGlimmer.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.sosnitzka.ztic_addon.util.traits; - -import net.minecraft.util.text.TextFormatting; -import slimeknights.tconstruct.library.traits.AbstractTrait; - -/** - * Created by Robert on 03.06.2016. - */ -public class TraitGlimmer extends AbstractTrait { - - public TraitGlimmer() { - super("glimmer", TextFormatting.DARK_GRAY); - } - - -} diff --git a/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitHaunted.java b/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitHaunted.java deleted file mode 100644 index 97d4cbf..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitHaunted.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.sosnitzka.ztic_addon.util.traits; - -import net.minecraft.util.text.TextFormatting; -import slimeknights.tconstruct.library.traits.AbstractTrait; - -/** - * Created by Robert on 03.06.2016. - */ -public class TraitHaunted extends AbstractTrait { - - public TraitHaunted() { - super("haunted", TextFormatting.DARK_GRAY); - } - - -} diff --git a/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitInstable.java b/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitInstable.java deleted file mode 100644 index 121b3ef..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitInstable.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.sosnitzka.ztic_addon.util.traits; - -import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.text.TextFormatting; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import slimeknights.tconstruct.library.traits.AbstractTrait; -import slimeknights.tconstruct.library.utils.ToolHelper; - -/** - * Created by Robert on 14.05.2016. - */ -public class TraitInstable extends AbstractTrait { - - - public TraitInstable() { - super("instable", TextFormatting.DARK_RED); - MinecraftForge.EVENT_BUS.register(this); - } - - @Override - public void afterBlockBreak(ItemStack tool, World world, IBlockState state, BlockPos pos, EntityLivingBase player, boolean wasEffective) { - if (MathHelper.getRandomIntegerInRange(random, 0, 100) > 2) { - if (!world.isRemote) { - if (random.nextBoolean()) { - Explode(player, pos.getX(), pos.getY(), pos.getZ()); - } else Explode(null, pos.getX(), pos.getY(), pos.getZ()); - } - ToolHelper.damageTool(tool, 11 + random.nextInt(10), null); - } - } - - @Override - public void afterHit(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, boolean wasCritical, boolean wasHit) { - BlockPos pos = target.getPosition(); - if (MathHelper.getRandomIntegerInRange(random, 0, 100) > 2) { - if (!player.getEntityWorld().isRemote) { - if (random.nextBoolean()) { - Explode(player, pos.getX(), pos.getY(), pos.getZ()); - } else Explode(target, pos.getX(), pos.getY(), pos.getZ()); - } - ToolHelper.damageTool(tool, 3 + random.nextInt(18), null); - } - } - - private void Explode(EntityLivingBase e, double x, double y, double z) { - e.getEntityWorld().newExplosion(e, x, y, z, 1.2f + random.nextFloat() * 5, random.nextBoolean(), true); - } - -} diff --git a/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitPulverizing.java b/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitPulverizing.java deleted file mode 100644 index 75462a9..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitPulverizing.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.sosnitzka.ztic_addon.util.traits; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.text.TextFormatting; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.PlayerEvent; -import net.minecraftforge.event.world.BlockEvent; -import slimeknights.tconstruct.library.traits.AbstractTrait; -import slimeknights.tconstruct.library.utils.ToolHelper; - -/** - * Created by Robert on 03.06.2016. - */ -public class TraitPulverizing extends AbstractTrait { - - public TraitPulverizing() { - super("pulverizing", TextFormatting.DARK_GRAY); - MinecraftForge.EVENT_BUS.register(this); - } - - @Override - public void miningSpeed(ItemStack tool, PlayerEvent.BreakSpeed event) { - if (ToolHelper.isToolEffective2(tool, event.getState())) { - event.setNewSpeed((float) (event.getNewSpeed() + calcBonus(tool))); - } - } - - private double calcBonus(ItemStack tool) { - int durability = ToolHelper.getCurrentDurability(tool); - int maxDurability = ToolHelper.getMaxDurability(tool); - float speed = ToolHelper.getMiningSpeedStat(tool); - return speed * (maxDurability - maxDurability / 10) / (durability); - } - - - @Override - public void blockHarvestDrops(ItemStack tool, BlockEvent.HarvestDropsEvent event) { - if (random.nextFloat() < 0.9) { - event.getDrops().clear(); - } - } - -} diff --git a/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitResonance.java b/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitResonance.java deleted file mode 100644 index 54317ed..0000000 --- a/src/main/java/com/sosnitzka/ztic_addon/util/traits/TraitResonance.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.sosnitzka.ztic_addon.util.traits; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; -import net.minecraft.util.text.TextComponentString; -import net.minecraft.util.text.TextFormatting; -import net.minecraftforge.common.MinecraftForge; -import slimeknights.tconstruct.library.traits.AbstractTrait; - -/** - * Created by Robert on 14.05.2016. - */ -public class TraitResonance extends AbstractTrait { - - - public TraitResonance() { - super("resonance", TextFormatting.AQUA); - MinecraftForge.EVENT_BUS.register(this); - } - - @Override - public void afterHit(ItemStack tool, EntityLivingBase player, EntityLivingBase target, float damage, boolean wasCritical, boolean wasHit) { - if (random.nextBoolean() && random.nextBoolean()) { - target.knockBack(target, random.nextFloat() * random.nextFloat() * 10, player.posX - target.posX, player.posZ - target.posZ); - if (random.nextBoolean()) player.addChatMessage(new TextComponentString("Boinggg!")); - } - } - - -} - - - -- cgit v1.2.3