mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Debug Marker API
This commit is contained in:
@@ -1,341 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: YouHaveTrouble <youhavetrouble@youhavetrouble.me>
|
|
||||||
Date: Sat, 23 Jul 2022 14:40:17 +0200
|
|
||||||
Subject: [PATCH] Debug Marker API
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
|
||||||
index 79528ad4408eac53754ccc810445970e263a1a32..db453d04efb00baaeabb904a7bd1b99dd0a50735 100644
|
|
||||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
|
||||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
|
||||||
@@ -3006,5 +3006,89 @@ public final class Bukkit {
|
|
||||||
public static void removeFuel(@NotNull Material material) {
|
|
||||||
server.removeFuel(material);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ */
|
|
||||||
+ public static void sendBlockHighlight(@NotNull Location location, int duration) {
|
|
||||||
+ server.sendBlockHighlight(location, duration);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param argb Color of the highlight. ARGB int. Will be ignored on some versions of vanilla client
|
|
||||||
+ */
|
|
||||||
+ public static void sendBlockHighlight(@NotNull Location location, int duration, int argb) {
|
|
||||||
+ server.sendBlockHighlight(location, duration, argb);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param text Text to show above the highlight
|
|
||||||
+ */
|
|
||||||
+ public static void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text) {
|
|
||||||
+ server.sendBlockHighlight(location, duration, text);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param text Text to show above the highlight
|
|
||||||
+ * @param argb Color of the highlight. ARGB int. Will be ignored on some versions of vanilla client
|
|
||||||
+ */
|
|
||||||
+ public static void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text, int argb) {
|
|
||||||
+ server.sendBlockHighlight(location, duration, text, argb);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param color Color of the highlight. Will be ignored on some versions of vanilla client
|
|
||||||
+ * @param transparency Transparency of the highlight
|
|
||||||
+ * @throws IllegalArgumentException If transparency is outside 0-255 range
|
|
||||||
+ */
|
|
||||||
+ public static void sendBlockHighlight(@NotNull Location location, int duration, @NotNull org.bukkit.Color color, int transparency) {
|
|
||||||
+ server.sendBlockHighlight(location, duration, color, transparency);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param text Text to show above the highlight
|
|
||||||
+ * @param color Color of the highlight. Will be ignored on some versions of vanilla client
|
|
||||||
+ * @param transparency Transparency of the highlight
|
|
||||||
+ * @throws IllegalArgumentException If transparency is outside 0-255 range
|
|
||||||
+ */
|
|
||||||
+ public static void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text, @NotNull org.bukkit.Color color, int transparency) {
|
|
||||||
+ server.sendBlockHighlight(location, duration, text, color, transparency);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Clears all debug block highlights for all players on the server.
|
|
||||||
+ */
|
|
||||||
+ public static void clearBlockHighlights() {
|
|
||||||
+ server.clearBlockHighlights();
|
|
||||||
+ }
|
|
||||||
// Purpur end
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
|
||||||
index c1523229138d5d07569c8e564cf27b8276cca153..fcfad39173ecf2573a1ba77236bce8d9f73e02bb 100644
|
|
||||||
--- a/src/main/java/org/bukkit/Server.java
|
|
||||||
+++ b/src/main/java/org/bukkit/Server.java
|
|
||||||
@@ -2649,5 +2649,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
|
|
||||||
* @param material The material that will no longer be a fuel
|
|
||||||
*/
|
|
||||||
public void removeFuel(@NotNull Material material);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ */
|
|
||||||
+ void sendBlockHighlight(@NotNull Location location, int duration);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param argb Color of the highlight. ARGB int. Will be ignored on some versions of vanilla client
|
|
||||||
+ */
|
|
||||||
+ void sendBlockHighlight(@NotNull Location location, int duration, int argb);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param text Text to show above the highlight
|
|
||||||
+ */
|
|
||||||
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param text Text to show above the highlight
|
|
||||||
+ * @param argb Color of the highlight. ARGB int. Will be ignored on some versions of vanilla client
|
|
||||||
+ */
|
|
||||||
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text, int argb);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param color Color of the highlight. Will be ignored on some versions of vanilla client
|
|
||||||
+ * @param transparency Transparency of the highlight
|
|
||||||
+ * @throws IllegalArgumentException If transparency is outside 0-255 range
|
|
||||||
+ */
|
|
||||||
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull org.bukkit.Color color, int transparency);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param text Text to show above the highlight
|
|
||||||
+ * @param color Color of the highlight. Will be ignored on some versions of vanilla client
|
|
||||||
+ * @param transparency Transparency of the highlight
|
|
||||||
+ * @throws IllegalArgumentException If transparency is outside 0-255 range
|
|
||||||
+ */
|
|
||||||
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text, @NotNull org.bukkit.Color color, int transparency);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Clears all debug block highlights for all players on the server.
|
|
||||||
+ */
|
|
||||||
+ void clearBlockHighlights();
|
|
||||||
// Purpur end
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
|
||||||
index 3d1e2a6804980c091fe2a66a6810564d317d339f..5f7de23e419175e55459df760c7190639ea39f18 100644
|
|
||||||
--- a/src/main/java/org/bukkit/World.java
|
|
||||||
+++ b/src/main/java/org/bukkit/World.java
|
|
||||||
@@ -4254,6 +4254,76 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
|
||||||
* @return The local difficulty
|
|
||||||
*/
|
|
||||||
public float getLocalDifficultyAt(@NotNull Location location);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to all players on this world.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ */
|
|
||||||
+ void sendBlockHighlight(@NotNull Location location, int duration);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to all players on this world.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param argb Color of the highlight. ARGB int. Will be ignored on some versions of vanilla client
|
|
||||||
+ */
|
|
||||||
+ void sendBlockHighlight(@NotNull Location location, int duration, int argb);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to all players on this world.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param text Text to show above the highlight
|
|
||||||
+ */
|
|
||||||
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to all players on this world.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param text Text to show above the highlight
|
|
||||||
+ * @param argb Color of the highlight. ARGB int. Will be ignored on some versions of vanilla client
|
|
||||||
+ */
|
|
||||||
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text, int argb);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to all players on this world.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param color Color of the highlight. Will be ignored on some versions of vanilla client
|
|
||||||
+ * @param transparency Transparency of the highlight
|
|
||||||
+ * @throws IllegalArgumentException If transparency is outside 0-255 range
|
|
||||||
+ */
|
|
||||||
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull org.bukkit.Color color, int transparency);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to all players on this world.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param text Text to show above the highlight
|
|
||||||
+ * @param color Color of the highlight. Will be ignored on some versions of vanilla client
|
|
||||||
+ * @param transparency Transparency of the highlight
|
|
||||||
+ * @throws IllegalArgumentException If transparency is outside 0-255 range
|
|
||||||
+ */
|
|
||||||
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text, @NotNull org.bukkit.Color color, int transparency);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Clears all debug block highlights for all players on this world.
|
|
||||||
+ */
|
|
||||||
+ void clearBlockHighlights();
|
|
||||||
// Purpur end
|
|
||||||
|
|
||||||
/**
|
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
|
||||||
index ed0f892ed987419809fe1a0390b6278c99659919..8cedbba4e65b0a8d3a17c6960033e2a324c64bc9 100644
|
|
||||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
|
||||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
|
||||||
@@ -3939,5 +3939,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
|
||||||
* @deprecated Use {@link #resetIdleDuration()} instead
|
|
||||||
*/
|
|
||||||
void resetIdleTimer();
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to this player.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ */
|
|
||||||
+ void sendBlockHighlight(@NotNull Location location, int duration);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to this player.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param argb Color of the highlight. ARGB int. Will be ignored on some versions of vanilla client
|
|
||||||
+ */
|
|
||||||
+ void sendBlockHighlight(@NotNull Location location, int duration, int argb);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to this player.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param text Text to show above the highlight
|
|
||||||
+ */
|
|
||||||
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to this player.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param text Text to show above the highlight
|
|
||||||
+ * @param argb Color of the highlight. ARGB int. Will be ignored on some versions of vanilla client
|
|
||||||
+ */
|
|
||||||
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text, int argb);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to this player.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param color Color of the highlight. Will be ignored on some versions of vanilla client
|
|
||||||
+ * @param transparency Transparency of the highlight
|
|
||||||
+ * @throws IllegalArgumentException If transparency is outside 0-255 range
|
|
||||||
+ */
|
|
||||||
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull org.bukkit.Color color, int transparency);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Creates debug block highlight on specified block location and show it to this player.
|
|
||||||
+ * <p>
|
|
||||||
+ * Clients may be inconsistent in displaying it.
|
|
||||||
+ * @param location Location to highlight
|
|
||||||
+ * @param duration Duration for highlight to show in milliseconds
|
|
||||||
+ * @param text Text to show above the highlight
|
|
||||||
+ * @param color Color of the highlight. Will be ignored on some versions of vanilla client
|
|
||||||
+ * @param transparency Transparency of the highlight
|
|
||||||
+ * @throws IllegalArgumentException If transparency is outside 0-255 range
|
|
||||||
+ */
|
|
||||||
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text, @NotNull org.bukkit.Color color, int transparency);
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Clears all debug block highlights
|
|
||||||
+ */
|
|
||||||
+ void clearBlockHighlights();
|
|
||||||
// Purpur end
|
|
||||||
}
|
|
||||||
@@ -1,150 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: YouHaveTrouble <youhavetrouble@youhavetrouble.me>
|
|
||||||
Date: Sat, 23 Jul 2022 14:40:38 +0200
|
|
||||||
Subject: [PATCH] Debug Marker API
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
||||||
index 9aa6744ab3a19e1ecf32b4aa059b7f4c555f03ff..b9f72ee3201e1d1d7d90df055ef4876f0bd27219 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
||||||
@@ -1644,6 +1644,43 @@ public final class CraftServer implements Server {
|
|
||||||
MinecraftServer.getServer().fuelValues().values.keySet().removeIf(itemStack::is);
|
|
||||||
}
|
|
||||||
// Purpur end - Added the ability to add combustible items
|
|
||||||
+ // Purpur start - Debug Marker API
|
|
||||||
+ @Override
|
|
||||||
+ public void sendBlockHighlight(Location location, int duration) {
|
|
||||||
+ sendBlockHighlight(location, duration, "", 0x6400FF00);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void sendBlockHighlight(Location location, int duration, int argb) {
|
|
||||||
+ sendBlockHighlight(location, duration, "", argb);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void sendBlockHighlight(Location location, int duration, String text) {
|
|
||||||
+ sendBlockHighlight(location, duration, text, 0x6400FF00);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void sendBlockHighlight(Location location, int duration, String text, int argb) {
|
|
||||||
+ this.worlds.forEach((name, world) -> world.sendBlockHighlight(location, duration, text, argb));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void sendBlockHighlight(Location location, int duration, org.bukkit.Color color, int transparency) {
|
|
||||||
+ sendBlockHighlight(location, duration, "", color, transparency);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void sendBlockHighlight(Location location, int duration, String text, org.bukkit.Color color, int transparency) {
|
|
||||||
+ if (transparency < 0 || transparency > 255) throw new IllegalArgumentException("transparency is outside of 0-255 range");
|
|
||||||
+ sendBlockHighlight(location, duration, text, transparency << 24 | color.asRGB());
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void clearBlockHighlights() {
|
|
||||||
+ this.worlds.forEach((name, world) -> clearBlockHighlights());
|
|
||||||
+ }
|
|
||||||
+ // Purpur end - Debug Marker API
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<Recipe> getRecipesFor(ItemStack result) {
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
||||||
index f1e85d6c745397fe012f1ae0fd6f64353eac65a7..5d7af6c1ec557d2a2813b87a64b8c8a99d2f87e0 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
|
||||||
@@ -2379,6 +2379,43 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
|
||||||
return getHandle().getCurrentDifficultyAt(io.papermc.paper.util.MCUtil.toBlockPosition(location)).getEffectiveDifficulty();
|
|
||||||
}
|
|
||||||
// Purpur end - Add local difficulty api
|
|
||||||
+ // Purpur start - Debug Marker API
|
|
||||||
+ @Override
|
|
||||||
+ public void sendBlockHighlight(Location location, int duration) {
|
|
||||||
+ sendBlockHighlight(location, duration, "", 0x6400FF00);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void sendBlockHighlight(Location location, int duration, int argb) {
|
|
||||||
+ sendBlockHighlight(location, duration, "", argb);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void sendBlockHighlight(Location location, int duration, String text) {
|
|
||||||
+ sendBlockHighlight(location, duration, text, 0x6400FF00);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void sendBlockHighlight(Location location, int duration, String text, int argb) {
|
|
||||||
+ net.minecraft.network.protocol.game.DebugPackets.sendGameTestAddMarker(getHandle(), io.papermc.paper.util.MCUtil.toBlockPosition(location), text, argb, duration);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void sendBlockHighlight(Location location, int duration, org.bukkit.Color color, int transparency) {
|
|
||||||
+ sendBlockHighlight(location, duration, "", color, transparency);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void sendBlockHighlight(Location location, int duration, String text, org.bukkit.Color color, int transparency) {
|
|
||||||
+ if (transparency < 0 || transparency > 255) throw new IllegalArgumentException("transparency is outside of 0-255 range");
|
|
||||||
+ sendBlockHighlight(location, duration, text, transparency << 24 | color.asRGB());
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void clearBlockHighlights() {
|
|
||||||
+ net.minecraft.network.protocol.game.DebugPackets.sendGameTestClearPacket(getHandle());
|
|
||||||
+ }
|
|
||||||
+ // Purpur end - Debug Marker API
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Collection<GeneratedStructure> getStructures(int x, int z) {
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
||||||
index da20ebe8858b4ab5bf8ac62aeac1942320bfa91c..95d011d48c312f247d766650b33d2366a774e5bf 100644
|
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
||||||
@@ -3616,4 +3616,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|
||||||
getHandle().resetLastActionTime();
|
|
||||||
}
|
|
||||||
// Purpur end - AFK API
|
|
||||||
+ // Purpur start - Debug Marker API
|
|
||||||
+ @Override
|
|
||||||
+ public void sendBlockHighlight(Location location, int duration) {
|
|
||||||
+ sendBlockHighlight(location, duration, "", 0x6400FF00);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void sendBlockHighlight(Location location, int duration, int argb) {
|
|
||||||
+ sendBlockHighlight(location, duration, "", argb);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void sendBlockHighlight(Location location, int duration, String text) {
|
|
||||||
+ sendBlockHighlight(location, duration, text, 0x6400FF00);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void sendBlockHighlight(Location location, int duration, String text, int argb) {
|
|
||||||
+ if (this.getHandle().connection == null) return;
|
|
||||||
+ this.getHandle().connection.send(new net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket(new net.minecraft.network.protocol.common.custom.GameTestAddMarkerDebugPayload(io.papermc.paper.util.MCUtil.toBlockPosition(location), argb, text, duration)));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void sendBlockHighlight(Location location, int duration, org.bukkit.Color color, int transparency) {
|
|
||||||
+ sendBlockHighlight(location, duration, "", color, transparency);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void sendBlockHighlight(Location location, int duration, String text, org.bukkit.Color color, int transparency) {
|
|
||||||
+ if (transparency < 0 || transparency > 255) throw new IllegalArgumentException("transparency is outside of 0-255 range");
|
|
||||||
+ sendBlockHighlight(location, duration, text, transparency << 24 | color.asRGB());
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void clearBlockHighlights() {
|
|
||||||
+ if (this.getHandle().connection == null) return;
|
|
||||||
+ this.getHandle().connection.send(new net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket(new net.minecraft.network.protocol.common.custom.GameTestClearMarkersDebugPayload()));
|
|
||||||
+ }
|
|
||||||
+ // Purpur end - Debug Marker API
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||||
@@ -2968,4 +_,47 @@
|
@@ -2968,4 +_,133 @@
|
||||||
public static Server.Spigot spigot() {
|
public static Server.Spigot spigot() {
|
||||||
return server.spigot();
|
return server.spigot();
|
||||||
}
|
}
|
||||||
@@ -47,4 +47,90 @@
|
|||||||
+ server.removeFuel(material);
|
+ server.removeFuel(material);
|
||||||
+ }
|
+ }
|
||||||
+ // Purpur end - Added the ability to add combustible items
|
+ // Purpur end - Added the ability to add combustible items
|
||||||
|
+
|
||||||
|
+ // Purpur start - Debug Marker API
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ */
|
||||||
|
+ public static void sendBlockHighlight(@NotNull Location location, int duration) {
|
||||||
|
+ server.sendBlockHighlight(location, duration);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param argb Color of the highlight. ARGB int. Will be ignored on some versions of vanilla client
|
||||||
|
+ */
|
||||||
|
+ public static void sendBlockHighlight(@NotNull Location location, int duration, int argb) {
|
||||||
|
+ server.sendBlockHighlight(location, duration, argb);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param text Text to show above the highlight
|
||||||
|
+ */
|
||||||
|
+ public static void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text) {
|
||||||
|
+ server.sendBlockHighlight(location, duration, text);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param text Text to show above the highlight
|
||||||
|
+ * @param argb Color of the highlight. ARGB int. Will be ignored on some versions of vanilla client
|
||||||
|
+ */
|
||||||
|
+ public static void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text, int argb) {
|
||||||
|
+ server.sendBlockHighlight(location, duration, text, argb);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param color Color of the highlight. Will be ignored on some versions of vanilla client
|
||||||
|
+ * @param transparency Transparency of the highlight
|
||||||
|
+ * @throws IllegalArgumentException If transparency is outside 0-255 range
|
||||||
|
+ */
|
||||||
|
+ public static void sendBlockHighlight(@NotNull Location location, int duration, @NotNull org.bukkit.Color color, int transparency) {
|
||||||
|
+ server.sendBlockHighlight(location, duration, color, transparency);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param text Text to show above the highlight
|
||||||
|
+ * @param color Color of the highlight. Will be ignored on some versions of vanilla client
|
||||||
|
+ * @param transparency Transparency of the highlight
|
||||||
|
+ * @throws IllegalArgumentException If transparency is outside 0-255 range
|
||||||
|
+ */
|
||||||
|
+ public static void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text, @NotNull org.bukkit.Color color, int transparency) {
|
||||||
|
+ server.sendBlockHighlight(location, duration, text, color, transparency);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Clears all debug block highlights for all players on the server.
|
||||||
|
+ */
|
||||||
|
+ public static void clearBlockHighlights() {
|
||||||
|
+ server.clearBlockHighlights();
|
||||||
|
+ }
|
||||||
|
+ // Purpur end - Debug Marker API
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/src/main/java/org/bukkit/Server.java
|
--- a/src/main/java/org/bukkit/Server.java
|
||||||
+++ b/src/main/java/org/bukkit/Server.java
|
+++ b/src/main/java/org/bukkit/Server.java
|
||||||
@@ -2607,4 +_,39 @@
|
@@ -2607,4 +_,111 @@
|
||||||
*/
|
*/
|
||||||
void allowPausing(@NotNull org.bukkit.plugin.Plugin plugin, boolean value);
|
void allowPausing(@NotNull org.bukkit.plugin.Plugin plugin, boolean value);
|
||||||
// Paper end - API to check if the server is sleeping
|
// Paper end - API to check if the server is sleeping
|
||||||
@@ -39,4 +39,76 @@
|
|||||||
+ */
|
+ */
|
||||||
+ public void removeFuel(@NotNull Material material);
|
+ public void removeFuel(@NotNull Material material);
|
||||||
+ // Purpur end - Added the ability to add combustible items
|
+ // Purpur end - Added the ability to add combustible items
|
||||||
|
+
|
||||||
|
+ // Purpur start - Debug Marker API
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ */
|
||||||
|
+ void sendBlockHighlight(@NotNull Location location, int duration);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param argb Color of the highlight. ARGB int. Will be ignored on some versions of vanilla client
|
||||||
|
+ */
|
||||||
|
+ void sendBlockHighlight(@NotNull Location location, int duration, int argb);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param text Text to show above the highlight
|
||||||
|
+ */
|
||||||
|
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param text Text to show above the highlight
|
||||||
|
+ * @param argb Color of the highlight. ARGB int. Will be ignored on some versions of vanilla client
|
||||||
|
+ */
|
||||||
|
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text, int argb);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param color Color of the highlight. Will be ignored on some versions of vanilla client
|
||||||
|
+ * @param transparency Transparency of the highlight
|
||||||
|
+ * @throws IllegalArgumentException If transparency is outside 0-255 range
|
||||||
|
+ */
|
||||||
|
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull org.bukkit.Color color, int transparency);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to all players on the server.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param text Text to show above the highlight
|
||||||
|
+ * @param color Color of the highlight. Will be ignored on some versions of vanilla client
|
||||||
|
+ * @param transparency Transparency of the highlight
|
||||||
|
+ * @throws IllegalArgumentException If transparency is outside 0-255 range
|
||||||
|
+ */
|
||||||
|
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text, @NotNull org.bukkit.Color color, int transparency);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Clears all debug block highlights for all players on the server.
|
||||||
|
+ */
|
||||||
|
+ void clearBlockHighlights();
|
||||||
|
+ // Purpur end - Debug Marker API
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/src/main/java/org/bukkit/World.java
|
--- a/src/main/java/org/bukkit/World.java
|
||||||
+++ b/src/main/java/org/bukkit/World.java
|
+++ b/src/main/java/org/bukkit/World.java
|
||||||
@@ -4246,6 +_,16 @@
|
@@ -4246,6 +_,86 @@
|
||||||
@Nullable
|
@Nullable
|
||||||
public DragonBattle getEnderDragonBattle();
|
public DragonBattle getEnderDragonBattle();
|
||||||
|
|
||||||
@@ -12,6 +12,76 @@
|
|||||||
+ * @return The local difficulty
|
+ * @return The local difficulty
|
||||||
+ */
|
+ */
|
||||||
+ public float getLocalDifficultyAt(@NotNull Location location);
|
+ public float getLocalDifficultyAt(@NotNull Location location);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to all players on this world.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ */
|
||||||
|
+ void sendBlockHighlight(@NotNull Location location, int duration);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to all players on this world.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param argb Color of the highlight. ARGB int. Will be ignored on some versions of vanilla client
|
||||||
|
+ */
|
||||||
|
+ void sendBlockHighlight(@NotNull Location location, int duration, int argb);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to all players on this world.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param text Text to show above the highlight
|
||||||
|
+ */
|
||||||
|
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to all players on this world.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param text Text to show above the highlight
|
||||||
|
+ * @param argb Color of the highlight. ARGB int. Will be ignored on some versions of vanilla client
|
||||||
|
+ */
|
||||||
|
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text, int argb);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to all players on this world.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param color Color of the highlight. Will be ignored on some versions of vanilla client
|
||||||
|
+ * @param transparency Transparency of the highlight
|
||||||
|
+ * @throws IllegalArgumentException If transparency is outside 0-255 range
|
||||||
|
+ */
|
||||||
|
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull org.bukkit.Color color, int transparency);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to all players on this world.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param text Text to show above the highlight
|
||||||
|
+ * @param color Color of the highlight. Will be ignored on some versions of vanilla client
|
||||||
|
+ * @param transparency Transparency of the highlight
|
||||||
|
+ * @throws IllegalArgumentException If transparency is outside 0-255 range
|
||||||
|
+ */
|
||||||
|
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text, @NotNull org.bukkit.Color color, int transparency);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Clears all debug block highlights for all players on this world.
|
||||||
|
+ */
|
||||||
|
+ void clearBlockHighlights();
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
+
|
+
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||||
@@ -3911,4 +_,33 @@
|
@@ -3911,4 +_,103 @@
|
||||||
*/
|
*/
|
||||||
void sendEntityEffect(org.bukkit.@NotNull EntityEffect effect, @NotNull Entity target);
|
void sendEntityEffect(org.bukkit.@NotNull EntityEffect effect, @NotNull Entity target);
|
||||||
// Paper end - entity effect API
|
// Paper end - entity effect API
|
||||||
@@ -32,5 +32,75 @@
|
|||||||
+ * @deprecated Use {@link #resetIdleDuration()} instead
|
+ * @deprecated Use {@link #resetIdleDuration()} instead
|
||||||
+ */
|
+ */
|
||||||
+ void resetIdleTimer();
|
+ void resetIdleTimer();
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to this player.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ */
|
||||||
|
+ void sendBlockHighlight(@NotNull Location location, int duration);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to this player.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param argb Color of the highlight. ARGB int. Will be ignored on some versions of vanilla client
|
||||||
|
+ */
|
||||||
|
+ void sendBlockHighlight(@NotNull Location location, int duration, int argb);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to this player.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param text Text to show above the highlight
|
||||||
|
+ */
|
||||||
|
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to this player.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param text Text to show above the highlight
|
||||||
|
+ * @param argb Color of the highlight. ARGB int. Will be ignored on some versions of vanilla client
|
||||||
|
+ */
|
||||||
|
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text, int argb);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to this player.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param color Color of the highlight. Will be ignored on some versions of vanilla client
|
||||||
|
+ * @param transparency Transparency of the highlight
|
||||||
|
+ * @throws IllegalArgumentException If transparency is outside 0-255 range
|
||||||
|
+ */
|
||||||
|
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull org.bukkit.Color color, int transparency);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Creates debug block highlight on specified block location and show it to this player.
|
||||||
|
+ * <p>
|
||||||
|
+ * Clients may be inconsistent in displaying it.
|
||||||
|
+ * @param location Location to highlight
|
||||||
|
+ * @param duration Duration for highlight to show in milliseconds
|
||||||
|
+ * @param text Text to show above the highlight
|
||||||
|
+ * @param color Color of the highlight. Will be ignored on some versions of vanilla client
|
||||||
|
+ * @param transparency Transparency of the highlight
|
||||||
|
+ * @throws IllegalArgumentException If transparency is outside 0-255 range
|
||||||
|
+ */
|
||||||
|
+ void sendBlockHighlight(@NotNull Location location, int duration, @NotNull String text, @NotNull org.bukkit.Color color, int transparency);
|
||||||
|
+
|
||||||
|
+ /**
|
||||||
|
+ * Clears all debug block highlights
|
||||||
|
+ */
|
||||||
|
+ void clearBlockHighlights();
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
||||||
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
||||||
|
|
||||||
@@ -1645,6 +_,22 @@
|
@@ -1645,6 +_,60 @@
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,6 +43,44 @@
|
|||||||
+ MinecraftServer.getServer().fuelValues().values.keySet().removeIf(itemStack::is);
|
+ MinecraftServer.getServer().fuelValues().values.keySet().removeIf(itemStack::is);
|
||||||
+ }
|
+ }
|
||||||
+ // Purpur end - Added the ability to add combustible items
|
+ // Purpur end - Added the ability to add combustible items
|
||||||
|
+
|
||||||
|
+ // Purpur start - Debug Marker API
|
||||||
|
+ @Override
|
||||||
|
+ public void sendBlockHighlight(Location location, int duration) {
|
||||||
|
+ sendBlockHighlight(location, duration, "", 0x6400FF00);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void sendBlockHighlight(Location location, int duration, int argb) {
|
||||||
|
+ sendBlockHighlight(location, duration, "", argb);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void sendBlockHighlight(Location location, int duration, String text) {
|
||||||
|
+ sendBlockHighlight(location, duration, text, 0x6400FF00);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void sendBlockHighlight(Location location, int duration, String text, int argb) {
|
||||||
|
+ this.worlds.forEach((name, world) -> world.sendBlockHighlight(location, duration, text, argb));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void sendBlockHighlight(Location location, int duration, org.bukkit.Color color, int transparency) {
|
||||||
|
+ sendBlockHighlight(location, duration, "", color, transparency);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void sendBlockHighlight(Location location, int duration, String text, org.bukkit.Color color, int transparency) {
|
||||||
|
+ if (transparency < 0 || transparency > 255) throw new IllegalArgumentException("transparency is outside of 0-255 range");
|
||||||
|
+ sendBlockHighlight(location, duration, text, transparency << 24 | color.asRGB());
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void clearBlockHighlights() {
|
||||||
|
+ this.worlds.forEach((name, world) -> clearBlockHighlights());
|
||||||
|
+ }
|
||||||
|
+ // Purpur end - Debug Marker API
|
||||||
+
|
+
|
||||||
@Override
|
@Override
|
||||||
public List<Recipe> getRecipesFor(ItemStack result) {
|
public List<Recipe> getRecipesFor(ItemStack result) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
@@ -2346,6 +_,12 @@
|
@@ -2346,6 +_,50 @@
|
||||||
return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight());
|
return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9,6 +9,44 @@
|
|||||||
+ return getHandle().getCurrentDifficultyAt(io.papermc.paper.util.MCUtil.toBlockPosition(location)).getEffectiveDifficulty();
|
+ return getHandle().getCurrentDifficultyAt(io.papermc.paper.util.MCUtil.toBlockPosition(location)).getEffectiveDifficulty();
|
||||||
+ }
|
+ }
|
||||||
+ // Purpur end - Add local difficulty api
|
+ // Purpur end - Add local difficulty api
|
||||||
|
+
|
||||||
|
+ // Purpur start - Debug Marker API
|
||||||
|
+ @Override
|
||||||
|
+ public void sendBlockHighlight(Location location, int duration) {
|
||||||
|
+ sendBlockHighlight(location, duration, "", 0x6400FF00);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void sendBlockHighlight(Location location, int duration, int argb) {
|
||||||
|
+ sendBlockHighlight(location, duration, "", argb);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void sendBlockHighlight(Location location, int duration, String text) {
|
||||||
|
+ sendBlockHighlight(location, duration, text, 0x6400FF00);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void sendBlockHighlight(Location location, int duration, String text, int argb) {
|
||||||
|
+ net.minecraft.network.protocol.game.DebugPackets.sendGameTestAddMarker(getHandle(), io.papermc.paper.util.MCUtil.toBlockPosition(location), text, argb, duration);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void sendBlockHighlight(Location location, int duration, org.bukkit.Color color, int transparency) {
|
||||||
|
+ sendBlockHighlight(location, duration, "", color, transparency);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void sendBlockHighlight(Location location, int duration, String text, org.bukkit.Color color, int transparency) {
|
||||||
|
+ if (transparency < 0 || transparency > 255) throw new IllegalArgumentException("transparency is outside of 0-255 range");
|
||||||
|
+ sendBlockHighlight(location, duration, text, transparency << 24 | color.asRGB());
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void clearBlockHighlights() {
|
||||||
|
+ net.minecraft.network.protocol.game.DebugPackets.sendGameTestClearPacket(getHandle());
|
||||||
|
+ }
|
||||||
|
+ // Purpur end - Debug Marker API
|
||||||
+
|
+
|
||||||
@Override
|
@Override
|
||||||
public Collection<GeneratedStructure> getStructures(int x, int z) {
|
public Collection<GeneratedStructure> getStructures(int x, int z) {
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
private void validateSpeed(float value) {
|
private void validateSpeed(float value) {
|
||||||
Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value);
|
Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value);
|
||||||
}
|
}
|
||||||
@@ -3559,4 +_,26 @@
|
@@ -3559,4 +_,66 @@
|
||||||
this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundEntityEventPacket(((CraftEntity) target).getHandle(), effect.getData()));
|
this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundEntityEventPacket(((CraftEntity) target).getHandle(), effect.getData()));
|
||||||
}
|
}
|
||||||
// Paper end - entity effect API
|
// Paper end - entity effect API
|
||||||
@@ -72,4 +72,44 @@
|
|||||||
+ getHandle().resetLastActionTime();
|
+ getHandle().resetLastActionTime();
|
||||||
+ }
|
+ }
|
||||||
+ // Purpur end - AFK API
|
+ // Purpur end - AFK API
|
||||||
|
+
|
||||||
|
+ // Purpur start - Debug Marker API
|
||||||
|
+ @Override
|
||||||
|
+ public void sendBlockHighlight(Location location, int duration) {
|
||||||
|
+ sendBlockHighlight(location, duration, "", 0x6400FF00);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void sendBlockHighlight(Location location, int duration, int argb) {
|
||||||
|
+ sendBlockHighlight(location, duration, "", argb);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void sendBlockHighlight(Location location, int duration, String text) {
|
||||||
|
+ sendBlockHighlight(location, duration, text, 0x6400FF00);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void sendBlockHighlight(Location location, int duration, String text, int argb) {
|
||||||
|
+ if (this.getHandle().connection == null) return;
|
||||||
|
+ this.getHandle().connection.send(new net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket(new net.minecraft.network.protocol.common.custom.GameTestAddMarkerDebugPayload(io.papermc.paper.util.MCUtil.toBlockPosition(location), argb, text, duration)));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void sendBlockHighlight(Location location, int duration, org.bukkit.Color color, int transparency) {
|
||||||
|
+ sendBlockHighlight(location, duration, "", color, transparency);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void sendBlockHighlight(Location location, int duration, String text, org.bukkit.Color color, int transparency) {
|
||||||
|
+ if (transparency < 0 || transparency > 255) throw new IllegalArgumentException("transparency is outside of 0-255 range");
|
||||||
|
+ sendBlockHighlight(location, duration, text, transparency << 24 | color.asRGB());
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Override
|
||||||
|
+ public void clearBlockHighlights() {
|
||||||
|
+ if (this.getHandle().connection == null) return;
|
||||||
|
+ this.getHandle().connection.send(new net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket(new net.minecraft.network.protocol.common.custom.GameTestClearMarkersDebugPayload()));
|
||||||
|
+ }
|
||||||
|
+ // Purpur end - Debug Marker API
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user