summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/ServerConfigurationManager.java
diff options
context:
space:
mode:
authorAndrew Ardill <andrew.ardill@gmail.com>2011-08-12 00:37:22 +1000
committerunknown <user@w.ardill@gmail.com>2011-08-15 14:57:25 +1000
commit12e377501ed7df16ce7e8de2bb99eed41d43fe4e (patch)
treefee981ec5c1d4d52c53480ebd6f392e1e3c91f31 /src/main/java/net/minecraft/server/ServerConfigurationManager.java
parenta6c03ded28b65a936003c6f4391923da75c4f7cb (diff)
downloadcraftbukkit-12e377501ed7df16ce7e8de2bb99eed41d43fe4e.tar
craftbukkit-12e377501ed7df16ce7e8de2bb99eed41d43fe4e.tar.gz
craftbukkit-12e377501ed7df16ce7e8de2bb99eed41d43fe4e.tar.lz
craftbukkit-12e377501ed7df16ce7e8de2bb99eed41d43fe4e.tar.xz
craftbukkit-12e377501ed7df16ce7e8de2bb99eed41d43fe4e.zip
Implements interface for changing the view distance.
Uses default view distance if player's view distance is not set Throws an illegal argument exception if view distance is set too high or too low. Pushes notifications of server and world view distance changes to the player. Move view distance functions from PlayerManger to WorldServer. Set player minimum view distance to 1 for now. Reset player's 'last known' position when recalculating visible chunks. Use per-player view distance in chunk distance checks
Diffstat (limited to 'src/main/java/net/minecraft/server/ServerConfigurationManager.java')
-rw-r--r--src/main/java/net/minecraft/server/ServerConfigurationManager.java20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/main/java/net/minecraft/server/ServerConfigurationManager.java b/src/main/java/net/minecraft/server/ServerConfigurationManager.java
index c7bb9f07..de35bc20 100644
--- a/src/main/java/net/minecraft/server/ServerConfigurationManager.java
+++ b/src/main/java/net/minecraft/server/ServerConfigurationManager.java
@@ -46,6 +46,7 @@ public class ServerConfigurationManager {
// CraftBukkit start
private CraftServer cserver;
+ private int viewDistance;
public ServerConfigurationManager(MinecraftServer minecraftserver) {
minecraftserver.server = new CraftServer(minecraftserver, this);
@@ -58,7 +59,7 @@ public class ServerConfigurationManager {
this.k = minecraftserver.a("banned-ips.txt");
this.l = minecraftserver.a("ops.txt");
this.m = minecraftserver.a("white-list.txt");
- int i = minecraftserver.propertyManager.getInt("view-distance", 10);
+ this.viewDistance = minecraftserver.propertyManager.getInt("view-distance", 10); // CraftBukkit - add field viewDistance
// CraftBukkit - removed playermanagers
this.maxPlayers = minecraftserver.propertyManager.getInt("max-players", 20);
@@ -95,7 +96,7 @@ public class ServerConfigurationManager {
public int a() {
// CraftBukkit start
if (this.server.worlds.size() == 0) {
- return this.server.propertyManager.getInt("view-distance", 10) * 16 - 16;
+ return this.viewDistance * 16 - 16; // Use field value
}
return this.server.worlds.get(0).manager.getFurthestViewableBlock();
// CraftBukkit end
@@ -637,4 +638,19 @@ public class ServerConfigurationManager {
entityplayer.updateInventory(entityplayer.defaultContainer);
entityplayer.C();
}
+
+ // CraftBukkit start - getters and setters for viewDistance
+ public void setViewDistance(int viewDistance) {
+ this.viewDistance = viewDistance;
+ }
+
+ public int getViewDistance() {
+ return viewDistance;
+ }
+
+ public void saveViewDistance() {
+ this.server.propertyManager.properties.setProperty("view-distance", Integer.toString(this.viewDistance));
+ this.server.propertyManager.savePropertiesFile();
+ }
+ // CraftBukkit end
}