Skip to content

Commit

Permalink
Change Death penality to take difficulty into account. Easy/Peaceful …
Browse files Browse the repository at this point in the history
…= no penality, normal = 5%, hard = 10%
  • Loading branch information
bonii-xx committed Oct 8, 2014
1 parent 72c180f commit 729d6a2
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions src/main/java/tconstruct/tools/TinkerToolEvents.java
Expand Up @@ -13,6 +13,7 @@
import net.minecraft.item.*;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.*;
import net.minecraft.world.EnumDifficulty;
import net.minecraftforge.event.entity.living.*;
import net.minecraftforge.event.entity.player.PlayerDropsEvent;
import net.minecraftforge.oredict.*;
Expand Down Expand Up @@ -436,12 +437,22 @@ else if (evt.Name.equals("crystalCertusQuartz"))
}



@SubscribeEvent
public void damageToolsOnDeath (PlayerDropsEvent event)
{
if(!PHConstruct.deathPenality)
return;


EnumDifficulty difficulty = event.entityPlayer.worldObj.difficultySetting;
// easy and peaceful don't punish
if(difficulty == EnumDifficulty.PEACEFUL || difficulty == EnumDifficulty.EASY)
return;

int punishment = 20; // normal has 5%
if(difficulty == EnumDifficulty.HARD)
punishment = 10; // hard has 10%

for(EntityItem drop : event.drops)
{
// we're only interested in tools
Expand All @@ -451,7 +462,7 @@ public void damageToolsOnDeath (PlayerDropsEvent event)
// damage tools by 10% of their total durability!
NBTTagCompound tags = drop.getEntityItem().getTagCompound().getCompoundTag("InfiTool");
int dur = tags.getInteger("TotalDurability");
dur /= 10;
dur /= punishment;

AbilityHelper.damageTool(drop.getEntityItem(), dur, event.entityPlayer, true);
}
Expand Down

0 comments on commit 729d6a2

Please sign in to comment.