fix(pocket-base): accept recovery compass metadata
Release / release (push) Successful in 2m47s
CI / build (push) Successful in 1m17s

This commit is contained in:
dmg
2026-08-29 14:51:56 -04:00
parent 61e7a01374
commit c42ba6888a
4 changed files with 28 additions and 3 deletions
@@ -27,7 +27,6 @@ import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.ShapedRecipe;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.CompassMeta;
import org.bukkit.persistence.PersistentDataType;
final class PocketBaseKeystoneService implements Listener {
@@ -201,8 +200,13 @@ final class PocketBaseKeystoneService implements Listener {
static ItemStack createKeystone(NamespacedKey markerKey) {
ItemStack item = new ItemStack(Material.RECOVERY_COMPASS);
decorateKeystone(item, markerKey);
return item;
}
static void decorateKeystone(ItemStack item, NamespacedKey markerKey) {
ItemMeta metadata = item.getItemMeta();
if (!(metadata instanceof CompassMeta)) {
if (metadata == null) {
throw new IllegalStateException("Recovery Compass metadata is unavailable");
}
metadata.displayName(Component.text(
@@ -218,7 +222,6 @@ final class PocketBaseKeystoneService implements Listener {
markerKey, PersistentDataType.BYTE, (byte) 1
);
item.setItemMeta(metadata);
return item;
}
static RecipeSpec recipeSpecification() {