Fix scores for 1.12
This commit is contained in:
parent
4c7ba6a9ad
commit
6c2cd6ac7a
@ -184,11 +184,16 @@ public class ReflectionManager {
|
||||
noDamageTicks = getNmsField("Entity", "noDamageTicks");
|
||||
isInvul = getNmsMethod("Entity", "isInvulnerable", getNmsClass("DamageSource"));
|
||||
genericDamage = getNmsField("DamageSource", "GENERIC").get(null);
|
||||
boardField = getCraftClass("scoreboard.CraftScoreboard").getDeclaredField("board");
|
||||
boardField = getCraftClass("scoreboard.CraftScoreboard").getDeclaredField("board");
|
||||
boardField.setAccessible(true);
|
||||
scoreboardCrtieriaHealth = getNmsField("IScoreboardCriteria", "HEALTH").get(null);
|
||||
setScore = getNmsMethod("ScoreboardScore", "setScore", int.class);
|
||||
getObjectives = getNmsMethod("Scoreboard", "getObjectivesForCriteria", getNmsClass("IScoreboardCriteria"), String.class, Consumer.class);
|
||||
|
||||
if (!NmsVersion.v1_13.isSupported()) {
|
||||
getObjectives = getNmsMethod("Scoreboard", "getScoreboardScores", getNmsClass("IScoreboardCriteria"), String.class, ArrayList.class);
|
||||
} else {
|
||||
getObjectives = getNmsMethod("Scoreboard", "getObjectivesForCriteria", getNmsClass("IScoreboardCriteria"), String.class, Consumer.class);
|
||||
}
|
||||
|
||||
Method method = getNmsMethod("SoundCategory", "a");
|
||||
|
||||
@ -1932,6 +1937,16 @@ public class ReflectionManager {
|
||||
try {
|
||||
Object board = boardField.get(scoreboard);
|
||||
|
||||
if (!NmsVersion.v1_13.isSupported()) {
|
||||
Collection scores = (Collection) getObjectives.invoke(board, criteria, name, new ArrayList<>());
|
||||
|
||||
for (Object obj : scores) {
|
||||
setScore.invoke(obj, score);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
Consumer con = o -> {
|
||||
try {
|
||||
setScore.invoke(o, score);
|
||||
|
Loading…
Reference in New Issue
Block a user