From 34557c3e83449e7598ef9ce9c20b4a326883361d Mon Sep 17 00:00:00 2001 From: micle Date: Tue, 1 Jun 2021 23:45:30 +0100 Subject: [PATCH] Straw totem fail chance decreases upon successful revival. Failed attempts with the straw totem now apply poison instead of damaging the player. --- .../totemofreviving/network/C2SRequestPlayerRevive.java | 6 +++++- .../totemofreviving/network/C2SRequestTotemCharge.java | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/micle/totemofreviving/network/C2SRequestPlayerRevive.java b/src/main/java/com/micle/totemofreviving/network/C2SRequestPlayerRevive.java index 78e3952..7b50516 100755 --- a/src/main/java/com/micle/totemofreviving/network/C2SRequestPlayerRevive.java +++ b/src/main/java/com/micle/totemofreviving/network/C2SRequestPlayerRevive.java @@ -9,6 +9,8 @@ import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.network.PacketBuffer; +import net.minecraft.potion.EffectInstance; +import net.minecraft.potion.Effects; import net.minecraft.stats.Stats; import net.minecraft.util.DamageSource; import net.minecraft.util.Hand; @@ -62,8 +64,10 @@ public class C2SRequestPlayerRevive { if (Utils.randomIntRange(0, 100) <= fail_chance) { item.getOrCreateTag().putInt(StrawTotemItem.TAG_CHARGE_AMOUNT, item.getOrCreateTag().getInt(StrawTotemItem.TAG_CHARGE_AMOUNT)-required_charge); item.getOrCreateTag().putInt(StrawTotemItem.TAG_FAIL_CHANCE, fail_chance-(5*required_charge)); - sender.hurt(DamageSource.GENERIC, (sender.getHealth() * (fail_chance / 100.0f))); + sender.addEffect(new EffectInstance(Effects.POISON, (fail_chance / 2), 2)); return; + } else { + item.getOrCreateTag().putInt(StrawTotemItem.TAG_FAIL_CHANCE, fail_chance-(5*required_charge)); } } player_to_revive.teleportTo(sender.getX(), sender.getY(), sender.getZ()); diff --git a/src/main/java/com/micle/totemofreviving/network/C2SRequestTotemCharge.java b/src/main/java/com/micle/totemofreviving/network/C2SRequestTotemCharge.java index ec069aa..f57e63a 100755 --- a/src/main/java/com/micle/totemofreviving/network/C2SRequestTotemCharge.java +++ b/src/main/java/com/micle/totemofreviving/network/C2SRequestTotemCharge.java @@ -9,6 +9,8 @@ import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.network.PacketBuffer; +import net.minecraft.potion.EffectInstance; +import net.minecraft.potion.Effects; import net.minecraft.util.DamageSource; import net.minecraft.util.Hand; import net.minecraftforge.fml.network.NetworkEvent; @@ -52,7 +54,7 @@ public class C2SRequestTotemCharge { int fail_chance = totem_item.getOrCreateTag().getInt(StrawTotemItem.TAG_FAIL_CHANCE); if (Utils.randomIntRange(0, 100) <= fail_chance) { sender.setItemInHand(msg.hand, new ItemStack(Items.AIR)); - sender.hurt(DamageSource.GENERIC, (sender.getHealth() * (fail_chance / 100.0f))); + sender.addEffect(new EffectInstance(Effects.POISON, (fail_chance / 2), 2)); } else { totem_item.getOrCreateTag().putInt(StrawTotemItem.TAG_FAIL_CHANCE, fail_chance+5); }