From d02bf6b73b353af299aa070a1fd9e54c66596bf2 Mon Sep 17 00:00:00 2001 From: mezz Date: Wed, 3 May 2017 03:00:14 -0700 Subject: [PATCH] Add mappings for tracking recent damage to entities (#155) --- .../client/gui/ingame/GuiDeath.mapping | 2 ++ .../client/player/EntityPlayerClient.mapping | 5 ++++ .../net/minecraft/entity/EntityLiving.mapping | 5 ++++ .../entity/damage/DamageRecord.mapping | 20 +++++++++++++++ .../entity/damage/DamageTracker.mapping | 25 +++++++++++++++++++ .../entity/player/EntityPlayer.mapping | 3 +++ .../packet/client/CPacketEventCombat.mapping | 11 ++++++++ 7 files changed, 71 insertions(+) create mode 100644 mappings/net/minecraft/entity/damage/DamageRecord.mapping create mode 100644 mappings/net/minecraft/entity/damage/DamageTracker.mapping diff --git a/mappings/net/minecraft/client/gui/ingame/GuiDeath.mapping b/mappings/net/minecraft/client/gui/ingame/GuiDeath.mapping index 14c86b4ea2..8d36537f54 100644 --- a/mappings/net/minecraft/client/gui/ingame/GuiDeath.mapping +++ b/mappings/net/minecraft/client/gui/ingame/GuiDeath.mapping @@ -1,6 +1,8 @@ CLASS biy net/minecraft/client/gui/ingame/GuiDeath FIELD a ticksSinceDeath I FIELD f msg Lgk; + METHOD (Lgk;)V + ARG 0 deathMessage METHOD a onKeyPressed (CI)V METHOD a draw (IIF)V METHOD a onWidgetPressed (Lbhk;)V diff --git a/mappings/net/minecraft/client/player/EntityPlayerClient.mapping b/mappings/net/minecraft/client/player/EntityPlayerClient.mapping index ddcd2b6e86..884b9563b9 100644 --- a/mappings/net/minecraft/client/player/EntityPlayerClient.mapping +++ b/mappings/net/minecraft/client/player/EntityPlayerClient.mapping @@ -33,9 +33,14 @@ CLASS bsm net/minecraft/client/player/EntityPlayerClient METHOD b heal (F)V METHOD c getBlockPos ()Ldx; METHOD c setCurrentHand (Lsw;)V + METHOD d damage (Ltm;F)V + ARG 0 damageSource + ARG 1 damage METHOD g getForwardVector (F)Lbfp; METHOD g sendChatMessage (Ljava/lang/String;)V METHOD n updateMovement ()V METHOD n setClientPermissionLevel (I)V METHOD o stopRiding ()V + METHOD q updateHealth (F)V + ARG 0 health METHOD z closeGui ()V diff --git a/mappings/net/minecraft/entity/EntityLiving.mapping b/mappings/net/minecraft/entity/EntityLiving.mapping index 062e889c04..df80d9fbcd 100644 --- a/mappings/net/minecraft/entity/EntityLiving.mapping +++ b/mappings/net/minecraft/entity/EntityLiving.mapping @@ -11,6 +11,7 @@ CLASS uk net/minecraft/entity/EntityLiving FIELD b ATTR_SPRINTING_SPEED_BOOST_ID Ljava/util/UUID; FIELD br STUCK_ARROWS Llx; FIELD bs attributeContainer Lvb; + FIELD bt damageTracker Ltl; FIELD bu activePotionEffects Ljava/util/Map; FIELD by attacker Luk; FIELD bz lastAttackedTime I @@ -70,6 +71,7 @@ CLASS uk net/minecraft/entity/EntityLiving METHOD cA getMainHand ()Luj; METHOD cK isFallFlying ()Z METHOD ca getSoundDeath ()Lpb; + METHOD cc getDamageTracker ()Ltl; METHOD ce getHealthMaximum ()F METHOD cf getStuckArrows ()I METHOD ch getAttributeContainer ()Lvb; @@ -80,6 +82,9 @@ CLASS uk net/minecraft/entity/EntityLiving METHOD cu isSleeping ()Z METHOD cw doPushLogic ()V METHOD cy getAbsorptionAmount ()F + METHOD d damage (Ltm;F)V + ARG 0 damageSource + ARG 1 damage METHOD e handleFallDamage (FF)V METHOD e getSoundFall (I)Lpb; METHOD f setStuckArrows (I)V diff --git a/mappings/net/minecraft/entity/damage/DamageRecord.mapping b/mappings/net/minecraft/entity/damage/DamageRecord.mapping new file mode 100644 index 0000000000..a4d5cbf811 --- /dev/null +++ b/mappings/net/minecraft/entity/damage/DamageRecord.mapping @@ -0,0 +1,20 @@ +CLASS tj net/minecraft/entity/damage/DamageRecord + FIELD a damageSource Ltm; + FIELD b entityAge I + FIELD c damage F + FIELD d entityHealth F + FIELD e fallDeathSuffix Ljava/lang/String; + FIELD f fallDistance F + METHOD (Ltm;IFFLjava/lang/String;F)V + ARG 0 damageSource + ARG 1 entityAge + ARG 2 entityOriginalHealth + ARG 3 damage + ARG 4 fallDeathSuffix + ARG 5 fallDistance + METHOD a getDamageSource ()Ltm; + METHOD c getDamage ()F + METHOD f isAttackerLiving ()Z + METHOD g getFallDeathSuffix ()Ljava/lang/String; + METHOD h getAttackerName ()Lgk; + METHOD j getFallDistance ()F diff --git a/mappings/net/minecraft/entity/damage/DamageTracker.mapping b/mappings/net/minecraft/entity/damage/DamageTracker.mapping new file mode 100644 index 0000000000..d20d3793f8 --- /dev/null +++ b/mappings/net/minecraft/entity/damage/DamageTracker.mapping @@ -0,0 +1,25 @@ +CLASS tl net/minecraft/entity/damage/DamageTracker + FIELD a recentDamage Ljava/util/List; + FIELD b entity Luk; + FIELD c ageOnLastDamage I + FIELD d ageOnLastAttacked I + FIELD e ageOnLastUpdate I + FIELD f recentlyAttacked Z + FIELD g hasDamage Z + FIELD h fallDeathSuffix Ljava/lang/String; + METHOD (Luk;)V + ARG 0 entity + METHOD a setFallDeathSuffix ()V + METHOD a getFallDeathSuffix (Ltj;)Ljava/lang/String; + ARG 0 damage + METHOD a onDamage (Ltm;FF)V + ARG 0 damageSource + ARG 1 originalHealth + ARG 2 damage + METHOD b getDeathMessage ()Lgk; + METHOD c getBiggestAttacker ()Luk; + METHOD f getTimeSinceLastAttack ()I + METHOD g update ()V + METHOD h getEntity ()Luk; + METHOD j getBiggestFall ()Ltj; + METHOD k clearFallDeathSuffix ()V diff --git a/mappings/net/minecraft/entity/player/EntityPlayer.mapping b/mappings/net/minecraft/entity/player/EntityPlayer.mapping index 0650928bdf..fd548ba1ea 100644 --- a/mappings/net/minecraft/entity/player/EntityPlayer.mapping +++ b/mappings/net/minecraft/entity/player/EntityPlayer.mapping @@ -108,6 +108,9 @@ CLASS acu net/minecraft/entity/player/EntityPlayer METHOD cu isSleeping ()Z METHOD cy getAbsorptionAmount ()F METHOD d getOfflinePlayerUuid (Ljava/lang/String;)Ljava/util/UUID; + METHOD d damage (Ltm;F)V + ARG 0 damageSource + ARG 1 damage METHOD da isSpawnForced ()Z METHOD db getEnchantmentTableSeed ()I METHOD dd getHungerManager ()Laef; diff --git a/mappings/net/minecraft/network/packet/client/CPacketEventCombat.mapping b/mappings/net/minecraft/network/packet/client/CPacketEventCombat.mapping index 96bce76d1f..8a2a89dbfb 100644 --- a/mappings/net/minecraft/network/packet/client/CPacketEventCombat.mapping +++ b/mappings/net/minecraft/network/packet/client/CPacketEventCombat.mapping @@ -4,6 +4,17 @@ CLASS ip net/minecraft/network/packet/client/CPacketEventCombat FIELD b END Lip$a; FIELD c DEATH Lip$a; FIELD a type Lip$a; + FIELD b entityId I + FIELD c attackerEntityId I + FIELD d timeSinceLastAttack I + FIELD e deathMessage Lgk; + METHOD (Ltl;Lip$a;)V + ARG 0 damageTracker + ARG 1 combatType + METHOD (Ltl;Lip$a;Z)V + ARG 0 damageTracker + ARG 1 combatType + ARG 2 includeDeathMessage METHOD a readPacket (Lgb;)V ARG 0 buf METHOD a applyPacket (Lge;)V