From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Owen1212055 <23108066+Owen1212055@users.noreply.github.com> Date: Thu, 7 Apr 2022 17:49:25 -0400 Subject: [PATCH] Nameable Banner API diff --git a/src/main/java/net/minecraft/world/level/block/entity/BannerBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BannerBlockEntity.java index 2656e06ab2269141a13011eaa906f601887ca3e2..26d2f63d2add276a2f51c399f494a7219413d3e3 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BannerBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BannerBlockEntity.java @@ -29,7 +29,7 @@ public class BannerBlockEntity extends BlockEntity implements Nameable { public static final int MAX_PATTERNS = 6; private static final String TAG_PATTERNS = "patterns"; @Nullable - private Component name; + public Component name; // Paper - public public DyeColor baseColor; private BannerPatternLayers patterns; diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBanner.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBanner.java index 26ae3fe910964193c7fb22b8b644d5c0476f8d3d..65a9213ce8197d50a58f94edfd60c25c2be848be 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBanner.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBanner.java @@ -110,4 +110,26 @@ public class CraftBanner extends CraftBlockEntityState implem public CraftBanner copy(Location location) { return new CraftBanner(this, location); } + + // Paper start + @Override + public net.kyori.adventure.text.Component customName() { + return io.papermc.paper.adventure.PaperAdventure.asAdventure(this.getSnapshot().getCustomName()); + } + + @Override + public void customName(net.kyori.adventure.text.Component customName) { + this.getSnapshot().name = io.papermc.paper.adventure.PaperAdventure.asVanilla(customName); + } + + @Override + public String getCustomName() { + return net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().serializeOrNull(this.customName()); + } + + @Override + public void setCustomName(String name) { + this.customName(net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserializeOrNull(name)); + } + // Paper end }