-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix custom statistic criteria creation (#9595)
- Loading branch information
Showing
2 changed files
with
54 additions
and
0 deletions.
There are no files selected for viewing
31 changes: 31 additions & 0 deletions
31
patches/api/0424-Fix-custom-statistic-criteria-creation.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: Noah van der Aa <ndvdaa@gmail.com> | ||
Date: Sat, 12 Aug 2023 15:33:55 +0200 | ||
Subject: [PATCH] Fix custom statistic criteria creation | ||
|
||
|
||
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java | ||
index c661eab343ae76488de701630424e2d589f44fc0..de36dab37d3af249cf51573d163731c12346066a 100644 | ||
--- a/src/main/java/org/bukkit/UnsafeValues.java | ||
+++ b/src/main/java/org/bukkit/UnsafeValues.java | ||
@@ -249,5 +249,7 @@ public interface UnsafeValues { | ||
* @throws IllegalStateException if no biome by the given key is registered. | ||
*/ | ||
void setBiomeKey(RegionAccessor accessor, int x, int y, int z, NamespacedKey biomeKey); | ||
+ | ||
+ String getStatisticCriteriaKey(@NotNull org.bukkit.Statistic statistic); | ||
// Paper end | ||
} | ||
diff --git a/src/main/java/org/bukkit/scoreboard/Criteria.java b/src/main/java/org/bukkit/scoreboard/Criteria.java | ||
index 7d79d7fadab19bfbefc4797d7e5bbd3e9d733b53..3bc3abaf093d13e22b6ac2ee59ab584c92b4666a 100644 | ||
--- a/src/main/java/org/bukkit/scoreboard/Criteria.java | ||
+++ b/src/main/java/org/bukkit/scoreboard/Criteria.java | ||
@@ -335,7 +335,7 @@ public interface Criteria { | ||
@NotNull | ||
public static Criteria statistic(@NotNull Statistic statistic) { | ||
Preconditions.checkArgument(statistic != null, "statistic must not be null"); | ||
- return Bukkit.getScoreboardCriteria("minecraft.custom:minecraft." + statistic.getKey().getKey()); | ||
+ return Bukkit.getScoreboardCriteria(org.bukkit.Bukkit.getUnsafe().getStatisticCriteriaKey(statistic)); // Paper | ||
} | ||
|
||
/** |
23 changes: 23 additions & 0 deletions
23
patches/server/1003-Fix-custom-statistic-criteria-creation.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: Noah van der Aa <ndvdaa@gmail.com> | ||
Date: Sat, 12 Aug 2023 15:33:49 +0200 | ||
Subject: [PATCH] Fix custom statistic criteria creation | ||
|
||
|
||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java | ||
index 83cef5ec27c31f133a23cd27349f722799c786ea..719e7103f7dfdc30f1cefd24a3fa572fa0ac8b1e 100644 | ||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java | ||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java | ||
@@ -622,6 +622,12 @@ public final class CraftMagicNumbers implements UnsafeValues { | ||
net.minecraft.core.Holder<net.minecraft.world.level.biome.Biome> biomeBase = cra.getHandle().registryAccess().registryOrThrow(net.minecraft.core.registries.Registries.BIOME).getHolderOrThrow(net.minecraft.resources.ResourceKey.create(net.minecraft.core.registries.Registries.BIOME, org.bukkit.craftbukkit.util.CraftNamespacedKey.toMinecraft(biomeKey))); | ||
cra.setBiome(x, y, z, biomeBase); | ||
} | ||
+ | ||
+ @Override | ||
+ public String getStatisticCriteriaKey(org.bukkit.Statistic statistic) { | ||
+ if (statistic.getType() != org.bukkit.Statistic.Type.UNTYPED) return "minecraft.custom:minecraft." + statistic.getKey().getKey(); | ||
+ return org.bukkit.craftbukkit.CraftStatistic.getNMSStatistic(statistic).getName(); | ||
+ } | ||
// Paper end | ||
|
||
/** |