From 1e440bc9b49b964b74856f8b88d380e8caffffc3 Mon Sep 17 00:00:00 2001 From: Shinare Date: Wed, 2 Oct 2024 06:35:11 +0300 Subject: [PATCH] Fixed visual bug in blocking --- .../com/zivilon/cinder_loe/CinderEventHandler.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zivilon/cinder_loe/CinderEventHandler.java b/src/main/java/com/zivilon/cinder_loe/CinderEventHandler.java index 9da3e11..6831894 100644 --- a/src/main/java/com/zivilon/cinder_loe/CinderEventHandler.java +++ b/src/main/java/com/zivilon/cinder_loe/CinderEventHandler.java @@ -13,14 +13,17 @@ import lotr.common.enchant.LOTREnchantmentHelper; import lotr.common.item.*; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.DataWatcher; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.*; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagString; +import net.minecraft.network.Packet; import net.minecraft.network.play.server.S04PacketEntityEquipment; import net.minecraft.network.play.server.S09PacketHeldItemChange; +import net.minecraft.network.play.server.S1CPacketEntityMetadata; import net.minecraft.network.play.server.S19PacketEntityStatus; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; @@ -28,6 +31,7 @@ import net.minecraft.util.ChatComponentText; import net.minecraft.util.DamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; +import net.minecraft.world.WorldServer; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.living.LivingAttackEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; @@ -126,18 +130,18 @@ public class CinderEventHandler implements IFuelHandler { float additionalDamage = 0.0f; if (weapon.getItem() instanceof ItemAxe || weapon.getItem() instanceof LOTRItemAxe || weapon.getItem() instanceof LOTRItemBattleaxe) { sword.damageItem((int) (event.ammount *1.5), player); // Axes deal 150% the Durability damage - ((EntityPlayerMP) player).playerNetServerHandler.sendPacket(new S09PacketHeldItemChange()); + player.clearItemInUse(); world.playSoundAtEntity(player, "random.anvil_land", 1F, 2F); additionalDamage = 0.75f; // Only 25% Passes through } else if (weapon.getItem() instanceof LOTRItemHammer) { sword.damageItem((int) event.ammount, player); // Hammers bypass the block better, but only deal 100% of the durability damage - ((EntityPlayerMP) player).playerNetServerHandler.sendPacket(new S09PacketHeldItemChange()); + player.clearItemInUse(); world.playSoundAtEntity(player, "random.anvil_land", 1F, 2F); additionalDamage = 0.5f; // Only 50% Passes through } else { additionalDamage = 0.0f; // 0% Damage Passes through sword.damageItem((int) (event.ammount/2), player); //Swords only deal 50% of durability damage - ((EntityPlayerMP) player).playerNetServerHandler.sendPacket(new S09PacketHeldItemChange()); + player.clearItemInUse(); world.playSoundAtEntity(player, "random.anvil_land", 1F, 2F); } @@ -263,6 +267,7 @@ public class CinderEventHandler implements IFuelHandler { } } } + private void sendNegativeModifierMessage(EntityPlayerMP player, String type) { player.addChatMessage(new ChatComponentText( EnumChatFormatting.RED + "Your " +