geforkt von Mirrors/Paper
fe031329f3
You can now specify how many letters of the command must be typed before it will be tab completed this will help deter people from just spamming round all the commands to see if there is one incorrectly set up. 0 will tab complete all commands -1 will disable tab complete 1 will mean you have to type the first letter 2 will mean you have to the second letter... etc...
95 Zeilen
3.7 KiB
Diff
95 Zeilen
3.7 KiB
Diff
From efb95588df7ce3c7de9c40105bdf4aa2d290ac7a Mon Sep 17 00:00:00 2001
|
|
From: Thinkofdeath <thethinkofdeath@gmail.com>
|
|
Date: Tue, 7 Jan 2014 15:56:26 +0000
|
|
Subject: [PATCH] Allow statistics to be disabled/forced
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/ServerStatisticManager.java b/src/main/java/net/minecraft/server/ServerStatisticManager.java
|
|
index 0becb94..b868d08 100644
|
|
--- a/src/main/java/net/minecraft/server/ServerStatisticManager.java
|
|
+++ b/src/main/java/net/minecraft/server/ServerStatisticManager.java
|
|
@@ -32,6 +32,14 @@ public class ServerStatisticManager extends StatisticManager {
|
|
public ServerStatisticManager(MinecraftServer minecraftserver, File file1) {
|
|
this.c = minecraftserver;
|
|
this.d = file1;
|
|
+ // Spigot start
|
|
+ for ( String name : org.spigotmc.SpigotConfig.forcedStats.keySet() )
|
|
+ {
|
|
+ StatisticWrapper wrapper = new StatisticWrapper();
|
|
+ wrapper.a( org.spigotmc.SpigotConfig.forcedStats.get( name ) );
|
|
+ a.put( StatisticList.getStatistic( name ), wrapper );
|
|
+ }
|
|
+ // Spigot end
|
|
}
|
|
|
|
public void a() {
|
|
@@ -48,6 +56,7 @@ public class ServerStatisticManager extends StatisticManager {
|
|
}
|
|
|
|
public void b() {
|
|
+ if ( org.spigotmc.SpigotConfig.disableStatSaving ) return; // Spigot
|
|
try {
|
|
FileUtils.writeStringToFile(this.d, a(this.a));
|
|
} catch (IOException ioexception) {
|
|
@@ -56,6 +65,7 @@ public class ServerStatisticManager extends StatisticManager {
|
|
}
|
|
|
|
public void setStatistic(EntityHuman entityhuman, Statistic statistic, int i) {
|
|
+ if ( org.spigotmc.SpigotConfig.disableStatSaving ) return; // Spigot
|
|
int j = statistic.d() ? this.getStatisticValue(statistic) : 0;
|
|
|
|
super.setStatistic(entityhuman, statistic, i);
|
|
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
|
|
index af73544..54d9117 100644
|
|
--- a/src/main/java/org/spigotmc/SpigotConfig.java
|
|
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
|
|
@@ -10,10 +10,13 @@ import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.logging.Level;
|
|
+
|
|
+import gnu.trove.map.hash.TObjectIntHashMap;
|
|
import net.minecraft.server.MinecraftServer;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.ChatColor;
|
|
import org.bukkit.command.Command;
|
|
+import org.bukkit.configuration.ConfigurationSection;
|
|
import org.bukkit.configuration.file.YamlConfiguration;
|
|
|
|
public class SpigotConfig
|
|
@@ -214,4 +217,31 @@ public class SpigotConfig
|
|
private static void lateBind() {
|
|
lateBind = getBoolean( "settings.late-bind", false );
|
|
}
|
|
+
|
|
+ public static boolean disableStatSaving;
|
|
+ public static TObjectIntHashMap<String> forcedStats = new TObjectIntHashMap<String>();
|
|
+ private static void stats()
|
|
+ {
|
|
+ disableStatSaving = getBoolean( "stats.disable-saving", false );
|
|
+
|
|
+ if ( !config.contains( "stats.forced-stats" ) ) {
|
|
+ config.createSection( "stats.forced-stats" );
|
|
+ }
|
|
+
|
|
+ ConfigurationSection section = config.getConfigurationSection( "stats.forced-stats" );
|
|
+ for ( String name : section.getKeys( true ) )
|
|
+ {
|
|
+ if ( section.isInt( name ) )
|
|
+ {
|
|
+ forcedStats.put( name, section.getInt( name ) );
|
|
+ }
|
|
+ }
|
|
+
|
|
+ if ( disableStatSaving && section.getInt( "achievement.openInventory", 0 ) < 1 )
|
|
+ {
|
|
+ Bukkit.getLogger().warning( "*** WARNING *** stats.disable-saving is true but stats.forced-stats.achievement.openInventory" +
|
|
+ " isn't set to 1. Disabling stat saving without forcing the achievement may cause it to get stuck on the player's " +
|
|
+ "screen." );
|
|
+ }
|
|
+ }
|
|
}
|
|
--
|
|
1.8.3.2
|
|
|