mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
126 lines
3.6 KiB
Diff
126 lines
3.6 KiB
Diff
From 6c32c9076b079fe824e24327006e5d1b6982fed1 Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
|
Date: Fri, 31 May 2019 21:24:21 -0500
|
|
Subject: [PATCH] Advancement API Additions
|
|
|
|
---
|
|
.../org/bukkit/advancement/Advancement.java | 9 ++++
|
|
.../advancement/AdvancementDisplay.java | 45 +++++++++++++++++++
|
|
.../org/bukkit/advancement/FrameType.java | 27 +++++++++++
|
|
3 files changed, 81 insertions(+)
|
|
create mode 100644 src/main/java/org/bukkit/advancement/AdvancementDisplay.java
|
|
create mode 100644 src/main/java/org/bukkit/advancement/FrameType.java
|
|
|
|
diff --git a/src/main/java/org/bukkit/advancement/Advancement.java b/src/main/java/org/bukkit/advancement/Advancement.java
|
|
index 7c500997..432caadb 100644
|
|
--- a/src/main/java/org/bukkit/advancement/Advancement.java
|
|
+++ b/src/main/java/org/bukkit/advancement/Advancement.java
|
|
@@ -3,6 +3,7 @@ package org.bukkit.advancement;
|
|
import java.util.Collection;
|
|
import org.bukkit.Keyed;
|
|
import org.jetbrains.annotations.NotNull;
|
|
+import org.jetbrains.annotations.Nullable;
|
|
|
|
/**
|
|
* Represents an advancement that may be awarded to a player. This class is not
|
|
@@ -17,4 +18,12 @@ public interface Advancement extends Keyed {
|
|
*/
|
|
@NotNull
|
|
Collection<String> getCriteria();
|
|
+
|
|
+ /**
|
|
+ * Gets the display properties of this advancement
|
|
+ *
|
|
+ * @return The display properties
|
|
+ */
|
|
+ @Nullable
|
|
+ AdvancementDisplay getDisplay();
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/advancement/AdvancementDisplay.java b/src/main/java/org/bukkit/advancement/AdvancementDisplay.java
|
|
new file mode 100644
|
|
index 00000000..09b9f77d
|
|
--- /dev/null
|
|
+++ b/src/main/java/org/bukkit/advancement/AdvancementDisplay.java
|
|
@@ -0,0 +1,45 @@
|
|
+package org.bukkit.advancement;
|
|
+
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+
|
|
+public interface AdvancementDisplay {
|
|
+ /**
|
|
+ * Get the title of this advancement
|
|
+ *
|
|
+ * @return Title text
|
|
+ */
|
|
+ @NotNull
|
|
+ String getTitle();
|
|
+
|
|
+ /**
|
|
+ * Get the description of this advancement
|
|
+ *
|
|
+ * @return Description text
|
|
+ */
|
|
+ @NotNull
|
|
+ String getDescription();
|
|
+
|
|
+ /**
|
|
+ * Get the frame type of this advancement
|
|
+ *
|
|
+ * @return Frame type
|
|
+ */
|
|
+ @NotNull
|
|
+ FrameType getFrameType();
|
|
+
|
|
+ /**
|
|
+ * Get if this advancement should be announced in chat when completed
|
|
+ *
|
|
+ * @return True if should announce when completed
|
|
+ */
|
|
+ boolean shouldAnnounceToChat();
|
|
+
|
|
+ /**
|
|
+ * Get if this advancement (and all it's children) is hidden from the advancement screen until it has been completed
|
|
+ * <p>
|
|
+ * This has no effect on root advancements themselves, but will alter their children
|
|
+ *
|
|
+ * @return True if hidden until completed
|
|
+ */
|
|
+ boolean isHidden();
|
|
+}
|
|
diff --git a/src/main/java/org/bukkit/advancement/FrameType.java b/src/main/java/org/bukkit/advancement/FrameType.java
|
|
new file mode 100644
|
|
index 00000000..d1757f3d
|
|
--- /dev/null
|
|
+++ b/src/main/java/org/bukkit/advancement/FrameType.java
|
|
@@ -0,0 +1,27 @@
|
|
+package org.bukkit.advancement;
|
|
+
|
|
+import org.bukkit.ChatColor;
|
|
+import org.jetbrains.annotations.NotNull;
|
|
+
|
|
+public enum FrameType {
|
|
+ TASK(ChatColor.GREEN),
|
|
+ CHALLENGE(ChatColor.DARK_PURPLE),
|
|
+ GOAL(ChatColor.GREEN);
|
|
+
|
|
+ private final ChatColor color;
|
|
+
|
|
+ FrameType(ChatColor color) {
|
|
+ this.color = color;
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ public ChatColor getColor() {
|
|
+ return color;
|
|
+ }
|
|
+
|
|
+ @NotNull
|
|
+ @Override
|
|
+ public String toString() {
|
|
+ return "FrameType[name=" + name() + ",color=" + color + "]";
|
|
+ }
|
|
+}
|
|
--
|
|
2.20.1
|
|
|