mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 17:07:43 +01:00
Upstream has released updates that appears to apply and compile correctly Paper Changes: b75eeca0 Boost light task priority to ensure it doesnt hold up chunk loads 3d2bc848 Ensure VillagerTrades doesn't load async - fixes #3495 e470f1ef Add more information to Timing Reports f4a47db6 Improve Thread Pool usage to allow single threads for single cpu servers a4fe910f Fix sounds when using worldedit regen command 70ad51a8 Updated Upstream (Bukkit/CraftBukkit) d7cfa4fa Improve legacy format serialization more
193 lines
7.4 KiB
Diff
193 lines
7.4 KiB
Diff
From a85e45062879867543939848629375d400158d31 Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
|
Date: Fri, 31 May 2019 21:24:33 -0500
|
|
Subject: [PATCH] Advancement API Additions
|
|
|
|
---
|
|
.../net/minecraft/server/Advancement.java | 2 +-
|
|
.../minecraft/server/AdvancementDisplay.java | 12 ++++-
|
|
.../server/AdvancementFrameType.java | 15 +++++-
|
|
.../minecraft/server/CriterionTrigger.java | 1 +
|
|
.../advancement/CraftAdvancement.java | 7 +++
|
|
.../advancement/CraftAdvancementDisplay.java | 47 +++++++++++++++++++
|
|
6 files changed, 79 insertions(+), 5 deletions(-)
|
|
create mode 100644 src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancementDisplay.java
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/Advancement.java b/src/main/java/net/minecraft/server/Advancement.java
|
|
index 4b85551faf..4cba4187a0 100644
|
|
--- a/src/main/java/net/minecraft/server/Advancement.java
|
|
+++ b/src/main/java/net/minecraft/server/Advancement.java
|
|
@@ -65,7 +65,7 @@ public class Advancement {
|
|
}
|
|
|
|
@Nullable
|
|
- public AdvancementDisplay c() {
|
|
+ public AdvancementDisplay c() { return getDisplay(); } public AdvancementDisplay getDisplay() { // Purpur
|
|
return this.display;
|
|
}
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/AdvancementDisplay.java b/src/main/java/net/minecraft/server/AdvancementDisplay.java
|
|
index e8172d56fe..976c85ef1b 100644
|
|
--- a/src/main/java/net/minecraft/server/AdvancementDisplay.java
|
|
+++ b/src/main/java/net/minecraft/server/AdvancementDisplay.java
|
|
@@ -16,10 +16,11 @@ public class AdvancementDisplay {
|
|
private final MinecraftKey d;
|
|
private final AdvancementFrameType e;
|
|
private final boolean f;
|
|
- private final boolean g;
|
|
- private final boolean h;
|
|
+ private boolean g; // Purpur - un-finalize
|
|
+ private boolean h; // Purpur - un-finalize
|
|
private float i;
|
|
private float j;
|
|
+ public final org.bukkit.advancement.AdvancementDisplay bukkit = new org.bukkit.craftbukkit.advancement.CraftAdvancementDisplay(this); // Purpur
|
|
|
|
public AdvancementDisplay(ItemStack itemstack, IChatBaseComponent ichatbasecomponent, IChatBaseComponent ichatbasecomponent1, @Nullable MinecraftKey minecraftkey, AdvancementFrameType advancementframetype, boolean flag, boolean flag1, boolean flag2) {
|
|
this.a = ichatbasecomponent;
|
|
@@ -37,22 +38,29 @@ public class AdvancementDisplay {
|
|
this.j = f1;
|
|
}
|
|
|
|
+ public IChatBaseComponent getTitle() { return a(); } // Purpur - OBFHELPER
|
|
public IChatBaseComponent a() {
|
|
return this.a;
|
|
}
|
|
|
|
+ public IChatBaseComponent getDescription() { return b(); } // Purpur - OBFHELPER
|
|
public IChatBaseComponent b() {
|
|
return this.b;
|
|
}
|
|
|
|
+ public AdvancementFrameType getFrameType() { return e(); } // Purpur - OBFHELPER
|
|
public AdvancementFrameType e() {
|
|
return this.e;
|
|
}
|
|
|
|
+ public void setShouldAnnounceToChat(boolean announce) { this.g = announce; } // Purpur - OBFHELPER
|
|
+ public boolean shouldAnnounceToChat() { return i(); } // Purpur - OBFHELPER
|
|
public boolean i() {
|
|
return this.g;
|
|
}
|
|
|
|
+ public void setHidden(boolean hidden) { this.h = hidden; } // Purpur - OBFHELPER
|
|
+ public boolean isHidden() { return j(); } // Purpur - OBFHELPER
|
|
public boolean j() {
|
|
return this.h;
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/AdvancementFrameType.java b/src/main/java/net/minecraft/server/AdvancementFrameType.java
|
|
index a9c49a4348..551a845476 100644
|
|
--- a/src/main/java/net/minecraft/server/AdvancementFrameType.java
|
|
+++ b/src/main/java/net/minecraft/server/AdvancementFrameType.java
|
|
@@ -1,14 +1,25 @@
|
|
package net.minecraft.server;
|
|
|
|
+import org.bukkit.advancement.FrameType; // Purpur
|
|
+
|
|
public enum AdvancementFrameType {
|
|
|
|
- TASK("task", 0, EnumChatFormat.GREEN), CHALLENGE("challenge", 26, EnumChatFormat.DARK_PURPLE), GOAL("goal", 52, EnumChatFormat.GREEN);
|
|
+ // Purpur start
|
|
+ TASK("task", 0, EnumChatFormat.GREEN, FrameType.TASK),
|
|
+ CHALLENGE("challenge", 26, EnumChatFormat.DARK_PURPLE, FrameType.CHALLENGE),
|
|
+ GOAL("goal", 52, EnumChatFormat.GREEN, FrameType.GOAL);
|
|
+ // Purpur end
|
|
|
|
private final String d;
|
|
private final int e;
|
|
private final EnumChatFormat f;
|
|
|
|
- private AdvancementFrameType(String s, int i, EnumChatFormat enumchatformat) {
|
|
+ // Purpur start
|
|
+ public final FrameType bukkit;
|
|
+
|
|
+ AdvancementFrameType(String s, int i, EnumChatFormat enumchatformat, FrameType bukkit) {
|
|
+ this.bukkit = bukkit;
|
|
+ // Purpur end
|
|
this.d = s;
|
|
this.e = i;
|
|
this.f = enumchatformat;
|
|
diff --git a/src/main/java/net/minecraft/server/CriterionTrigger.java b/src/main/java/net/minecraft/server/CriterionTrigger.java
|
|
index 4fe7324475..6e5d81daf1 100644
|
|
--- a/src/main/java/net/minecraft/server/CriterionTrigger.java
|
|
+++ b/src/main/java/net/minecraft/server/CriterionTrigger.java
|
|
@@ -27,6 +27,7 @@ public interface CriterionTrigger<T extends CriterionInstance> {
|
|
this.c = s;
|
|
}
|
|
|
|
+ public T getInstance() { return a(); } // Purpur - OBFHELPER
|
|
public T a() {
|
|
return this.a;
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java
|
|
index a5aadf2850..b0a7092d62 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java
|
|
@@ -27,4 +27,11 @@ public class CraftAdvancement implements org.bukkit.advancement.Advancement {
|
|
public Collection<String> getCriteria() {
|
|
return Collections.unmodifiableCollection(handle.getCriteria().keySet());
|
|
}
|
|
+
|
|
+ // Purpur start
|
|
+ @Override
|
|
+ public org.bukkit.advancement.AdvancementDisplay getDisplay() {
|
|
+ return getHandle().getDisplay() == null ? null : getHandle().getDisplay().bukkit;
|
|
+ }
|
|
+ // Purpur end
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancementDisplay.java b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancementDisplay.java
|
|
new file mode 100644
|
|
index 0000000000..1cbb1e67b6
|
|
--- /dev/null
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancementDisplay.java
|
|
@@ -0,0 +1,47 @@
|
|
+package org.bukkit.craftbukkit.advancement;
|
|
+
|
|
+import net.minecraft.server.AdvancementDisplay;
|
|
+import org.bukkit.advancement.FrameType;
|
|
+import org.bukkit.craftbukkit.util.CraftChatMessage;
|
|
+
|
|
+public class CraftAdvancementDisplay implements org.bukkit.advancement.AdvancementDisplay {
|
|
+ private final AdvancementDisplay handle;
|
|
+
|
|
+ public CraftAdvancementDisplay(AdvancementDisplay handle) {
|
|
+ this.handle = handle;
|
|
+ }
|
|
+
|
|
+ public AdvancementDisplay getHandle() {
|
|
+ return handle;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public String getTitle() {
|
|
+ return CraftChatMessage.fromComponent(handle.getTitle());
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public String getDescription() {
|
|
+ return CraftChatMessage.fromComponent(handle.getDescription());
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public FrameType getFrameType() {
|
|
+ return handle.getFrameType().bukkit;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean shouldAnnounceToChat() {
|
|
+ return handle.shouldAnnounceToChat();
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void setShouldAnnounceToChat(boolean announce) {
|
|
+ handle.setShouldAnnounceToChat(announce);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public boolean isHidden() {
|
|
+ return handle.isHidden();
|
|
+ }
|
|
+}
|
|
--
|
|
2.24.0
|
|
|