aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0018-Add-view-distance-API.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api/0018-Add-view-distance-API.patch')
-rw-r--r--patches/api/0018-Add-view-distance-API.patch159
1 files changed, 159 insertions, 0 deletions
diff --git a/patches/api/0018-Add-view-distance-API.patch b/patches/api/0018-Add-view-distance-API.patch
new file mode 100644
index 0000000000..ed3258121d
--- /dev/null
+++ b/patches/api/0018-Add-view-distance-API.patch
@@ -0,0 +1,159 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Byteflux <[email protected]>
+Date: Mon, 29 Feb 2016 18:05:37 -0600
+Subject: [PATCH] Add view distance API
+
+Add per player no-tick, tick, and send view distances.
+
+Also add send/no-tick view distance to World.
+
+diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
+index 1403d28bf9124e3c4cd741dfda06400318e8a0a0..3559115d09b57acf5c2853b811862e5131f2a625 100644
+--- a/src/main/java/org/bukkit/World.java
++++ b/src/main/java/org/bukkit/World.java
+@@ -2663,6 +2663,62 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
+ int getSimulationDistance();
+ // Spigot end
+
++ // Paper start - view distance api
++ /**
++ * Sets the view distance for this world.
++ * @param viewDistance view distance in [2, 32]
++ */
++ void setViewDistance(int viewDistance);
++
++ /**
++ * Sets the simulation distance for this world.
++ * @param simulationDistance simulation distance in [2, 32]
++ */
++ void setSimulationDistance(int simulationDistance);
++
++ /**
++ * Returns the no-tick view distance for this world.
++ * <p>
++ * No-tick view distance is the view distance where chunks will load, however the chunks and their entities will not
++ * be set to tick.
++ * </p>
++ * @return The no-tick view distance for this world.
++ * @deprecated Use {@link #getViewDistance()}
++ */
++ @Deprecated
++ int getNoTickViewDistance();
++
++ /**
++ * Sets the no-tick view distance for this world.
++ * <p>
++ * No-tick view distance is the view distance where chunks will load, however the chunks and their entities will not
++ * be set to tick.
++ * </p>
++ * @param viewDistance view distance in [2, 32]
++ * @deprecated Use {@link #setViewDistance(int)}
++ */
++ @Deprecated
++ void setNoTickViewDistance(int viewDistance);
++
++ /**
++ * Gets the sending view distance for this world.
++ * <p>
++ * Sending view distance is the view distance where chunks will load in for players in this world.
++ * </p>
++ * @return The sending view distance for this world.
++ */
++ int getSendViewDistance();
++
++ /**
++ * Sets the sending view distance for this world.
++ * <p>
++ * Sending view distance is the view distance where chunks will load in for players in this world.
++ * </p>
++ * @param viewDistance view distance in [2, 32] or -1
++ */
++ void setSendViewDistance(int viewDistance);
++ // Paper end - view distance api
++
+ // Spigot start
+ public class Spigot {
+
+diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
+index f21183cd5491b09e4543839252aed1ea10ddf849..f9b9e0269b3a9402c5be1c1c2007956415ff708a 100644
+--- a/src/main/java/org/bukkit/entity/Player.java
++++ b/src/main/java/org/bukkit/entity/Player.java
+@@ -2212,6 +2212,78 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+ * @param affects Whether the player can affect mob spawning
+ */
+ public void setAffectsSpawning(boolean affects);
++
++ /**
++ * Gets the view distance for this player
++ *
++ * @return the player's view distance
++ * @see org.bukkit.World#getViewDistance()
++ */
++ public int getViewDistance();
++
++ /**
++ * Sets the view distance for this player
++ *
++ * @param viewDistance the player's view distance
++ * @see org.bukkit.World#setViewDistance(int)
++ */
++ public void setViewDistance(int viewDistance);
++
++ /**
++ * Gets the simulation distance for this player
++ *
++ * @return the player's simulation distance
++ */
++ public int getSimulationDistance();
++
++ /**
++ * Sets the simulation distance for this player
++ *
++ * @param simulationDistance the player's new simulation distance
++ */
++ public void setSimulationDistance(int simulationDistance);
++
++ /**
++ * Gets the no-ticking view distance for this player.
++ * <p>
++ * No-tick view distance is the view distance where chunks will load, however the chunks and their entities will not
++ * be set to tick.
++ * </p>
++ * @return The no-tick view distance for this player.
++ * @deprecated Use {@link #getViewDistance()}
++ */
++ @Deprecated
++ public int getNoTickViewDistance();
++
++ /**
++ * Sets the no-ticking view distance for this player.
++ * <p>
++ * No-tick view distance is the view distance where chunks will load, however the chunks and their entities will not
++ * be set to tick.
++ * </p>
++ * @param viewDistance view distance in [2, 32] or -1
++ * @deprecated Use {@link #setViewDistance(int)}
++ */
++ @Deprecated
++ public void setNoTickViewDistance(int viewDistance);
++
++ /**
++ * Gets the sending view distance for this player.
++ * <p>
++ * Sending view distance is the view distance where chunks will load in for players.
++ * </p>
++ * @return The sending view distance for this player.
++ */
++ public int getSendViewDistance();
++
++ /**
++ * Sets the sending view distance for this player.
++ * <p>
++ * Sending view distance is the view distance where chunks will load in for players.
++ * </p>
++ * @param viewDistance view distance in [2, 32] or -1
++ */
++ public void setSendViewDistance(int viewDistance);
+ // Paper end
+
+ /**