mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-02 13:07:06 +01:00
1cfd363d32
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: fc460d1b PR-735: Add Villager#zombify c8c8331e PR-690: Add method to read ItemStack input 62845f2f SPIGOT-6829: Add per-player world border API CraftBukkit Changes: a459f4d4 PR-1033: Add Villager#zombify d65d1430 PR-975: Add method to read ItemStack input b5559f8c SPIGOT-6990: Fix setRepairCost(0) in Anvil 6c308e1b SPIGOT-6829: Add per-player world border API Spigot Changes: 42b61526 SPIGOT-7000: Generation and /locate issues when using custom structure seeds
159 lines
5.3 KiB
Diff
159 lines
5.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Byteflux <byte@byteflux.net>
|
|
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 cf6fe1b5a1531e8d30c0386e36c023d003458b7e..ad342ecd8b86903276c62644624cff55cf190026 100644
|
|
--- a/src/main/java/org/bukkit/World.java
|
|
+++ b/src/main/java/org/bukkit/World.java
|
|
@@ -2597,6 +2597,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 4b24f217742497c0674952eb4eb73f00a0ce4069..621ab05b0cecc8c21c5bcac8956082d138a006ae 100644
|
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
|
@@ -1821,6 +1821,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
|
|
|
|
/**
|