From 2a34593e2cd2cff381e8d6d6e1a1427221cd24c4 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 1a3cc03..6c7fa4f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -179,6 +179,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 3bfeb49..5827820 100644
--- a/src/main/java/org/bukkit/craftbukkit/Spigot.java
+++ b/src/main/java/org/bukkit/craftbukkit/Spigot.java
@@ -12,6 +12,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.orebfuscatorEngineMode = configuration.getInt("orebfuscator.engine-mode", 1);
diff --git a/src/main/resources/configurations/bukkit.yml b/src/main/resources/configurations/bukkit.yml
index 78e9a66..548f7c1 100644
--- a/src/main/resources/configurations/bukkit.yml
+++ b/src/main/resources/configurations/bukkit.yml
@@ -31,6 +31,7 @@ settings:
     command-complete: true
     spam-exclusions:
        - /skill
+    map-send-interval: 10000
 world-settings:
     default:
         growth-chunks-per-tick: 650
-- 
1.8.1-rc2