PaperMC/CraftBukkit-Patches/0023-Send-maps-a-lot-less-often-to-combat-the-lag-they-ca.patch
2013-02-15 18:34:42 +11:00

64 lines
3.1 KiB
Diff

From e5df30285b9c210b6734435a8ff9286edeb009bf Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sat, 2 Feb 2013 19:40:53 +1100
Subject: [PATCH] Send maps a lot less often to combat the lag they cause.
---
src/main/java/net/minecraft/server/EntityTrackerEntry.java | 2 +-
src/main/java/org/bukkit/craftbukkit/CraftServer.java | 1 +
src/main/java/org/bukkit/craftbukkit/Spigot.java | 1 +
src/main/resources/configurations/bukkit.yml | 1 +
4 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
index a026c4c..27a548f 100644
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
@@ -73,7 +73,7 @@ public class EntityTrackerEntry {
this.broadcast(new Packet39AttachEntity(this.tracker, this.tracker.vehicle));
}
- if (this.tracker instanceof EntityItemFrame && this.m % 10 == 0) {
+ if (this.tracker instanceof EntityItemFrame && this.m % tracker.world.getServer().mapSendInterval == 0) {
EntityItemFrame i4 = (EntityItemFrame) this.tracker;
ItemStack i5 = i4.i();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index ef52f32..16d397e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -178,6 +178,7 @@ public final class CraftServer implements Server {
public boolean ipFilter = false;
public boolean commandComplete = true;
public List<String> spamGuardExclusions;
+ public int mapSendInterval = 10000;
// Spigot end
static {
diff --git a/src/main/java/org/bukkit/craftbukkit/Spigot.java b/src/main/java/org/bukkit/craftbukkit/Spigot.java
index ccb1cc7..0fe463a 100644
--- a/src/main/java/org/bukkit/craftbukkit/Spigot.java
+++ b/src/main/java/org/bukkit/craftbukkit/Spigot.java
@@ -22,6 +22,7 @@ public class Spigot {
server.ipFilter = configuration.getBoolean("settings.filter-unsafe-ips", false);
server.commandComplete = configuration.getBoolean("settings.command-complete", true);
server.spamGuardExclusions = configuration.getStringList("settings.spam-exclusions");
+ server.mapSendInterval = configuration.getInt("settings.map-send-interval", server.mapSendInterval);
server.orebfuscatorEnabled = configuration.getBoolean("orebfuscator.enable", false);
server.orebfuscatorUpdateRadius = configuration.getInt("orebfuscator.update-radius", 2);
diff --git a/src/main/resources/configurations/bukkit.yml b/src/main/resources/configurations/bukkit.yml
index 6931712..474ac54 100644
--- a/src/main/resources/configurations/bukkit.yml
+++ b/src/main/resources/configurations/bukkit.yml
@@ -34,6 +34,7 @@ settings:
command-complete: true
spam-exclusions:
- /skill
+ map-send-interval: 10000
world-settings:
default:
growth-chunks-per-tick: 650
--
1.8.1-rc2