mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-26 04:25:26 +01:00
7b0c576798
Allows us much greater control over the Spigot portion of the code and makes us more "proper" Credit to @Dmck2b for originally passing the idea along a while back
56 lines
2.4 KiB
Diff
56 lines
2.4 KiB
Diff
From 035e120b2df07fb9eb186ab8399fca7a4872eb9f Mon Sep 17 00:00:00 2001
|
|
From: md_5 <md_5@live.com.au>
|
|
Date: Sat, 23 Mar 2013 09:52:41 +1100
|
|
Subject: [PATCH] View Distance
|
|
|
|
This commit allows the user to select per world view distances, and view distances below 3. Be wary of the issues selecting a view distance of 1 or 2 may cause!
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
|
index ae53635..cc1b095 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
|
@@ -26,9 +26,9 @@ public class PlayerChunkMap {
|
|
private final int[][] i = new int[][] { { 1, 0}, { 0, 1}, { -1, 0}, { 0, -1}};
|
|
private boolean wasNotEmpty; // CraftBukkit - add field
|
|
|
|
- public PlayerChunkMap(WorldServer worldserver) {
|
|
+ public PlayerChunkMap(WorldServer worldserver, int viewDistance /* Spigot */) {
|
|
this.world = worldserver;
|
|
- this.a(worldserver.getMinecraftServer().getPlayerList().s());
|
|
+ this.a(viewDistance); // Spigot
|
|
}
|
|
|
|
public WorldServer a() {
|
|
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
|
index 71626fa..8f25a15 100644
|
|
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
|
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
|
@@ -55,7 +55,7 @@ public class WorldServer extends World {
|
|
// CraftBukkit end
|
|
this.server = minecraftserver;
|
|
this.tracker = new EntityTracker(this);
|
|
- this.manager = new PlayerChunkMap(this);
|
|
+ this.manager = new PlayerChunkMap(this, spigotConfig.viewDistance); // Spigot
|
|
if (this.entitiesById == null) {
|
|
this.entitiesById = new IntHashMap();
|
|
}
|
|
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
|
index 1545a61..6cc3a91 100644
|
|
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
|
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
|
@@ -124,4 +124,11 @@ public class SpigotWorldConfig
|
|
expMerge = getDouble("merge-radius.exp", 3.0 );
|
|
log( "Experience Merge Radius: " + expMerge );
|
|
}
|
|
+
|
|
+ public int viewDistance;
|
|
+ private void viewDistance()
|
|
+ {
|
|
+ viewDistance = getInt( "view-distance", Bukkit.getViewDistance() );
|
|
+ log( "View Distance: " + viewDistance );
|
|
+ }
|
|
}
|
|
--
|
|
1.9.1
|
|
|