mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-29 12:27:59 +01:00
e7f3ca4505
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
53 lines
2.6 KiB
Diff
53 lines
2.6 KiB
Diff
From 0000000000000000000000000000000000000000 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
|
@@ -0,0 +0,0 @@ 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
|
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
|
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
|
@@ -0,0 +0,0 @@ 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
|
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
|
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
|
@@ -0,0 +0,0 @@ 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 );
|
|
+ }
|
|
}
|
|
--
|