diff --git a/Parchment-Common/pom.xml b/Parchment-Common/pom.xml new file mode 100644 index 0000000..494b852 --- /dev/null +++ b/Parchment-Common/pom.xml @@ -0,0 +1,35 @@ + + + + parchment-parent + me.lexikiq + dev-SNAPSHOT + ../pom.xml + + 4.0.0 + + parchment-common + dev-SNAPSHOT + jar + + Parchment-Common + https://github.com/lexikiq/Parchment + Common utility files and interfaces for Parchment + + + 1.8 + 1.8 + UTF-8 + + + + + org.jetbrains + annotations-java5 + 20.1.0 + + + + \ No newline at end of file diff --git a/Parchment-Common/src/main/java/me/lexikiq/HasUniqueId.java b/Parchment-Common/src/main/java/me/lexikiq/HasUniqueId.java new file mode 100644 index 0000000..c061535 --- /dev/null +++ b/Parchment-Common/src/main/java/me/lexikiq/HasUniqueId.java @@ -0,0 +1,17 @@ +package me.lexikiq; + +import org.jetbrains.annotations.NotNull; + +import java.util.UUID; + +/** + * Represents an object that has a {@link UUID} + */ +public interface HasUniqueId extends OptionalUniqueId { + /** + * Returns a unique and persistent id for this object + * + * @return unique id + */ + @NotNull UUID getUniqueId(); // named getUniqueId to maintain compatibility with Bukkit +} diff --git a/Parchment-Common/src/main/java/me/lexikiq/OptionalUniqueId.java b/Parchment-Common/src/main/java/me/lexikiq/OptionalUniqueId.java new file mode 100644 index 0000000..337800e --- /dev/null +++ b/Parchment-Common/src/main/java/me/lexikiq/OptionalUniqueId.java @@ -0,0 +1,17 @@ +package me.lexikiq; + +import org.jetbrains.annotations.Nullable; + +import java.util.UUID; + +/** + * Represents an object that may have a {@link UUID} + */ +public interface OptionalUniqueId { + /** + * Returns a unique and persistent id for this object which may be null + * + * @return unique id or null + */ + @Nullable UUID getUniqueId(); // named getUniqueId to maintain compatibility with Bukkit +} diff --git a/patches/api/0002-Create-interfaces-for-getting-UUIDs-and-Players.patch b/patches/api/0002-Create-interfaces-for-getting-UUIDs-and-Players.patch index 7c1f82e..6af2056 100644 --- a/patches/api/0002-Create-interfaces-for-getting-UUIDs-and-Players.patch +++ b/patches/api/0002-Create-interfaces-for-getting-UUIDs-and-Players.patch @@ -1,10 +1,29 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: lexikiq -Date: Sun, 2 May 2021 00:32:09 -0400 +Date: Sun, 2 May 2021 14:16:41 -0400 Subject: [PATCH] Create interfaces for getting UUIDs and Players Creates new interfaces for getting UUIDs, Human Entities, Offline Players, and Players. Features matching NotNull and Nullable interfaces. Lessens the required overloads for plugin developers when working with varying player objects. +diff --git a/pom.xml b/pom.xml +index e5ed07236c358e9ea544f43b41533c92769192dd..8a45c77963d3cd35d2cfa4a3af15c0e27bbbf165 100644 +--- a/pom.xml ++++ b/pom.xml +@@ -47,6 +47,14 @@ + + + ++ ++ ++ me.lexikiq ++ parchment-common ++ dev-SNAPSHOT ++ compile ++ ++ + + + net.kyori diff --git a/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java b/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java index 978813b94a5eae0afccbd3b38b463091a46b56ac..18716a020c0c7c1a06b5ab3935abc33a42d89748 100644 --- a/src/main/java/com/destroystokyo/paper/event/block/BeaconEffectEvent.java @@ -299,29 +318,6 @@ index 0000000000000000000000000000000000000000..df10bd66eb531f51b519815a67566195 + @Override + @NotNull Player getPlayer(); +} -diff --git a/src/main/java/me/lexikiq/HasUniqueId.java b/src/main/java/me/lexikiq/HasUniqueId.java -new file mode 100644 -index 0000000000000000000000000000000000000000..4fe1da41b9417d82f52432c3bd5b4e8b4c73f09b ---- /dev/null -+++ b/src/main/java/me/lexikiq/HasUniqueId.java -@@ -0,0 +1,17 @@ -+package me.lexikiq; -+ -+import org.jetbrains.annotations.NotNull; -+ -+import java.util.UUID; -+ -+/** -+ * Represents an object that has a {@link UUID} -+ */ -+public interface HasUniqueId extends OptionalUniqueId { -+ /** -+ * Returns a unique and persistent id for this object -+ * -+ * @return unique id -+ */ -+ @NotNull UUID getUniqueId(); -+} diff --git a/src/main/java/me/lexikiq/OptionalHumanEntity.java b/src/main/java/me/lexikiq/OptionalHumanEntity.java new file mode 100644 index 0000000000000000000000000000000000000000..fc5a565e9b654eaa3604f9be5f0fa86bbaab6f2f @@ -388,29 +384,6 @@ index 0000000000000000000000000000000000000000..70fcce84e8b42f3a2c3543b8365b25cc + */ + @Nullable Player getPlayer(); +} -diff --git a/src/main/java/me/lexikiq/OptionalUniqueId.java b/src/main/java/me/lexikiq/OptionalUniqueId.java -new file mode 100644 -index 0000000000000000000000000000000000000000..da4a0422dd4f072dc15750a9e133262a344ef78a ---- /dev/null -+++ b/src/main/java/me/lexikiq/OptionalUniqueId.java -@@ -0,0 +1,17 @@ -+package me.lexikiq; -+ -+import org.jetbrains.annotations.Nullable; -+ -+import java.util.UUID; -+ -+/** -+ * Represents an object that may have a {@link UUID} -+ */ -+public interface OptionalUniqueId { -+ /** -+ * Returns a unique and persistent id for this object which may be null -+ * -+ * @return unique id or null -+ */ -+ @Nullable UUID getUniqueId(); -+} diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java index 3afd5f5c0208a4ee93b5dbfc2aab2b9d2e8a7544..e2b4f86fc3825a77a5a0c1c29b428308eee54b16 100644 --- a/src/main/java/org/bukkit/OfflinePlayer.java diff --git a/pom.xml b/pom.xml index 54aeb69..45bf6b4 100644 --- a/pom.xml +++ b/pom.xml @@ -23,6 +23,7 @@ ${project.artifactId} + Parchment-Common Parchment-API Parchment-Server Paper${file.separator}Paper-MojangAPI