Mojira Archive
MC-118008

XpTotal value used as value for xp scoreboard objectives and query result of xp command is never decreased and does not change when the experience level changes

The bug

The value of the XpTotal tag of a player which is used as value for scoreboard objectives of the criteria type xp and the query result of the /xp command when giving experience (not levels) does not account for level changes.
It is basically the number of experience the player has collected. It only resets to 0 when the player would have a negative experience level.

Affected events:

  • Enchanting
  • Using an anvil
  • Adding or removing levels using /xp

How to reproduce

  1. Create a scoreboard objective tracking the xp of a player
    /scoreboard objectives add xp xp
    /scoreboard objectives setdisplay sidebar xp
    
  2. Use for example the /xp command
    /xp add @s 10 levels
    

    The score does not update

Code analysis

Based on 1.11.2 decompiled using MCP 9.35 rc1

The tag XpTotal (field net.minecraft.entity.player.EntityPlayer.experienceTotal) is only increased by the method net.minecraft.entity.player.EntityPlayer.addExperience(int) and additionally never decreased.

Unresolved

Wilux Dahlqvist

2017-05-29, 02:13 PM

2024-12-01, 07:50 PM

16

5

Confirmed

Normal

Platform

Commands

/experience, experience, scoreboard-objectives

Minecraft 1.11.2 - 24w45aMinecraft 1.11.2, Minecraft 1.12 Pre-Release 6, Minecraft 1.13.2, Minecraft 19w08b, Minecraft 19w09a, Minecraft 1.14.3, 1.15.1, 1.15.2, 20w17a, 1.16.2, 1.16.4, 20w48a, 21w03a, 21w05b, 1.17.1, 21w43a, 1.19.3, 23w05a, 1.21.3, 24w45a

-