efd47e3a68
* Updated Upstream (Bukkit/CraftBukkit/Spigot) Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 2fcba9b2 SPIGOT-7347: Add missing documentation and details to ShapedRecipe c278419d PR-854: Move getHighestBlockYAt methods from World to RegionAccessor 201399fb PR-853: Add API for directly setting Display transformation matrices ecfa559a PR-849: Add InventoryView#setTitle 653d7edb SPIGOT-519: Add TNTPrimeEvent 22fccc09 PR-846: Add method to get chunk load level a070a52c PR-844: Add methods to convert Vector to and from JOML vectors cc7111fe PR-276: Add accessors to Wither's invulnerability ticks 777d24e9 SPIGOT-7209: Accessors and events for player's exp cooldown ccb2d01b SPIGOT-6308: Deprecate the location name property of map items cd04a31b PR-780: Add PlayerSpawnChangeEvent 7d1f5b64 SPIGOT-6780: Improve documentation for World#spawnFallingBlock 5696668a SPIGOT-6885: Add test and easier to debug code for reference in yaml configuration comments 2e13cff7 PR-589: Expand the FishHook API 2c7d3da5 PR-279: Minor edits to various Javadocs CraftBukkit Changes: 01b2e1af4 SPIGOT-7346: Disallow players from executing commands after disconnecting 7fe5ee022 PR-1186: Move getHighestBlockYAt methods from World to RegionAccessor bcc85ef67 PR-1185: Add API for directly setting Display transformation matrices a7cfc778f PR-1176: Add InventoryView#setTitle 563d42226 SPIGOT-519: Add TNTPrimeEvent ccbc6abca Add test for Chunk.LoadLevel mirroring 2926e0513 PR-1171: Add method to get chunk load level 63cad7f84 PR-375: Add accessors to Wither's invulnerability ticks bfd8b1ac8 SPIGOT-7209: Accessors and events for player's exp cooldown f92a41c39 PR-1181: Consolidate Location conversion code 10f866759 SPIGOT-6308: Deprecate the location name property of map items 82f7b658a PR-1095: Add PlayerSpawnChangeEvent b421af7e4 PR-808: Expand the FishHook API 598ad7b3f Increase outdated build delay Spigot Changes: d1bd3bd2 Rebuild patches e4265cc8 SPIGOT-7297: Entity Tracking Range option for Display entities * Work around javac bug * Call PlayerSpawnChangeEvent * Updated Upstream (Bukkit/CraftBukkit/Spigot) Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 2fcba9b2 SPIGOT-7347: Add missing documentation and details to ShapedRecipe c278419d PR-854: Move getHighestBlockYAt methods from World to RegionAccessor 201399fb PR-853: Add API for directly setting Display transformation matrices CraftBukkit Changes: 01b2e1af4 SPIGOT-7346: Disallow players from executing commands after disconnecting 7fe5ee022 PR-1186: Move getHighestBlockYAt methods from World to RegionAccessor bcc85ef67 PR-1185: Add API for directly setting Display transformation matrices Spigot Changes: 7da74dae Rebuild patches
128 lines
5.6 KiB
Diff
128 lines
5.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Cryptite <cryptite@gmail.com>
|
|
Date: Tue, 21 Sep 2021 18:17:34 -0500
|
|
Subject: [PATCH] Multiple Entries with Scoreboards
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/scoreboard/Team.java b/src/main/java/org/bukkit/scoreboard/Team.java
|
|
index b7f0686d22cef8d9bd23105ab60051ccb10fa1e6..0f1c08092577a7d66fdc1ea8b645ea67e0d9c6cf 100644
|
|
--- a/src/main/java/org/bukkit/scoreboard/Team.java
|
|
+++ b/src/main/java/org/bukkit/scoreboard/Team.java
|
|
@@ -323,6 +323,60 @@ public interface Team {
|
|
*/
|
|
void addEntry(@NotNull String entry) throws IllegalStateException, IllegalArgumentException;
|
|
|
|
+ // Paper start
|
|
+ /**
|
|
+ * This puts a collection of entities onto this team for the scoreboard which results in one
|
|
+ * packet for the updates rather than a packet-per-entity.
|
|
+ * <p>
|
|
+ * Entities on other teams will be removed from their respective teams.
|
|
+ *
|
|
+ * @param entities the entities to add
|
|
+ * @throws IllegalArgumentException if entities are null
|
|
+ * @throws IllegalStateException if this team has been unregistered
|
|
+ */
|
|
+ default void addEntities(@NotNull org.bukkit.entity.Entity @NotNull ...entities) {
|
|
+ this.addEntities(java.util.List.of(entities));
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * This puts a collection of entities onto this team for the scoreboard which results in one
|
|
+ * packet for the updates rather than a packet-per-entity.
|
|
+ * <p>
|
|
+ * Entities on other teams will be removed from their respective teams.
|
|
+ *
|
|
+ * @param entities the entities to add
|
|
+ * @throws IllegalArgumentException if entities are null
|
|
+ * @throws IllegalStateException if this team has been unregistered
|
|
+ */
|
|
+ void addEntities(@NotNull java.util.Collection<org.bukkit.entity.Entity> entities) throws IllegalStateException, IllegalArgumentException;
|
|
+
|
|
+ /**
|
|
+ * This puts a collection of entries onto this team for the scoreboard which results in one
|
|
+ * packet for the updates rather than a packet-per-entry.
|
|
+ * <p>
|
|
+ * Entries on other teams will be removed from their respective teams.
|
|
+ *
|
|
+ * @param entries the entries to add
|
|
+ * @throws IllegalArgumentException if entries are null
|
|
+ * @throws IllegalStateException if this team has been unregistered
|
|
+ */
|
|
+ default void addEntries(@NotNull String... entries) throws IllegalStateException, IllegalArgumentException {
|
|
+ this.addEntries(java.util.List.of(entries));
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * This puts a collection of entries onto this team for the scoreboard which results in one
|
|
+ * packet for the updates rather than a packet-per-entry.
|
|
+ * <p>
|
|
+ * Entries on other teams will be removed from their respective teams.
|
|
+ *
|
|
+ * @param entries the entries to add
|
|
+ * @throws IllegalArgumentException if entries are null
|
|
+ * @throws IllegalStateException if this team has been unregistered
|
|
+ */
|
|
+ void addEntries(@NotNull java.util.Collection<String> entries) throws IllegalStateException, IllegalArgumentException;
|
|
+ // Paper end
|
|
+
|
|
/**
|
|
* Removes the player from this team.
|
|
*
|
|
@@ -345,6 +399,56 @@ public interface Team {
|
|
*/
|
|
boolean removeEntry(@NotNull String entry) throws IllegalStateException, IllegalArgumentException;
|
|
|
|
+ // Paper start
|
|
+ /**
|
|
+ * Removes a collection of entities from this team which results in one
|
|
+ * packet for the updates rather than a packet-per-entity.
|
|
+ *
|
|
+ * @param entities the entries to remove
|
|
+ * @return if any of the entities were a part of this team
|
|
+ * @throws IllegalArgumentException if entities is null
|
|
+ * @throws IllegalStateException if this team has been unregistered
|
|
+ */
|
|
+ default boolean removeEntities(@NotNull org.bukkit.entity.Entity @NotNull ... entities) throws IllegalStateException, IllegalArgumentException {
|
|
+ return this.removeEntities(java.util.List.of(entities));
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Removes a collection of entities from this team which results in one
|
|
+ * packet for the updates rather than a packet-per-entity.
|
|
+ *
|
|
+ * @param entities the entries to remove
|
|
+ * @return if any of the entities were a part of this team
|
|
+ * @throws IllegalArgumentException if entities is null
|
|
+ * @throws IllegalStateException if this team has been unregistered
|
|
+ */
|
|
+ boolean removeEntities(@NotNull java.util.Collection<org.bukkit.entity.Entity> entities) throws IllegalStateException, IllegalArgumentException;
|
|
+
|
|
+ /**
|
|
+ * Removes a collection of entries from this team which results in one
|
|
+ * packet for the updates rather than a packet-per-entry.
|
|
+ *
|
|
+ * @param entries the entries to remove
|
|
+ * @return if any of the entries were a part of this team
|
|
+ * @throws IllegalArgumentException if entries is null
|
|
+ * @throws IllegalStateException if this team has been unregistered
|
|
+ */
|
|
+ default boolean removeEntries(@NotNull String... entries) throws IllegalStateException, IllegalArgumentException {
|
|
+ return this.removeEntries(java.util.List.of(entries));
|
|
+ }
|
|
+
|
|
+ /**
|
|
+ * Removes a collection of entries from this team which results in one
|
|
+ * packet for the updates rather than a packet-per-entry.
|
|
+ *
|
|
+ * @param entries the entries to remove
|
|
+ * @return if any of the entries were a part of this team
|
|
+ * @throws IllegalArgumentException if entries is null
|
|
+ * @throws IllegalStateException if this team has been unregistered
|
|
+ */
|
|
+ boolean removeEntries(@NotNull java.util.Collection<String> entries) throws IllegalStateException, IllegalArgumentException;
|
|
+ // Paper end
|
|
+
|
|
/**
|
|
* Unregisters this team from the Scoreboard
|
|
*
|