diff --git a/patches/unapplied/server/Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/Add-ItemFactory-getSpawnEgg-API.patch similarity index 100% rename from patches/unapplied/server/Add-ItemFactory-getSpawnEgg-API.patch rename to patches/server/Add-ItemFactory-getSpawnEgg-API.patch diff --git a/patches/unapplied/server/Add-back-EntityPortalExitEvent.patch b/patches/server/Add-back-EntityPortalExitEvent.patch similarity index 100% rename from patches/unapplied/server/Add-back-EntityPortalExitEvent.patch rename to patches/server/Add-back-EntityPortalExitEvent.patch diff --git a/patches/unapplied/server/Add-critical-damage-API.patch b/patches/server/Add-critical-damage-API.patch similarity index 100% rename from patches/unapplied/server/Add-critical-damage-API.patch rename to patches/server/Add-critical-damage-API.patch diff --git a/patches/unapplied/server/Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/Add-methods-to-find-targets-for-lightning-strikes.patch similarity index 100% rename from patches/unapplied/server/Add-methods-to-find-targets-for-lightning-strikes.patch rename to patches/server/Add-methods-to-find-targets-for-lightning-strikes.patch diff --git a/patches/unapplied/server/Add-more-advancement-API.patch b/patches/server/Add-more-advancement-API.patch similarity index 76% rename from patches/unapplied/server/Add-more-advancement-API.patch rename to patches/server/Add-more-advancement-API.patch index 2650b5ff1d..65c02cf433 100644 --- a/patches/unapplied/server/Add-more-advancement-API.patch +++ b/patches/server/Add-more-advancement-API.patch @@ -3,6 +3,9 @@ From: syldium <syldium@mailo.com> Date: Fri, 9 Jul 2021 18:50:40 +0200 Subject: [PATCH] Add more advancement API +== AT == +public net.minecraft.advancements.Advancement decorateName(Lnet/minecraft/advancements/DisplayInfo;)Lnet/minecraft/network/chat/Component; + Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com> diff --git a/src/main/java/io/papermc/paper/advancement/PaperAdvancementDisplay.java b/src/main/java/io/papermc/paper/advancement/PaperAdvancementDisplay.java @@ -80,38 +83,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + }; + } +} -diff --git a/src/main/java/net/minecraft/advancements/Advancement.java b/src/main/java/net/minecraft/advancements/Advancement.java -index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 ---- a/src/main/java/net/minecraft/advancements/Advancement.java -+++ b/src/main/java/net/minecraft/advancements/Advancement.java -@@ -0,0 +0,0 @@ public class Advancement { - parent.addChild(this); - } - -- if (display == null) { -- this.chatComponent = Component.literal(id.toString()); -+ // Paper start - moved to static method -+ this.chatComponent = constructDisplayComponent(this.id, this.display); -+ } -+ -+ public static Component constructDisplayComponent(final @Nullable ResourceLocation id, final @Nullable DisplayInfo display) { -+ if (id == null && display == null) { -+ throw new IllegalArgumentException("can't both be null"); -+ } else if (display == null) { -+ return Component.literal(id.toString()); -+ // Paper end - } else { - Component ichatbasecomponent = display.getTitle(); - ChatFormatting enumchatformat = display.getFrame().getChatColor(); -@@ -0,0 +0,0 @@ public class Advancement { - return chatmodifier.withHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, ichatmutablecomponent)); - }); - -- this.chatComponent = ComponentUtils.wrapInSquareBrackets(ichatmutablecomponent1).withStyle(enumchatformat); -+ return ComponentUtils.wrapInSquareBrackets(ichatmutablecomponent1).withStyle(enumchatformat); // Paper - } - - } diff --git a/src/main/java/net/minecraft/advancements/DisplayInfo.java b/src/main/java/net/minecraft/advancements/DisplayInfo.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/net/minecraft/advancements/DisplayInfo.java @@ -129,50 +100,56 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 --- a/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java +++ b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java @@ -0,0 +0,0 @@ public class CraftAdvancement implements org.bukkit.advancement.Advancement { - return Collections.unmodifiableCollection(this.handle.getCriteria().keySet()); + return Collections.unmodifiableCollection(this.handle.value().criteria().keySet()); } + // Paper start @Override - public AdvancementDisplay getDisplay() { -- if (this.handle.getDisplay() == null) { +- if (this.handle.value().display().isEmpty()) { - return null; + public io.papermc.paper.advancement.AdvancementDisplay getDisplay() { -+ return this.handle.getDisplay() == null ? null : this.handle.getDisplay().paper; ++ return this.handle.value().display().map(d -> d.paper).orElse(null); + } + -+ @Deprecated @io.papermc.paper.annotation.DoNotUse ++ @Deprecated ++ @io.papermc.paper.annotation.DoNotUse + public AdvancementDisplay getDisplay0() { // May be called by plugins via Commodore -+ return this.handle.getDisplay() == null ? null : new CraftAdvancementDisplay(this.handle.getDisplay()); ++ return this.handle.value().display().map(CraftAdvancementDisplay::new).orElse(null); + } + + @Override + public net.kyori.adventure.text.Component displayName() { -+ return io.papermc.paper.adventure.PaperAdventure.asAdventure(Advancement.constructDisplayComponent(this.handle.getId(), this.handle.getDisplay())); ++ return this.handle.value().display() ++ .map(d -> io.papermc.paper.adventure.PaperAdventure.asAdventure(net.minecraft.advancements.Advancement.decorateName(d))) ++ .orElseGet(() -> net.kyori.adventure.text.Component.text(this.handle.id().toString())); + } + + @Override + public org.bukkit.advancement.Advancement getParent() { -+ return this.handle.getParent() == null ? null : this.handle.getParent().bukkit; ++ return this.handle.value().parent() ++ .map(net.minecraft.server.MinecraftServer.getServer().getAdvancements()::get) ++ .map(AdvancementHolder::toBukkit) ++ .orElse(null); + } + + @Override + public Collection<org.bukkit.advancement.Advancement> getChildren() { + final var children = com.google.common.collect.ImmutableList.<org.bukkit.advancement.Advancement>builder(); -+ for (Advancement advancement : this.handle.getChildren()) { -+ children.add(advancement.bukkit); ++ final var advancementNode = net.minecraft.server.MinecraftServer.getServer().getAdvancements().tree().get(this.handle); ++ if (advancementNode != null) { ++ for (final var child : advancementNode.children()) { ++ children.add(child.holder().toBukkit()); ++ } } + return children.build(); + } -- return new CraftAdvancementDisplay(this.handle.getDisplay()); +- return new CraftAdvancementDisplay(this.handle.value().display().get()); + @Override + public org.bukkit.advancement.Advancement getRoot() { -+ Advancement advancement = this.handle; -+ while (advancement.getParent() != null) { -+ advancement = advancement.getParent(); -+ } -+ return advancement.bukkit; ++ final var advancementNode = net.minecraft.server.MinecraftServer.getServer().getAdvancements().tree().get(this.handle); ++ return java.util.Objects.requireNonNull(advancementNode, "could not find internal advancement node for advancement " + this.handle.id()).root().holder().toBukkit(); } + // Paper end } diff --git a/patches/unapplied/server/Get-entity-default-attributes.patch b/patches/server/Get-entity-default-attributes.patch similarity index 100% rename from patches/unapplied/server/Get-entity-default-attributes.patch rename to patches/server/Get-entity-default-attributes.patch diff --git a/patches/unapplied/server/Left-handed-API.patch b/patches/server/Left-handed-API.patch similarity index 100% rename from patches/unapplied/server/Left-handed-API.patch rename to patches/server/Left-handed-API.patch