From 941af38ac77fd11dd031310f48a52abeb85efc0b Mon Sep 17 00:00:00 2001 From: md_5 Date: Mon, 23 Sep 2013 10:48:38 +1000 Subject: [PATCH] Revert "Remove metrics now to avoid issues later on. TODO: Make own metrics." This reverts commit 00dea91d6407b14a5b2515226d99a685625699d1. --- CraftBukkit-Patches/0022-Metrics.patch | 692 ++++++++++++++++++ ...hread.patch => 0023-Watchdog-Thread.patch} | 8 +- .../{0023-Netty.patch => 0024-Netty.patch} | 6 +- ...patch => 0025-PlayerItemDamageEvent.patch} | 2 +- ...ch => 0026-Faster-UUID-for-entities.patch} | 4 +- ...ch => 0027-Prevent-NPE-in-CraftSign.patch} | 2 +- ...atch => 0028-Entity-Tracking-Ranges.patch} | 4 +- ...rt.patch => 0029-BungeeCord-Support.patch} | 6 +- ... => 0030-Limit-Custom-Map-Rendering.patch} | 2 +- ...> 0031-Enable-Improved-Ping-Sending.patch} | 2 +- ....patch => 0032-Filter-Invalid-Names.patch} | 2 +- ...ch => 0033-Thread-Naming-and-Tweaks.patch} | 4 +- ...h => 0034-Close-Unloaded-Save-Files.patch} | 4 +- ...35-Improve-NextTickList-Performance.patch} | 4 +- ...ption.patch => 0036-Remove-o-Option.patch} | 2 +- ...patch => 0037-Recipe-Deconstruction.patch} | 2 +- ...I.patch => 0038-Implement-Arrow-API.patch} | 2 +- ...icle-API.patch => 0039-Particle-API.patch} | 4 +- ...owns.patch => 0040-Hopper-Cooldowns.patch} | 2 +- ...patch => 0041-Prevent-Shutdown-Hang.patch} | 2 +- ...=> 0042-Implement-SpawnerSpawnEvent.patch} | 2 +- ...tch => 0043-Firework-Meta-Crash-Fix.patch} | 2 +- ...4-Do-Not-Search-for-Offline-Players.patch} | 2 +- ... 0045-Enable-Foreign-Language-Signs.patch} | 2 +- ...atch => 0046-Spam-Filter-Exclusions.patch} | 6 +- ...-Allow-Disabling-of-Command-Logging.patch} | 6 +- ...ow-Disabling-of-Command-TabComplete.patch} | 6 +- ...patch => 0049-Configurable-Messages.patch} | 6 +- ...isabling-of-Random-Lighting-Updates.patch} | 4 +- ...ing.patch => 0051-Add-Log-Filtering.patch} | 6 +- ...ry.getItem-use-both-containers.-Fix.patch} | 2 +- ...h => 0053-Always-Fire-PreLoginEvent.patch} | 2 +- ... => 0054-Properly-Close-Inventories.patch} | 4 +- ...0055-Disallow-Interaction-With-Self.patch} | 2 +- ...tch => 0056-Lower-Chunk-Compression.patch} | 2 +- ...57-Entity-Mount-and-Dismount-Events.patch} | 6 +- ...tch => 0058-Colour-Console-Messages.patch} | 4 +- ...erly-Consume-Bonemeal-in-Dispensers.patch} | 2 +- ...ent-Ghost-Players-Caused-by-Plugins.patch} | 2 +- ...> 0061-Entity-ticking-chunk-caching.patch} | 4 +- ... 0062-Plug-World-Unload-Memory-Leak.patch} | 2 +- ....patch => 0063-Player-Collision-API.patch} | 2 +- ...y-Disable-Snooper-When-Not-Required.patch} | 4 +- ...d-Getter-for-Entity-Invulnerability.patch} | 2 +- ...ist.patch => 0066-Guard-entity-list.patch} | 4 +- ...ch => 0067-Cap-Minimum-Player-Speed.patch} | 4 +- ...e-Physics-When-Updating-Attachables.patch} | 2 +- ...and-Health-for-PlayerConsumeItemEve.patch} | 4 +- ...atch => 0070-Nerf-Zombie-Lag-Issues.patch} | 2 +- ...BlockEvent-for-Fire-Arrows-hitting-.patch} | 2 +- ...Disabling-of-1.6.3-Structure-Saving.patch} | 2 +- ...ate.patch => 0073-Item-Despawn-Rate.patch} | 2 +- 52 files changed, 776 insertions(+), 84 deletions(-) create mode 100644 CraftBukkit-Patches/0022-Metrics.patch rename CraftBukkit-Patches/{0022-Watchdog-Thread.patch => 0023-Watchdog-Thread.patch} (98%) rename CraftBukkit-Patches/{0023-Netty.patch => 0024-Netty.patch} (99%) rename CraftBukkit-Patches/{0024-PlayerItemDamageEvent.patch => 0025-PlayerItemDamageEvent.patch} (97%) rename CraftBukkit-Patches/{0025-Faster-UUID-for-entities.patch => 0026-Faster-UUID-for-entities.patch} (91%) rename CraftBukkit-Patches/{0026-Prevent-NPE-in-CraftSign.patch => 0027-Prevent-NPE-in-CraftSign.patch} (96%) rename CraftBukkit-Patches/{0027-Entity-Tracking-Ranges.patch => 0028-Entity-Tracking-Ranges.patch} (98%) rename CraftBukkit-Patches/{0028-BungeeCord-Support.patch => 0029-BungeeCord-Support.patch} (97%) rename CraftBukkit-Patches/{0029-Limit-Custom-Map-Rendering.patch => 0030-Limit-Custom-Map-Rendering.patch} (98%) rename CraftBukkit-Patches/{0030-Enable-Improved-Ping-Sending.patch => 0031-Enable-Improved-Ping-Sending.patch} (97%) rename CraftBukkit-Patches/{0031-Filter-Invalid-Names.patch => 0032-Filter-Invalid-Names.patch} (95%) rename CraftBukkit-Patches/{0032-Thread-Naming-and-Tweaks.patch => 0033-Thread-Naming-and-Tweaks.patch} (97%) rename CraftBukkit-Patches/{0033-Close-Unloaded-Save-Files.patch => 0034-Close-Unloaded-Save-Files.patch} (96%) rename CraftBukkit-Patches/{0034-Improve-NextTickList-Performance.patch => 0035-Improve-NextTickList-Performance.patch} (99%) rename CraftBukkit-Patches/{0035-Remove-o-Option.patch => 0036-Remove-o-Option.patch} (92%) rename CraftBukkit-Patches/{0036-Recipe-Deconstruction.patch => 0037-Recipe-Deconstruction.patch} (97%) rename CraftBukkit-Patches/{0037-Implement-Arrow-API.patch => 0038-Implement-Arrow-API.patch} (93%) rename CraftBukkit-Patches/{0038-Particle-API.patch => 0039-Particle-API.patch} (99%) rename CraftBukkit-Patches/{0039-Hopper-Cooldowns.patch => 0040-Hopper-Cooldowns.patch} (98%) rename CraftBukkit-Patches/{0040-Prevent-Shutdown-Hang.patch => 0041-Prevent-Shutdown-Hang.patch} (94%) rename CraftBukkit-Patches/{0041-Implement-SpawnerSpawnEvent.patch => 0042-Implement-SpawnerSpawnEvent.patch} (98%) rename CraftBukkit-Patches/{0042-Firework-Meta-Crash-Fix.patch => 0043-Firework-Meta-Crash-Fix.patch} (94%) rename CraftBukkit-Patches/{0043-Do-Not-Search-for-Offline-Players.patch => 0044-Do-Not-Search-for-Offline-Players.patch} (93%) rename CraftBukkit-Patches/{0044-Enable-Foreign-Language-Signs.patch => 0045-Enable-Foreign-Language-Signs.patch} (93%) rename CraftBukkit-Patches/{0045-Spam-Filter-Exclusions.patch => 0046-Spam-Filter-Exclusions.patch} (93%) rename CraftBukkit-Patches/{0046-Allow-Disabling-of-Command-Logging.patch => 0047-Allow-Disabling-of-Command-Logging.patch} (91%) rename CraftBukkit-Patches/{0047-Allow-Disabling-of-Command-TabComplete.patch => 0048-Allow-Disabling-of-Command-TabComplete.patch} (91%) rename CraftBukkit-Patches/{0048-Configurable-Messages.patch => 0049-Configurable-Messages.patch} (97%) rename CraftBukkit-Patches/{0049-Allow-Disabling-of-Random-Lighting-Updates.patch => 0050-Allow-Disabling-of-Random-Lighting-Updates.patch} (94%) rename CraftBukkit-Patches/{0050-Add-Log-Filtering.patch => 0051-Add-Log-Filtering.patch} (94%) rename CraftBukkit-Patches/{0051-Make-AnvilInventory.getItem-use-both-containers.-Fix.patch => 0052-Make-AnvilInventory.getItem-use-both-containers.-Fix.patch} (97%) rename CraftBukkit-Patches/{0052-Always-Fire-PreLoginEvent.patch => 0053-Always-Fire-PreLoginEvent.patch} (98%) rename CraftBukkit-Patches/{0053-Properly-Close-Inventories.patch => 0054-Properly-Close-Inventories.patch} (96%) rename CraftBukkit-Patches/{0054-Disallow-Interaction-With-Self.patch => 0055-Disallow-Interaction-With-Self.patch} (93%) rename CraftBukkit-Patches/{0055-Lower-Chunk-Compression.patch => 0056-Lower-Chunk-Compression.patch} (95%) rename CraftBukkit-Patches/{0056-Entity-Mount-and-Dismount-Events.patch => 0057-Entity-Mount-and-Dismount-Events.patch} (95%) rename CraftBukkit-Patches/{0057-Colour-Console-Messages.patch => 0058-Colour-Console-Messages.patch} (89%) rename CraftBukkit-Patches/{0058-Properly-Consume-Bonemeal-in-Dispensers.patch => 0059-Properly-Consume-Bonemeal-in-Dispensers.patch} (97%) rename CraftBukkit-Patches/{0059-Prevent-Ghost-Players-Caused-by-Plugins.patch => 0060-Prevent-Ghost-Players-Caused-by-Plugins.patch} (94%) rename CraftBukkit-Patches/{0060-Entity-ticking-chunk-caching.patch => 0061-Entity-ticking-chunk-caching.patch} (97%) rename CraftBukkit-Patches/{0061-Plug-World-Unload-Memory-Leak.patch => 0062-Plug-World-Unload-Memory-Leak.patch} (92%) rename CraftBukkit-Patches/{0062-Player-Collision-API.patch => 0063-Player-Collision-API.patch} (98%) rename CraftBukkit-Patches/{0063-Fully-Disable-Snooper-When-Not-Required.patch => 0064-Fully-Disable-Snooper-When-Not-Required.patch} (90%) rename CraftBukkit-Patches/{0064-Add-Getter-for-Entity-Invulnerability.patch => 0065-Add-Getter-for-Entity-Invulnerability.patch} (92%) rename CraftBukkit-Patches/{0065-Guard-entity-list.patch => 0066-Guard-entity-list.patch} (96%) rename CraftBukkit-Patches/{0066-Cap-Minimum-Player-Speed.patch => 0067-Cap-Minimum-Player-Speed.patch} (92%) rename CraftBukkit-Patches/{0067-Update-Physics-When-Updating-Attachables.patch => 0068-Update-Physics-When-Updating-Attachables.patch} (95%) rename CraftBukkit-Patches/{0068-Update-Inventory-and-Health-for-PlayerConsumeItemEve.patch => 0069-Update-Inventory-and-Health-for-PlayerConsumeItemEve.patch} (91%) rename CraftBukkit-Patches/{0069-Nerf-Zombie-Lag-Issues.patch => 0070-Nerf-Zombie-Lag-Issues.patch} (98%) rename CraftBukkit-Patches/{0070-Call-EntityChangeBlockEvent-for-Fire-Arrows-hitting-.patch => 0071-Call-EntityChangeBlockEvent-for-Fire-Arrows-hitting-.patch} (96%) rename CraftBukkit-Patches/{0071-Allow-Disabling-of-1.6.3-Structure-Saving.patch => 0072-Allow-Disabling-of-1.6.3-Structure-Saving.patch} (97%) rename CraftBukkit-Patches/{0072-Item-Despawn-Rate.patch => 0073-Item-Despawn-Rate.patch} (95%) diff --git a/CraftBukkit-Patches/0022-Metrics.patch b/CraftBukkit-Patches/0022-Metrics.patch new file mode 100644 index 000000000..f5cab7e79 --- /dev/null +++ b/CraftBukkit-Patches/0022-Metrics.patch @@ -0,0 +1,692 @@ +From 9b4f7770cae78ac23e89a6cb92bfcdac3517da6c Mon Sep 17 00:00:00 2001 +From: md_5 +Date: Sat, 23 Feb 2013 08:58:35 +1100 +Subject: [PATCH] Metrics + + +diff --git a/src/main/java/org/spigotmc/Metrics.java b/src/main/java/org/spigotmc/Metrics.java +new file mode 100644 +index 0000000..f1690a2 +--- /dev/null ++++ b/src/main/java/org/spigotmc/Metrics.java +@@ -0,0 +1,645 @@ ++/* ++ * Copyright 2011-2013 Tyler Blair. All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without modification, are ++ * permitted provided that the following conditions are met: ++ * ++ * 1. Redistributions of source code must retain the above copyright notice, this list of ++ * conditions and the following disclaimer. ++ * ++ * 2. Redistributions in binary form must reproduce the above copyright notice, this list ++ * of conditions and the following disclaimer in the documentation and/or other materials ++ * provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED ++ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND ++ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR ++ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR ++ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ++ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ++ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ++ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ++ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ * ++ * The views and conclusions contained in the software and documentation are those of the ++ * authors and contributors and should not be interpreted as representing official policies, ++ * either expressed or implied, of anybody else. ++ */ ++package org.spigotmc; ++ ++import org.bukkit.Bukkit; ++import org.bukkit.configuration.file.YamlConfiguration; ++import org.bukkit.configuration.InvalidConfigurationException; ++import org.bukkit.plugin.Plugin; ++import org.bukkit.plugin.PluginDescriptionFile; ++import org.bukkit.scheduler.BukkitTask; ++ ++import java.io.BufferedReader; ++import java.io.File; ++import java.io.IOException; ++import java.io.InputStreamReader; ++import java.io.OutputStreamWriter; ++import java.io.UnsupportedEncodingException; ++import java.net.Proxy; ++import java.net.URL; ++import java.net.URLConnection; ++import java.net.URLEncoder; ++import java.util.Collections; ++import java.util.HashSet; ++import java.util.Iterator; ++import java.util.LinkedHashSet; ++import java.util.Set; ++import java.util.Timer; ++import java.util.TimerTask; ++import java.util.UUID; ++import java.util.concurrent.TimeUnit; ++import java.util.logging.Level; ++import net.minecraft.server.MinecraftServer; ++ ++/** ++ *

The metrics class obtains data about a plugin and submits statistics about it to the metrics backend.

++ * Public methods provided by this class:

++ * ++ * Graph createGraph(String name);
++ * void addCustomData(BukkitMetrics.Plotter plotter);
++ * void start();
++ *
++ */ ++public class Metrics { ++ ++ /** ++ * The current revision number ++ */ ++ private final static int REVISION = 6; ++ /** ++ * The base url of the metrics domain ++ */ ++ private static final String BASE_URL = "http://mcstats.org"; ++ /** ++ * The url used to report a server's status ++ */ ++ private static final String REPORT_URL = "/report/%s"; ++ /** ++ * The separator to use for custom data. This MUST NOT change unless you are hosting your own version of metrics and ++ * want to change it. ++ */ ++ private static final String CUSTOM_DATA_SEPARATOR = "~~"; ++ /** ++ * Interval of time to ping (in minutes) ++ */ ++ private static final int PING_INTERVAL = 10; ++ /** ++ * All of the custom graphs to submit to metrics ++ */ ++ private final Set graphs = Collections.synchronizedSet(new HashSet()); ++ /** ++ * The default graph, used for addCustomData when you don't want a specific graph ++ */ ++ private final Graph defaultGraph = new Graph("Default"); ++ /** ++ * The plugin configuration file ++ */ ++ private final YamlConfiguration configuration; ++ /** ++ * The plugin configuration file ++ */ ++ private final File configurationFile; ++ /** ++ * Unique server id ++ */ ++ private final String guid; ++ /** ++ * Debug mode ++ */ ++ private final boolean debug; ++ /** ++ * Lock for synchronization ++ */ ++ private final Object optOutLock = new Object(); ++ /** ++ * The scheduled task ++ */ ++ private volatile Timer task = null; ++ ++ public Metrics() throws IOException { ++ // load the config ++ configurationFile = getConfigFile(); ++ configuration = YamlConfiguration.loadConfiguration(configurationFile); ++ ++ // add some defaults ++ configuration.addDefault("opt-out", false); ++ configuration.addDefault("guid", UUID.randomUUID().toString()); ++ configuration.addDefault("debug", false); ++ ++ // Do we need to create the file? ++ if (configuration.get("guid", null) == null) { ++ configuration.options().header("http://mcstats.org").copyDefaults(true); ++ configuration.save(configurationFile); ++ } ++ ++ // Load the guid then ++ guid = configuration.getString("guid"); ++ debug = configuration.getBoolean("debug", false); ++ } ++ ++ /** ++ * Construct and create a Graph that can be used to separate specific plotters to their own graphs on the metrics ++ * website. Plotters can be added to the graph object returned. ++ * ++ * @param name The name of the graph ++ * @return Graph object created. Will never return NULL under normal circumstances unless bad parameters are given ++ */ ++ public Graph createGraph(final String name) { ++ if (name == null) { ++ throw new IllegalArgumentException("Graph name cannot be null"); ++ } ++ ++ // Construct the graph object ++ final Graph graph = new Graph(name); ++ ++ // Now we can add our graph ++ graphs.add(graph); ++ ++ // and return back ++ return graph; ++ } ++ ++ /** ++ * Add a Graph object to BukkitMetrics that represents data for the plugin that should be sent to the backend ++ * ++ * @param graph The name of the graph ++ */ ++ public void addGraph(final Graph graph) { ++ if (graph == null) { ++ throw new IllegalArgumentException("Graph cannot be null"); ++ } ++ ++ graphs.add(graph); ++ } ++ ++ /** ++ * Adds a custom data plotter to the default graph ++ * ++ * @param plotter The plotter to use to plot custom data ++ */ ++ public void addCustomData(final Plotter plotter) { ++ if (plotter == null) { ++ throw new IllegalArgumentException("Plotter cannot be null"); ++ } ++ ++ // Add the plotter to the graph o/ ++ defaultGraph.addPlotter(plotter); ++ ++ // Ensure the default graph is included in the submitted graphs ++ graphs.add(defaultGraph); ++ } ++ ++ /** ++ * Start measuring statistics. This will immediately create an async repeating task as the plugin and send the ++ * initial data to the metrics backend, and then after that it will post in increments of PING_INTERVAL * 1200 ++ * ticks. ++ * ++ * @return True if statistics measuring is running, otherwise false. ++ */ ++ public boolean start() { ++ synchronized (optOutLock) { ++ // Did we opt out? ++ if (isOptOut()) { ++ return false; ++ } ++ ++ // Is metrics already running? ++ if (task != null) { ++ return true; ++ } ++ ++ // Begin hitting the server with glorious data ++ task = new Timer("Spigot Metrics Thread", true); ++ ++ task.scheduleAtFixedRate(new TimerTask() { ++ private boolean firstPost = true; ++ ++ public void run() { ++ try { ++ // This has to be synchronized or it can collide with the disable method. ++ synchronized (optOutLock) { ++ // Disable Task, if it is running and the server owner decided to opt-out ++ if (isOptOut() && task != null) { ++ task.cancel(); ++ task = null; ++ // Tell all plotters to stop gathering information. ++ for (Graph graph : graphs) { ++ graph.onOptOut(); ++ } ++ } ++ } ++ ++ // We use the inverse of firstPost because if it is the first time we are posting, ++ // it is not a interval ping, so it evaluates to FALSE ++ // Each time thereafter it will evaluate to TRUE, i.e PING! ++ postPlugin(!firstPost); ++ ++ // After the first post we set firstPost to false ++ // Each post thereafter will be a ping ++ firstPost = false; ++ } catch (IOException e) { ++ if (debug) { ++ Bukkit.getLogger().log(Level.INFO, "[Metrics] " + e.getMessage()); ++ } ++ } ++ } ++ }, 0, TimeUnit.MINUTES.toMillis(PING_INTERVAL)); ++ ++ return true; ++ } ++ } ++ ++ /** ++ * Has the server owner denied plugin metrics? ++ * ++ * @return true if metrics should be opted out of it ++ */ ++ public boolean isOptOut() { ++ synchronized (optOutLock) { ++ try { ++ // Reload the metrics file ++ configuration.load(getConfigFile()); ++ } catch (IOException ex) { ++ if (debug) { ++ Bukkit.getLogger().log(Level.INFO, "[Metrics] " + ex.getMessage()); ++ } ++ return true; ++ } catch (InvalidConfigurationException ex) { ++ if (debug) { ++ Bukkit.getLogger().log(Level.INFO, "[Metrics] " + ex.getMessage()); ++ } ++ return true; ++ } ++ return configuration.getBoolean("opt-out", false); ++ } ++ } ++ ++ /** ++ * Enables metrics for the server by setting "opt-out" to false in the config file and starting the metrics task. ++ * ++ * @throws java.io.IOException ++ */ ++ public void enable() throws IOException { ++ // This has to be synchronized or it can collide with the check in the task. ++ synchronized (optOutLock) { ++ // Check if the server owner has already set opt-out, if not, set it. ++ if (isOptOut()) { ++ configuration.set("opt-out", false); ++ configuration.save(configurationFile); ++ } ++ ++ // Enable Task, if it is not running ++ if (task == null) { ++ start(); ++ } ++ } ++ } ++ ++ /** ++ * Disables metrics for the server by setting "opt-out" to true in the config file and canceling the metrics task. ++ * ++ * @throws java.io.IOException ++ */ ++ public void disable() throws IOException { ++ // This has to be synchronized or it can collide with the check in the task. ++ synchronized (optOutLock) { ++ // Check if the server owner has already set opt-out, if not, set it. ++ if (!isOptOut()) { ++ configuration.set("opt-out", true); ++ configuration.save(configurationFile); ++ } ++ ++ // Disable Task, if it is running ++ if (task != null) { ++ task.cancel(); ++ task = null; ++ } ++ } ++ } ++ ++ /** ++ * Gets the File object of the config file that should be used to store data such as the GUID and opt-out status ++ * ++ * @return the File object for the config file ++ */ ++ public File getConfigFile() { ++ // I believe the easiest way to get the base folder (e.g craftbukkit set via -P) for plugins to use ++ // is to abuse the plugin object we already have ++ // plugin.getDataFolder() => base/plugins/PluginA/ ++ // pluginsFolder => base/plugins/ ++ // The base is not necessarily relative to the startup directory. ++ // File pluginsFolder = plugin.getDataFolder().getParentFile(); ++ ++ // return => base/plugins/PluginMetrics/config.yml ++ return new File(new File((File) MinecraftServer.getServer().options.valueOf("plugins"), "PluginMetrics"), "config.yml"); ++ } ++ ++ /** ++ * Generic method that posts a plugin to the metrics website ++ */ ++ private void postPlugin(final boolean isPing) throws IOException { ++ // Server software specific section ++ String pluginName = "Spigot"; ++ boolean onlineMode = Bukkit.getServer().getOnlineMode(); // TRUE if online mode is enabled ++ String pluginVersion = (Metrics.class.getPackage().getImplementationVersion() != null) ? Metrics.class.getPackage().getImplementationVersion() : "unknown"; ++ String serverVersion = Bukkit.getVersion(); ++ int playersOnline = Bukkit.getServer().getOnlinePlayers().length; ++ ++ // END server software specific section -- all code below does not use any code outside of this class / Java ++ ++ // Construct the post data ++ final StringBuilder data = new StringBuilder(); ++ ++ // The plugin's description file containg all of the plugin data such as name, version, author, etc ++ data.append(encode("guid")).append('=').append(encode(guid)); ++ encodeDataPair(data, "version", pluginVersion); ++ encodeDataPair(data, "server", serverVersion); ++ encodeDataPair(data, "players", Integer.toString(playersOnline)); ++ encodeDataPair(data, "revision", String.valueOf(REVISION)); ++ ++ // New data as of R6 ++ String osname = System.getProperty("os.name"); ++ String osarch = System.getProperty("os.arch"); ++ String osversion = System.getProperty("os.version"); ++ String java_version = System.getProperty("java.version"); ++ int coreCount = Runtime.getRuntime().availableProcessors(); ++ ++ // normalize os arch .. amd64 -> x86_64 ++ if (osarch.equals("amd64")) { ++ osarch = "x86_64"; ++ } ++ ++ encodeDataPair(data, "osname", osname); ++ encodeDataPair(data, "osarch", osarch); ++ encodeDataPair(data, "osversion", osversion); ++ encodeDataPair(data, "cores", Integer.toString(coreCount)); ++ encodeDataPair(data, "online-mode", Boolean.toString(onlineMode)); ++ encodeDataPair(data, "java_version", java_version); ++ ++ // If we're pinging, append it ++ if (isPing) { ++ encodeDataPair(data, "ping", "true"); ++ } ++ ++ // Acquire a lock on the graphs, which lets us make the assumption we also lock everything ++ // inside of the graph (e.g plotters) ++ synchronized (graphs) { ++ final Iterator iter = graphs.iterator(); ++ ++ while (iter.hasNext()) { ++ final Graph graph = iter.next(); ++ ++ for (Plotter plotter : graph.getPlotters()) { ++ // The key name to send to the metrics server ++ // The format is C-GRAPHNAME-PLOTTERNAME where separator - is defined at the top ++ // Legacy (R4) submitters use the format Custom%s, or CustomPLOTTERNAME ++ final String key = String.format("C%s%s%s%s", CUSTOM_DATA_SEPARATOR, graph.getName(), CUSTOM_DATA_SEPARATOR, plotter.getColumnName()); ++ ++ // The value to send, which for the foreseeable future is just the string ++ // value of plotter.getValue() ++ final String value = Integer.toString(plotter.getValue()); ++ ++ // Add it to the http post data :) ++ encodeDataPair(data, key, value); ++ } ++ } ++ } ++ ++ // Create the url ++ URL url = new URL(BASE_URL + String.format(REPORT_URL, encode(pluginName))); ++ ++ // Connect to the website ++ URLConnection connection; ++ ++ // Mineshafter creates a socks proxy, so we can safely bypass it ++ // It does not reroute POST requests so we need to go around it ++ if (isMineshafterPresent()) { ++ connection = url.openConnection(Proxy.NO_PROXY); ++ } else { ++ connection = url.openConnection(); ++ } ++ ++ connection.setDoOutput(true); ++ ++ // Write the data ++ final OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream()); ++ writer.write(data.toString()); ++ writer.flush(); ++ ++ // Now read the response ++ final BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); ++ final String response = reader.readLine(); ++ ++ // close resources ++ writer.close(); ++ reader.close(); ++ ++ if (response == null || response.startsWith("ERR")) { ++ throw new IOException(response); //Throw the exception ++ } else { ++ // Is this the first update this hour? ++ if (response.contains("OK This is your first update this hour")) { ++ synchronized (graphs) { ++ final Iterator iter = graphs.iterator(); ++ ++ while (iter.hasNext()) { ++ final Graph graph = iter.next(); ++ ++ for (Plotter plotter : graph.getPlotters()) { ++ plotter.reset(); ++ } ++ } ++ } ++ } ++ } ++ } ++ ++ /** ++ * Check if mineshafter is present. If it is, we need to bypass it to send POST requests ++ * ++ * @return true if mineshafter is installed on the server ++ */ ++ private boolean isMineshafterPresent() { ++ try { ++ Class.forName("mineshafter.MineServer"); ++ return true; ++ } catch (Exception e) { ++ return false; ++ } ++ } ++ ++ /** ++ *

Encode a key/value data pair to be used in a HTTP post request. This INCLUDES a & so the first key/value pair ++ * MUST be included manually, e.g:

++ * ++ * StringBuffer data = new StringBuffer(); ++ * data.append(encode("guid")).append('=').append(encode(guid)); ++ * encodeDataPair(data, "version", description.getVersion()); ++ * ++ * ++ * @param buffer the stringbuilder to append the data pair onto ++ * @param key the key value ++ * @param value the value ++ */ ++ private static void encodeDataPair(final StringBuilder buffer, final String key, final String value) throws UnsupportedEncodingException { ++ buffer.append('&').append(encode(key)).append('=').append(encode(value)); ++ } ++ ++ /** ++ * Encode text as UTF-8 ++ * ++ * @param text the text to encode ++ * @return the encoded text, as UTF-8 ++ */ ++ private static String encode(final String text) throws UnsupportedEncodingException { ++ return URLEncoder.encode(text, "UTF-8"); ++ } ++ ++ /** ++ * Represents a custom graph on the website ++ */ ++ public static class Graph { ++ ++ /** ++ * The graph's name, alphanumeric and spaces only :) If it does not comply to the above when submitted, it is ++ * rejected ++ */ ++ private final String name; ++ /** ++ * The set of plotters that are contained within this graph ++ */ ++ private final Set plotters = new LinkedHashSet(); ++ ++ private Graph(final String name) { ++ this.name = name; ++ } ++ ++ /** ++ * Gets the graph's name ++ * ++ * @return the Graph's name ++ */ ++ public String getName() { ++ return name; ++ } ++ ++ /** ++ * Add a plotter to the graph, which will be used to plot entries ++ * ++ * @param plotter the plotter to add to the graph ++ */ ++ public void addPlotter(final Plotter plotter) { ++ plotters.add(plotter); ++ } ++ ++ /** ++ * Remove a plotter from the graph ++ * ++ * @param plotter the plotter to remove from the graph ++ */ ++ public void removePlotter(final Plotter plotter) { ++ plotters.remove(plotter); ++ } ++ ++ /** ++ * Gets an unmodifiable set of the plotter objects in the graph ++ * ++ * @return an unmodifiable {@link java.util.Set} of the plotter objects ++ */ ++ public Set getPlotters() { ++ return Collections.unmodifiableSet(plotters); ++ } ++ ++ @Override ++ public int hashCode() { ++ return name.hashCode(); ++ } ++ ++ @Override ++ public boolean equals(final Object object) { ++ if (!(object instanceof Graph)) { ++ return false; ++ } ++ ++ final Graph graph = (Graph) object; ++ return graph.name.equals(name); ++ } ++ ++ /** ++ * Called when the server owner decides to opt-out of BukkitMetrics while the server is running. ++ */ ++ protected void onOptOut() { ++ } ++ } ++ ++ /** ++ * Interface used to collect custom data for a plugin ++ */ ++ public static abstract class Plotter { ++ ++ /** ++ * The plot's name ++ */ ++ private final String name; ++ ++ /** ++ * Construct a plotter with the default plot name ++ */ ++ public Plotter() { ++ this("Default"); ++ } ++ ++ /** ++ * Construct a plotter with a specific plot name ++ * ++ * @param name the name of the plotter to use, which will show up on the website ++ */ ++ public Plotter(final String name) { ++ this.name = name; ++ } ++ ++ /** ++ * Get the current value for the plotted point. Since this function defers to an external function it may or may ++ * not return immediately thus cannot be guaranteed to be thread friendly or safe. This function can be called ++ * from any thread so care should be taken when accessing resources that need to be synchronized. ++ * ++ * @return the current value for the point to be plotted. ++ */ ++ public abstract int getValue(); ++ ++ /** ++ * Get the column name for the plotted point ++ * ++ * @return the plotted point's column name ++ */ ++ public String getColumnName() { ++ return name; ++ } ++ ++ /** ++ * Called after the website graphs have been updated ++ */ ++ public void reset() { ++ } ++ ++ @Override ++ public int hashCode() { ++ return getColumnName().hashCode(); ++ } ++ ++ @Override ++ public boolean equals(final Object object) { ++ if (!(object instanceof Plotter)) { ++ return false; ++ } ++ ++ final Plotter plotter = (Plotter) object; ++ return plotter.name.equals(name) && plotter.getValue() == getValue(); ++ } ++ } ++} +\ No newline at end of file +diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java +index f97a80b..b11499b 100644 +--- a/src/main/java/org/spigotmc/SpigotConfig.java ++++ b/src/main/java/org/spigotmc/SpigotConfig.java +@@ -36,6 +36,7 @@ public class SpigotConfig + static int version; + static Map commands; + /*========================================================================*/ ++ private static Metrics metrics; + + public static void init() + { +@@ -56,6 +57,18 @@ public class SpigotConfig + { + MinecraftServer.getServer().server.getCommandMap().register( entry.getKey(), "Spigot", entry.getValue() ); + } ++ ++ if ( metrics == null ) ++ { ++ try ++ { ++ metrics = new Metrics(); ++ metrics.start(); ++ } catch ( IOException ex ) ++ { ++ Bukkit.getServer().getLogger().log( Level.SEVERE, "Could not start metrics service", ex ); ++ } ++ } + } + + static void readConfig(Class clazz, Object instance) +-- +1.8.1.2 + diff --git a/CraftBukkit-Patches/0022-Watchdog-Thread.patch b/CraftBukkit-Patches/0023-Watchdog-Thread.patch similarity index 98% rename from CraftBukkit-Patches/0022-Watchdog-Thread.patch rename to CraftBukkit-Patches/0023-Watchdog-Thread.patch index cb0aa237c..17d6b21e6 100644 --- a/CraftBukkit-Patches/0022-Watchdog-Thread.patch +++ b/CraftBukkit-Patches/0023-Watchdog-Thread.patch @@ -1,11 +1,11 @@ -From 85747b37e553c92f3ca9c954b5e5ea299e1dbdeb Mon Sep 17 00:00:00 2001 +From 3cd709b7763070249f9d6c8c7c805a227de91696 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 23 Feb 2013 12:33:20 +1100 Subject: [PATCH] Watchdog Thread. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index dec46bd..aeac6e9 100644 +index fba219f..e5b8391 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -415,6 +415,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo @@ -142,10 +142,10 @@ index 0000000..c8125c2 + } +} diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index 693518d..01daf6d 100644 +index 8ef108d..8499c7f 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java -@@ -129,4 +129,16 @@ public class SpigotConfig +@@ -142,4 +142,16 @@ public class SpigotConfig { commands.put( "tps", new TicksPerSecondCommand( "tps" ) ); } diff --git a/CraftBukkit-Patches/0023-Netty.patch b/CraftBukkit-Patches/0024-Netty.patch similarity index 99% rename from CraftBukkit-Patches/0023-Netty.patch rename to CraftBukkit-Patches/0024-Netty.patch index c461c2d8a..c7cb7b7f6 100644 --- a/CraftBukkit-Patches/0023-Netty.patch +++ b/CraftBukkit-Patches/0024-Netty.patch @@ -1,4 +1,4 @@ -From 3e9c07b33591057a144c397cf6ae7846ee661fcc Mon Sep 17 00:00:00 2001 +From d4c1e16d482be2abb1bf40a1afeb6f958fca4b84 Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 2 Jul 2013 09:06:29 +1000 Subject: [PATCH] Netty @@ -160,7 +160,7 @@ index 2a96168..6ffc927 100644 this.b = true; } catch (Exception exception) { diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index 01daf6d..d3e99eb 100644 +index 8499c7f..e5a09b3 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -6,6 +6,8 @@ import java.io.IOException; @@ -172,7 +172,7 @@ index 01daf6d..d3e99eb 100644 import java.util.HashMap; import java.util.List; import java.util.Map; -@@ -141,4 +143,62 @@ public class SpigotConfig +@@ -154,4 +156,62 @@ public class SpigotConfig commands.put( "restart", new RestartCommand( "restart" ) ); WatchdogThread.doStart( timeoutTime, restartOnCrash ); } diff --git a/CraftBukkit-Patches/0024-PlayerItemDamageEvent.patch b/CraftBukkit-Patches/0025-PlayerItemDamageEvent.patch similarity index 97% rename from CraftBukkit-Patches/0024-PlayerItemDamageEvent.patch rename to CraftBukkit-Patches/0025-PlayerItemDamageEvent.patch index 73990db91..f1d813044 100644 --- a/CraftBukkit-Patches/0024-PlayerItemDamageEvent.patch +++ b/CraftBukkit-Patches/0025-PlayerItemDamageEvent.patch @@ -1,4 +1,4 @@ -From f5b77aef74fa67ef756b0e895e542cc7c4662b73 Mon Sep 17 00:00:00 2001 +From b9aa8fd32c77972fef5c23f0bae3cee24e821e2c Mon Sep 17 00:00:00 2001 From: md_5 Date: Mon, 4 Mar 2013 18:45:52 +1100 Subject: [PATCH] PlayerItemDamageEvent diff --git a/CraftBukkit-Patches/0025-Faster-UUID-for-entities.patch b/CraftBukkit-Patches/0026-Faster-UUID-for-entities.patch similarity index 91% rename from CraftBukkit-Patches/0025-Faster-UUID-for-entities.patch rename to CraftBukkit-Patches/0026-Faster-UUID-for-entities.patch index 859c7653d..412d6653c 100644 --- a/CraftBukkit-Patches/0025-Faster-UUID-for-entities.patch +++ b/CraftBukkit-Patches/0026-Faster-UUID-for-entities.patch @@ -1,4 +1,4 @@ -From 23395a04973bd00cd9382f03c36eda33e7fd4019 Mon Sep 17 00:00:00 2001 +From 7037c64aaf24c9f00e85103e34312652e09cb091 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 17 Mar 2013 19:02:50 +1100 Subject: [PATCH] Faster UUID for entities @@ -6,7 +6,7 @@ Subject: [PATCH] Faster UUID for entities It is overkill to create a new SecureRandom on each entity create and then use it to make a new Entity ID for every entity instance created. Instead we will just use a pseudo random UUID based off the random instance we already have. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 4183297..852dfd3 100644 +index 4a769ed..d4bd4ed 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -132,7 +132,7 @@ public abstract class Entity { diff --git a/CraftBukkit-Patches/0026-Prevent-NPE-in-CraftSign.patch b/CraftBukkit-Patches/0027-Prevent-NPE-in-CraftSign.patch similarity index 96% rename from CraftBukkit-Patches/0026-Prevent-NPE-in-CraftSign.patch rename to CraftBukkit-Patches/0027-Prevent-NPE-in-CraftSign.patch index 2a7d133dd..f3f25748d 100644 --- a/CraftBukkit-Patches/0026-Prevent-NPE-in-CraftSign.patch +++ b/CraftBukkit-Patches/0027-Prevent-NPE-in-CraftSign.patch @@ -1,4 +1,4 @@ -From 3eabd77133ecb78f4f5bb6246acfb147f47bd4f6 Mon Sep 17 00:00:00 2001 +From 958dd4fae14a9cb51416e08d6a30f658a62265d2 Mon Sep 17 00:00:00 2001 From: md_5 Date: Mon, 18 Mar 2013 20:01:44 +1100 Subject: [PATCH] Prevent NPE in CraftSign diff --git a/CraftBukkit-Patches/0027-Entity-Tracking-Ranges.patch b/CraftBukkit-Patches/0028-Entity-Tracking-Ranges.patch similarity index 98% rename from CraftBukkit-Patches/0027-Entity-Tracking-Ranges.patch rename to CraftBukkit-Patches/0028-Entity-Tracking-Ranges.patch index 45506cfaa..02cb7f551 100644 --- a/CraftBukkit-Patches/0027-Entity-Tracking-Ranges.patch +++ b/CraftBukkit-Patches/0028-Entity-Tracking-Ranges.patch @@ -1,4 +1,4 @@ -From 8408828d617feff163f5f340c0c1d6a4850145db Mon Sep 17 00:00:00 2001 +From f60e231ba77aaf5929d124c1d1e67e3d5d2329a7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 20 Feb 2013 11:58:47 -0500 Subject: [PATCH] Entity Tracking Ranges @@ -12,7 +12,7 @@ This has multiple benefits: 4) Less client lag - Not trying to render distant item frames and paintings and entities will reduce entity count on the client, which is major for shop/town worlds which may use tons of item frames. diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java -index ebbef6a..e833454 100644 +index 7f23f71..7bb153c 100644 --- a/src/main/java/net/minecraft/server/EntityTracker.java +++ b/src/main/java/net/minecraft/server/EntityTracker.java @@ -88,6 +88,7 @@ public class EntityTracker { diff --git a/CraftBukkit-Patches/0028-BungeeCord-Support.patch b/CraftBukkit-Patches/0029-BungeeCord-Support.patch similarity index 97% rename from CraftBukkit-Patches/0028-BungeeCord-Support.patch rename to CraftBukkit-Patches/0029-BungeeCord-Support.patch index bc505961f..a4b1dc7fe 100644 --- a/CraftBukkit-Patches/0028-BungeeCord-Support.patch +++ b/CraftBukkit-Patches/0029-BungeeCord-Support.patch @@ -1,4 +1,4 @@ -From c0dda8d1d5bd1dc0f9b9009213437584c1717cd9 Mon Sep 17 00:00:00 2001 +From 79f9e280ee27db93df6aa9911cd3fa09f9e93c0b Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 23 Mar 2013 11:15:11 +1100 Subject: [PATCH] BungeeCord Support @@ -75,7 +75,7 @@ index 20be022..e242f7d 100644 public Player.Spigot spigot() diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index d3e99eb..eaf1b91 100644 +index e5a09b3..a598954 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -7,6 +7,7 @@ import java.lang.reflect.InvocationTargetException; @@ -86,7 +86,7 @@ index d3e99eb..eaf1b91 100644 import java.util.Collections; import java.util.HashMap; import java.util.List; -@@ -201,4 +202,14 @@ public class SpigotConfig +@@ -214,4 +215,14 @@ public class SpigotConfig nettyThreads = getInt( "settings.netty-threads", 3 ); } diff --git a/CraftBukkit-Patches/0029-Limit-Custom-Map-Rendering.patch b/CraftBukkit-Patches/0030-Limit-Custom-Map-Rendering.patch similarity index 98% rename from CraftBukkit-Patches/0029-Limit-Custom-Map-Rendering.patch rename to CraftBukkit-Patches/0030-Limit-Custom-Map-Rendering.patch index 081fa72a3..e1926eb6d 100644 --- a/CraftBukkit-Patches/0029-Limit-Custom-Map-Rendering.patch +++ b/CraftBukkit-Patches/0030-Limit-Custom-Map-Rendering.patch @@ -1,4 +1,4 @@ -From 33a6525ac1ebb91432bf78ffb080c5cd0e4e3b8e Mon Sep 17 00:00:00 2001 +From fd8e7a05c6826d07b7f98b8c2e7eba5d2dbbb935 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 23 Mar 2013 19:08:41 +1100 Subject: [PATCH] Limit Custom Map Rendering diff --git a/CraftBukkit-Patches/0030-Enable-Improved-Ping-Sending.patch b/CraftBukkit-Patches/0031-Enable-Improved-Ping-Sending.patch similarity index 97% rename from CraftBukkit-Patches/0030-Enable-Improved-Ping-Sending.patch rename to CraftBukkit-Patches/0031-Enable-Improved-Ping-Sending.patch index 5c14b67ed..783f4b9ad 100644 --- a/CraftBukkit-Patches/0030-Enable-Improved-Ping-Sending.patch +++ b/CraftBukkit-Patches/0031-Enable-Improved-Ping-Sending.patch @@ -1,4 +1,4 @@ -From 28b133a39fb446af8473153da5f1216266c49af7 Mon Sep 17 00:00:00 2001 +From 28a5c1180a8392cb0c4b5686cee3e605311beb35 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 24 Feb 2013 20:45:20 +1100 Subject: [PATCH] Enable Improved Ping Sending diff --git a/CraftBukkit-Patches/0031-Filter-Invalid-Names.patch b/CraftBukkit-Patches/0032-Filter-Invalid-Names.patch similarity index 95% rename from CraftBukkit-Patches/0031-Filter-Invalid-Names.patch rename to CraftBukkit-Patches/0032-Filter-Invalid-Names.patch index 40af39ba1..33a2153cb 100644 --- a/CraftBukkit-Patches/0031-Filter-Invalid-Names.patch +++ b/CraftBukkit-Patches/0032-Filter-Invalid-Names.patch @@ -1,4 +1,4 @@ -From 57f5dde7b29dcadacb2644c674597db06a5fe8e7 Mon Sep 17 00:00:00 2001 +From af158b963d4d6ed7fd45b5dd918ce3364ec07f7c Mon Sep 17 00:00:00 2001 From: md_5 Date: Thu, 25 Jul 2013 17:06:02 +1000 Subject: [PATCH] Filter Invalid Names diff --git a/CraftBukkit-Patches/0032-Thread-Naming-and-Tweaks.patch b/CraftBukkit-Patches/0033-Thread-Naming-and-Tweaks.patch similarity index 97% rename from CraftBukkit-Patches/0032-Thread-Naming-and-Tweaks.patch rename to CraftBukkit-Patches/0033-Thread-Naming-and-Tweaks.patch index 135a6cf59..d66d6b187 100644 --- a/CraftBukkit-Patches/0032-Thread-Naming-and-Tweaks.patch +++ b/CraftBukkit-Patches/0033-Thread-Naming-and-Tweaks.patch @@ -1,4 +1,4 @@ -From bedcd995c35ffe467ae207b4bbb67e34d5bbe2b8 Mon Sep 17 00:00:00 2001 +From a621a7f48c384ee6ec697abe87822fd4ad4bd6c5 Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 23 Apr 2013 11:50:27 +1000 Subject: [PATCH] Thread Naming and Tweaks @@ -6,7 +6,7 @@ Subject: [PATCH] Thread Naming and Tweaks Removes the sleep forever thread and adds useful names for debugging to all staged thread files. diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 4759f6a..32f0e75 100644 +index fa02974..a534bbd 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -34,7 +34,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer diff --git a/CraftBukkit-Patches/0033-Close-Unloaded-Save-Files.patch b/CraftBukkit-Patches/0034-Close-Unloaded-Save-Files.patch similarity index 96% rename from CraftBukkit-Patches/0033-Close-Unloaded-Save-Files.patch rename to CraftBukkit-Patches/0034-Close-Unloaded-Save-Files.patch index ffd5fc66c..4a2e59ece 100644 --- a/CraftBukkit-Patches/0033-Close-Unloaded-Save-Files.patch +++ b/CraftBukkit-Patches/0034-Close-Unloaded-Save-Files.patch @@ -1,4 +1,4 @@ -From d089449fc802537a9b3a72b7671a49bdefb224b6 Mon Sep 17 00:00:00 2001 +From a6d2fbd57b8702a43a660b1360d0c3f442c02816 Mon Sep 17 00:00:00 2001 From: Antony Riley Date: Wed, 27 Mar 2013 01:41:54 +0200 Subject: [PATCH] Close Unloaded Save Files @@ -18,7 +18,7 @@ index 900ed68..829f4a3 100644 public static synchronized RegionFile a(File file1, int i, int j) { File file2 = new File(file1, "region"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index acd5b42..84ff542 100644 +index 44af717..e65c752 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -37,6 +37,8 @@ import net.minecraft.server.MinecraftServer; diff --git a/CraftBukkit-Patches/0034-Improve-NextTickList-Performance.patch b/CraftBukkit-Patches/0035-Improve-NextTickList-Performance.patch similarity index 99% rename from CraftBukkit-Patches/0034-Improve-NextTickList-Performance.patch rename to CraftBukkit-Patches/0035-Improve-NextTickList-Performance.patch index 62c11c94f..d905e6a2b 100644 --- a/CraftBukkit-Patches/0034-Improve-NextTickList-Performance.patch +++ b/CraftBukkit-Patches/0035-Improve-NextTickList-Performance.patch @@ -1,4 +1,4 @@ -From 006f61a5723c39a11339cde3b34dee9d34004bd9 Mon Sep 17 00:00:00 2001 +From d608b1e2af6bc1d8e853aff5c466138653bb7ef2 Mon Sep 17 00:00:00 2001 From: Mike Primm Date: Wed, 24 Apr 2013 01:43:33 -0500 Subject: [PATCH] Improve NextTickList Performance @@ -20,7 +20,7 @@ index acf8838..1e3e0f8 100644 public NextTickListEntry a(long i) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index c1239f1..588c630 100644 +index db0345d..1f864a2 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -25,8 +25,8 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate diff --git a/CraftBukkit-Patches/0035-Remove-o-Option.patch b/CraftBukkit-Patches/0036-Remove-o-Option.patch similarity index 92% rename from CraftBukkit-Patches/0035-Remove-o-Option.patch rename to CraftBukkit-Patches/0036-Remove-o-Option.patch index c7635115f..a7646e1ff 100644 --- a/CraftBukkit-Patches/0035-Remove-o-Option.patch +++ b/CraftBukkit-Patches/0036-Remove-o-Option.patch @@ -1,4 +1,4 @@ -From 4420798c1058398652d1f839a82a7272ea3cacde Mon Sep 17 00:00:00 2001 +From 42ff63133d4fb993c1242d0db04e02c23dd9f3a9 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 19 May 2013 18:29:48 +1000 Subject: [PATCH] Remove -o Option diff --git a/CraftBukkit-Patches/0036-Recipe-Deconstruction.patch b/CraftBukkit-Patches/0037-Recipe-Deconstruction.patch similarity index 97% rename from CraftBukkit-Patches/0036-Recipe-Deconstruction.patch rename to CraftBukkit-Patches/0037-Recipe-Deconstruction.patch index b0bf3d48d..500b03463 100644 --- a/CraftBukkit-Patches/0036-Recipe-Deconstruction.patch +++ b/CraftBukkit-Patches/0037-Recipe-Deconstruction.patch @@ -1,4 +1,4 @@ -From d6209872ddd1537bda02b822695acf42c93aa5fd Mon Sep 17 00:00:00 2001 +From 7ba25a1242facf33a7617b62a35823d88d7e2942 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 1 Jun 2013 16:34:38 +1000 Subject: [PATCH] Recipe Deconstruction diff --git a/CraftBukkit-Patches/0037-Implement-Arrow-API.patch b/CraftBukkit-Patches/0038-Implement-Arrow-API.patch similarity index 93% rename from CraftBukkit-Patches/0037-Implement-Arrow-API.patch rename to CraftBukkit-Patches/0038-Implement-Arrow-API.patch index ba4aa4499..2e351570d 100644 --- a/CraftBukkit-Patches/0037-Implement-Arrow-API.patch +++ b/CraftBukkit-Patches/0038-Implement-Arrow-API.patch @@ -1,4 +1,4 @@ -From 16435527875119524c17d1c28dc3b6159e68e619 Mon Sep 17 00:00:00 2001 +From 93a420b1b2fa6da25a0f38fca8dcba69f2e39365 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 2 Jun 2013 15:16:05 +1000 Subject: [PATCH] Implement Arrow API diff --git a/CraftBukkit-Patches/0038-Particle-API.patch b/CraftBukkit-Patches/0039-Particle-API.patch similarity index 99% rename from CraftBukkit-Patches/0038-Particle-API.patch rename to CraftBukkit-Patches/0039-Particle-API.patch index 90caa5ca7..fe1beedff 100644 --- a/CraftBukkit-Patches/0038-Particle-API.patch +++ b/CraftBukkit-Patches/0039-Particle-API.patch @@ -1,4 +1,4 @@ -From 572360b2e29d974a9579b004f04329ad889e805c Mon Sep 17 00:00:00 2001 +From b23f908193514fa253e4c41dc3db750f66f2f7ec Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 2 Jun 2013 16:14:30 +1000 Subject: [PATCH] Particle API @@ -152,7 +152,7 @@ index 7601fb5..6d22e82 100644 public Spigot spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e242f7d..4bae056 100644 +index aa49c6c..9da9863 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -277,13 +277,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/CraftBukkit-Patches/0039-Hopper-Cooldowns.patch b/CraftBukkit-Patches/0040-Hopper-Cooldowns.patch similarity index 98% rename from CraftBukkit-Patches/0039-Hopper-Cooldowns.patch rename to CraftBukkit-Patches/0040-Hopper-Cooldowns.patch index 505acd7a7..da7fbd998 100644 --- a/CraftBukkit-Patches/0039-Hopper-Cooldowns.patch +++ b/CraftBukkit-Patches/0040-Hopper-Cooldowns.patch @@ -1,4 +1,4 @@ -From a579e4ccd6d56147027daa5d6e2da5b0974e60fa Mon Sep 17 00:00:00 2001 +From 5eb857158aa0a6114412d88e26a3434b2b556d7e Mon Sep 17 00:00:00 2001 From: erocs Date: Sun, 8 Sep 2013 12:06:15 -0700 Subject: [PATCH] Hopper Cooldowns diff --git a/CraftBukkit-Patches/0040-Prevent-Shutdown-Hang.patch b/CraftBukkit-Patches/0041-Prevent-Shutdown-Hang.patch similarity index 94% rename from CraftBukkit-Patches/0040-Prevent-Shutdown-Hang.patch rename to CraftBukkit-Patches/0041-Prevent-Shutdown-Hang.patch index e1caaa0fc..300d78722 100644 --- a/CraftBukkit-Patches/0040-Prevent-Shutdown-Hang.patch +++ b/CraftBukkit-Patches/0041-Prevent-Shutdown-Hang.patch @@ -1,4 +1,4 @@ -From d2e06bf405211ba93cf4b794ae72a4441eede009 Mon Sep 17 00:00:00 2001 +From 0dc0c332b02bfa4d76bc029e89a6c59f28b13198 Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 11 Jun 2013 11:54:32 +1000 Subject: [PATCH] Prevent Shutdown Hang diff --git a/CraftBukkit-Patches/0041-Implement-SpawnerSpawnEvent.patch b/CraftBukkit-Patches/0042-Implement-SpawnerSpawnEvent.patch similarity index 98% rename from CraftBukkit-Patches/0041-Implement-SpawnerSpawnEvent.patch rename to CraftBukkit-Patches/0042-Implement-SpawnerSpawnEvent.patch index b8d4742ea..6ece3bdb0 100644 --- a/CraftBukkit-Patches/0041-Implement-SpawnerSpawnEvent.patch +++ b/CraftBukkit-Patches/0042-Implement-SpawnerSpawnEvent.patch @@ -1,4 +1,4 @@ -From 90e0c1be471f60565eecd27da71c24293e7e2e0f Mon Sep 17 00:00:00 2001 +From 5007d731040f3c02b189a979c40c961f27e3e16b Mon Sep 17 00:00:00 2001 From: Andy Shulman Date: Mon, 15 Apr 2013 20:06:37 -0500 Subject: [PATCH] Implement SpawnerSpawnEvent. diff --git a/CraftBukkit-Patches/0042-Firework-Meta-Crash-Fix.patch b/CraftBukkit-Patches/0043-Firework-Meta-Crash-Fix.patch similarity index 94% rename from CraftBukkit-Patches/0042-Firework-Meta-Crash-Fix.patch rename to CraftBukkit-Patches/0043-Firework-Meta-Crash-Fix.patch index 25f6221be..8229eb8f5 100644 --- a/CraftBukkit-Patches/0042-Firework-Meta-Crash-Fix.patch +++ b/CraftBukkit-Patches/0043-Firework-Meta-Crash-Fix.patch @@ -1,4 +1,4 @@ -From 03d78c25411477aaddcf93486541cf53de365e35 Mon Sep 17 00:00:00 2001 +From 8ab517d12c2b337416c664f3760130263bbcf0dd Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 15 Jun 2013 21:34:48 +1000 Subject: [PATCH] Firework Meta Crash Fix diff --git a/CraftBukkit-Patches/0043-Do-Not-Search-for-Offline-Players.patch b/CraftBukkit-Patches/0044-Do-Not-Search-for-Offline-Players.patch similarity index 93% rename from CraftBukkit-Patches/0043-Do-Not-Search-for-Offline-Players.patch rename to CraftBukkit-Patches/0044-Do-Not-Search-for-Offline-Players.patch index de7d82df0..63baeebb1 100644 --- a/CraftBukkit-Patches/0043-Do-Not-Search-for-Offline-Players.patch +++ b/CraftBukkit-Patches/0044-Do-Not-Search-for-Offline-Players.patch @@ -1,4 +1,4 @@ -From a19b21282cabde789f68538318f8c65cd833f8a7 Mon Sep 17 00:00:00 2001 +From ba298d9ef487cec55284286782d87dcba11a9f05 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 16 Jun 2013 08:20:26 +1000 Subject: [PATCH] Do Not Search for Offline Players diff --git a/CraftBukkit-Patches/0044-Enable-Foreign-Language-Signs.patch b/CraftBukkit-Patches/0045-Enable-Foreign-Language-Signs.patch similarity index 93% rename from CraftBukkit-Patches/0044-Enable-Foreign-Language-Signs.patch rename to CraftBukkit-Patches/0045-Enable-Foreign-Language-Signs.patch index 320becd95..163bedc6b 100644 --- a/CraftBukkit-Patches/0044-Enable-Foreign-Language-Signs.patch +++ b/CraftBukkit-Patches/0045-Enable-Foreign-Language-Signs.patch @@ -1,4 +1,4 @@ -From 18da9bb5d4437c65a00c95ad9bcd1bc496776b78 Mon Sep 17 00:00:00 2001 +From 7397a685fe0b5034c6d10f2759092803aeed0443 Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 21 Jun 2013 17:53:03 +1000 Subject: [PATCH] Enable Foreign Language Signs diff --git a/CraftBukkit-Patches/0045-Spam-Filter-Exclusions.patch b/CraftBukkit-Patches/0046-Spam-Filter-Exclusions.patch similarity index 93% rename from CraftBukkit-Patches/0045-Spam-Filter-Exclusions.patch rename to CraftBukkit-Patches/0046-Spam-Filter-Exclusions.patch index 606fe47f2..2faeb8d65 100644 --- a/CraftBukkit-Patches/0045-Spam-Filter-Exclusions.patch +++ b/CraftBukkit-Patches/0046-Spam-Filter-Exclusions.patch @@ -1,4 +1,4 @@ -From c47fe3abb8b8f16916b84c9c3da0621983b90fec Mon Sep 17 00:00:00 2001 +From 6d6b2f23bb555609d07998469e3c6b3c85b8c463 Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 21 Jun 2013 17:59:22 +1000 Subject: [PATCH] Spam Filter Exclusions @@ -28,10 +28,10 @@ index 3437f98..fd6995d 100644 Waitable waitable = new Waitable() { @Override diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index eaf1b91..208a2b7 100644 +index a598954..710d12c 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java -@@ -212,4 +212,13 @@ public class SpigotConfig +@@ -225,4 +225,13 @@ public class SpigotConfig bungeeAddresses = getList( "settings.bungeecord-addresses", bungeeAddresses ); bungee = getBoolean( "settings.bungeecord", true ); } diff --git a/CraftBukkit-Patches/0046-Allow-Disabling-of-Command-Logging.patch b/CraftBukkit-Patches/0047-Allow-Disabling-of-Command-Logging.patch similarity index 91% rename from CraftBukkit-Patches/0046-Allow-Disabling-of-Command-Logging.patch rename to CraftBukkit-Patches/0047-Allow-Disabling-of-Command-Logging.patch index 7d8a2fbae..84bee5557 100644 --- a/CraftBukkit-Patches/0046-Allow-Disabling-of-Command-Logging.patch +++ b/CraftBukkit-Patches/0047-Allow-Disabling-of-Command-Logging.patch @@ -1,4 +1,4 @@ -From 22d1e54d62a247be1b4942ccc8b8116afad878e8 Mon Sep 17 00:00:00 2001 +From 7c64c6398ff05841f10215cdf719539dd258d358 Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 21 Jun 2013 18:01:29 +1000 Subject: [PATCH] Allow Disabling of Command Logging @@ -23,10 +23,10 @@ index fd6995d..3c03d5a 100644 org.bukkit.craftbukkit.SpigotTimings.playerCommandTimer.stopTiming(); // Spigot return; diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index 208a2b7..26db8a2 100644 +index 710d12c..a1fb71f 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java -@@ -221,4 +221,10 @@ public class SpigotConfig +@@ -234,4 +234,10 @@ public class SpigotConfig "/skill" } ) ); } diff --git a/CraftBukkit-Patches/0047-Allow-Disabling-of-Command-TabComplete.patch b/CraftBukkit-Patches/0048-Allow-Disabling-of-Command-TabComplete.patch similarity index 91% rename from CraftBukkit-Patches/0047-Allow-Disabling-of-Command-TabComplete.patch rename to CraftBukkit-Patches/0048-Allow-Disabling-of-Command-TabComplete.patch index e000fd19f..34860bd3f 100644 --- a/CraftBukkit-Patches/0047-Allow-Disabling-of-Command-TabComplete.patch +++ b/CraftBukkit-Patches/0048-Allow-Disabling-of-Command-TabComplete.patch @@ -1,4 +1,4 @@ -From 2ce0804a434868588a6f06f5dce4619d4059e704 Mon Sep 17 00:00:00 2001 +From 31f79e7e3a92d88ec1e3290104c71311d20b5d93 Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 21 Jun 2013 18:05:54 +1000 Subject: [PATCH] Allow Disabling of Command TabComplete @@ -18,10 +18,10 @@ index c127f2a..0fa69ea 100644 player.sendMessage(ChatColor.RED + "An internal error occurred while attempting to tab-complete this command"); getLogger().log(Level.SEVERE, "Exception when " + player.getName() + " attempted to tab complete " + message, ex); diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index 26db8a2..00a31c2 100644 +index a1fb71f..85369ed 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java -@@ -227,4 +227,10 @@ public class SpigotConfig +@@ -240,4 +240,10 @@ public class SpigotConfig { logCommands = getBoolean( "commands.log", true ); } diff --git a/CraftBukkit-Patches/0048-Configurable-Messages.patch b/CraftBukkit-Patches/0049-Configurable-Messages.patch similarity index 97% rename from CraftBukkit-Patches/0048-Configurable-Messages.patch rename to CraftBukkit-Patches/0049-Configurable-Messages.patch index d1e11337d..7ee43ec9e 100644 --- a/CraftBukkit-Patches/0048-Configurable-Messages.patch +++ b/CraftBukkit-Patches/0049-Configurable-Messages.patch @@ -1,4 +1,4 @@ -From a0c9e0379a6b84d924badc322b1de26732cb6f32 Mon Sep 17 00:00:00 2001 +From 3038b2cfba13c9f0bad651f6097d123ab7b02da7 Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 21 Jun 2013 19:21:58 +1000 Subject: [PATCH] Configurable Messages @@ -60,7 +60,7 @@ index 0fa69ea..404a626 100644 return false; } diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index 00a31c2..568aa95 100644 +index 85369ed..53c66fc 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -15,6 +15,7 @@ import java.util.Map; @@ -71,7 +71,7 @@ index 00a31c2..568aa95 100644 import org.bukkit.command.Command; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.craftbukkit.command.TicksPerSecondCommand; -@@ -233,4 +234,22 @@ public class SpigotConfig +@@ -246,4 +247,22 @@ public class SpigotConfig { tabComplete = getBoolean( "commands.tab-complete", true ); } diff --git a/CraftBukkit-Patches/0049-Allow-Disabling-of-Random-Lighting-Updates.patch b/CraftBukkit-Patches/0050-Allow-Disabling-of-Random-Lighting-Updates.patch similarity index 94% rename from CraftBukkit-Patches/0049-Allow-Disabling-of-Random-Lighting-Updates.patch rename to CraftBukkit-Patches/0050-Allow-Disabling-of-Random-Lighting-Updates.patch index c65360fc4..fc449a837 100644 --- a/CraftBukkit-Patches/0049-Allow-Disabling-of-Random-Lighting-Updates.patch +++ b/CraftBukkit-Patches/0050-Allow-Disabling-of-Random-Lighting-Updates.patch @@ -1,11 +1,11 @@ -From 5e62e35a6c9c792ae4e6d9b25e507b0a1998e31c Mon Sep 17 00:00:00 2001 +From fd3eff3029737a3cd8ef22f73e64402a412f3119 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 22 Jun 2013 16:12:02 +1000 Subject: [PATCH] Allow Disabling of Random Lighting Updates diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 51a8d58..84ee535 100644 +index 211127b..8bd7876 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -2103,7 +2103,7 @@ public abstract class World implements IBlockAccess { diff --git a/CraftBukkit-Patches/0050-Add-Log-Filtering.patch b/CraftBukkit-Patches/0051-Add-Log-Filtering.patch similarity index 94% rename from CraftBukkit-Patches/0050-Add-Log-Filtering.patch rename to CraftBukkit-Patches/0051-Add-Log-Filtering.patch index a97800857..bb2369bc6 100644 --- a/CraftBukkit-Patches/0050-Add-Log-Filtering.patch +++ b/CraftBukkit-Patches/0051-Add-Log-Filtering.patch @@ -1,4 +1,4 @@ -From 5372056b283910e459c509b877e719eb92c41deb Mon Sep 17 00:00:00 2001 +From afad711eee092e4bb80ae47517977f66e2d4aaef Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 22 Jun 2013 16:40:11 +1000 Subject: [PATCH] Add Log Filtering @@ -35,7 +35,7 @@ index 0000000..aa7e9ab + } +} diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index 568aa95..a18b498 100644 +index 53c66fc..296c581 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -13,6 +13,8 @@ import java.util.HashMap; @@ -47,7 +47,7 @@ index 568aa95..a18b498 100644 import net.minecraft.server.MinecraftServer; import org.bukkit.Bukkit; import org.bukkit.ChatColor; -@@ -252,4 +254,27 @@ public class SpigotConfig +@@ -265,4 +267,27 @@ public class SpigotConfig outdatedClientMessage = transform( getString( "messages.outdated-client", "Outdated client!" ) ); outdatedServerMessage = transform( getString( "messages.outdated-server", "Outdated server!" ) ); } diff --git a/CraftBukkit-Patches/0051-Make-AnvilInventory.getItem-use-both-containers.-Fix.patch b/CraftBukkit-Patches/0052-Make-AnvilInventory.getItem-use-both-containers.-Fix.patch similarity index 97% rename from CraftBukkit-Patches/0051-Make-AnvilInventory.getItem-use-both-containers.-Fix.patch rename to CraftBukkit-Patches/0052-Make-AnvilInventory.getItem-use-both-containers.-Fix.patch index 0b42e9356..e162858a2 100644 --- a/CraftBukkit-Patches/0051-Make-AnvilInventory.getItem-use-both-containers.-Fix.patch +++ b/CraftBukkit-Patches/0052-Make-AnvilInventory.getItem-use-both-containers.-Fix.patch @@ -1,4 +1,4 @@ -From 64b4a4ce82cbee14d1279a18813480d56154ec3c Mon Sep 17 00:00:00 2001 +From f9097217bea43bfd7fa6ee74b96f9c9a7d006a6e Mon Sep 17 00:00:00 2001 From: Andre LeBlanc Date: Sat, 6 Apr 2013 12:00:31 -0400 Subject: [PATCH] Make AnvilInventory.getItem() use both containers. Fixes diff --git a/CraftBukkit-Patches/0052-Always-Fire-PreLoginEvent.patch b/CraftBukkit-Patches/0053-Always-Fire-PreLoginEvent.patch similarity index 98% rename from CraftBukkit-Patches/0052-Always-Fire-PreLoginEvent.patch rename to CraftBukkit-Patches/0053-Always-Fire-PreLoginEvent.patch index 75c03fadb..8df57aa1d 100644 --- a/CraftBukkit-Patches/0052-Always-Fire-PreLoginEvent.patch +++ b/CraftBukkit-Patches/0053-Always-Fire-PreLoginEvent.patch @@ -1,4 +1,4 @@ -From f01242f936f1ae3498efc995c928b60f4cbd2120 Mon Sep 17 00:00:00 2001 +From edf843cfae42c688f7003f0aeb4aacd081d0ac0a Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 25 Jun 2013 18:09:26 +1000 Subject: [PATCH] Always Fire PreLoginEvent diff --git a/CraftBukkit-Patches/0053-Properly-Close-Inventories.patch b/CraftBukkit-Patches/0054-Properly-Close-Inventories.patch similarity index 96% rename from CraftBukkit-Patches/0053-Properly-Close-Inventories.patch rename to CraftBukkit-Patches/0054-Properly-Close-Inventories.patch index 2e16dac12..5cb32d868 100644 --- a/CraftBukkit-Patches/0053-Properly-Close-Inventories.patch +++ b/CraftBukkit-Patches/0054-Properly-Close-Inventories.patch @@ -1,4 +1,4 @@ -From dc1c55ca2a986658ed9c24679099ece2862f95aa Mon Sep 17 00:00:00 2001 +From 24d31e902cd21b4851964186fefa7f4b6ded271e Mon Sep 17 00:00:00 2001 From: md_5 Date: Thu, 27 Jun 2013 17:26:09 +1000 Subject: [PATCH] Properly Close Inventories @@ -6,7 +6,7 @@ Subject: [PATCH] Properly Close Inventories Properly close inventories when unloading and switching worlds. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 8665ef2..8c98f3e 100644 +index c353b29..dc20587 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -704,6 +704,15 @@ public class Chunk { diff --git a/CraftBukkit-Patches/0054-Disallow-Interaction-With-Self.patch b/CraftBukkit-Patches/0055-Disallow-Interaction-With-Self.patch similarity index 93% rename from CraftBukkit-Patches/0054-Disallow-Interaction-With-Self.patch rename to CraftBukkit-Patches/0055-Disallow-Interaction-With-Self.patch index f4f04fe46..6d7db9a14 100644 --- a/CraftBukkit-Patches/0054-Disallow-Interaction-With-Self.patch +++ b/CraftBukkit-Patches/0055-Disallow-Interaction-With-Self.patch @@ -1,4 +1,4 @@ -From 4e0a2bb87e18f9d8850701ab6f7bdd9acc6ed8ef Mon Sep 17 00:00:00 2001 +From 8d414631b4347cfcf8ac81810462f80147f1a8d2 Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 28 Jun 2013 19:52:54 +1000 Subject: [PATCH] Disallow Interaction With Self diff --git a/CraftBukkit-Patches/0055-Lower-Chunk-Compression.patch b/CraftBukkit-Patches/0056-Lower-Chunk-Compression.patch similarity index 95% rename from CraftBukkit-Patches/0055-Lower-Chunk-Compression.patch rename to CraftBukkit-Patches/0056-Lower-Chunk-Compression.patch index de434c60d..c490901a9 100644 --- a/CraftBukkit-Patches/0055-Lower-Chunk-Compression.patch +++ b/CraftBukkit-Patches/0056-Lower-Chunk-Compression.patch @@ -1,4 +1,4 @@ -From 0d991c2de2d9b984eb2402c465496ebfe9416e7c Mon Sep 17 00:00:00 2001 +From 765fe6a0c96ce22e609bff4ad366faf54812396f Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 2 Jul 2013 09:07:54 +1000 Subject: [PATCH] Lower Chunk Compression diff --git a/CraftBukkit-Patches/0056-Entity-Mount-and-Dismount-Events.patch b/CraftBukkit-Patches/0057-Entity-Mount-and-Dismount-Events.patch similarity index 95% rename from CraftBukkit-Patches/0056-Entity-Mount-and-Dismount-Events.patch rename to CraftBukkit-Patches/0057-Entity-Mount-and-Dismount-Events.patch index 3452b96ac..826cee4ce 100644 --- a/CraftBukkit-Patches/0056-Entity-Mount-and-Dismount-Events.patch +++ b/CraftBukkit-Patches/0057-Entity-Mount-and-Dismount-Events.patch @@ -1,11 +1,11 @@ -From 19063549ea06342bc6d9137f425940fae1e8c173 Mon Sep 17 00:00:00 2001 +From b77192c2e8533c8be00f0beeb661b62849c35110 Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 2 Jul 2013 20:32:49 +1000 Subject: [PATCH] Entity Mount and Dismount Events diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 852dfd3..92d7dc4 100644 +index fe856fc..60c2221 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1427,6 +1427,7 @@ public abstract class Entity { @@ -35,7 +35,7 @@ index 852dfd3..92d7dc4 100644 if (this.vehicle != null) { this.vehicle.passenger = null; diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index e4fe770..8c5a8ba 100644 +index e1a3ca1..adb27d8 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -304,6 +304,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen diff --git a/CraftBukkit-Patches/0057-Colour-Console-Messages.patch b/CraftBukkit-Patches/0058-Colour-Console-Messages.patch similarity index 89% rename from CraftBukkit-Patches/0057-Colour-Console-Messages.patch rename to CraftBukkit-Patches/0058-Colour-Console-Messages.patch index 294532fb7..af66198cd 100644 --- a/CraftBukkit-Patches/0057-Colour-Console-Messages.patch +++ b/CraftBukkit-Patches/0058-Colour-Console-Messages.patch @@ -1,11 +1,11 @@ -From 26e9323ab6a8b867a0981070e7e6d854df509292 Mon Sep 17 00:00:00 2001 +From 3e3ad5a9e5de8bd5cd84d5d478c0b8ac8b2b7333 Mon Sep 17 00:00:00 2001 From: md_5 Date: Thu, 4 Jul 2013 10:11:46 +1000 Subject: [PATCH] Colour Console Messages diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index aeac6e9..3c9cf29 100644 +index e5b8391..e8e3c9e 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -919,7 +919,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo diff --git a/CraftBukkit-Patches/0058-Properly-Consume-Bonemeal-in-Dispensers.patch b/CraftBukkit-Patches/0059-Properly-Consume-Bonemeal-in-Dispensers.patch similarity index 97% rename from CraftBukkit-Patches/0058-Properly-Consume-Bonemeal-in-Dispensers.patch rename to CraftBukkit-Patches/0059-Properly-Consume-Bonemeal-in-Dispensers.patch index aa4e2e625..820fead1d 100644 --- a/CraftBukkit-Patches/0058-Properly-Consume-Bonemeal-in-Dispensers.patch +++ b/CraftBukkit-Patches/0059-Properly-Consume-Bonemeal-in-Dispensers.patch @@ -1,4 +1,4 @@ -From 7ffd444f40c4cd4b127151e6a81ce713d41fdad1 Mon Sep 17 00:00:00 2001 +From 43da205a1bc25ac30b44a6367b7d7f35ebe90818 Mon Sep 17 00:00:00 2001 From: Alex Ciuba Date: Mon, 10 Jun 2013 16:04:38 -0400 Subject: [PATCH] Properly Consume Bonemeal in Dispensers diff --git a/CraftBukkit-Patches/0059-Prevent-Ghost-Players-Caused-by-Plugins.patch b/CraftBukkit-Patches/0060-Prevent-Ghost-Players-Caused-by-Plugins.patch similarity index 94% rename from CraftBukkit-Patches/0059-Prevent-Ghost-Players-Caused-by-Plugins.patch rename to CraftBukkit-Patches/0060-Prevent-Ghost-Players-Caused-by-Plugins.patch index d04bdebfa..c8380e0c1 100644 --- a/CraftBukkit-Patches/0059-Prevent-Ghost-Players-Caused-by-Plugins.patch +++ b/CraftBukkit-Patches/0060-Prevent-Ghost-Players-Caused-by-Plugins.patch @@ -1,4 +1,4 @@ -From 8dff082d1de9429d714b1069a413423246399ebd Mon Sep 17 00:00:00 2001 +From 3d38cee38e3984d42237d7353b000051be2be0c6 Mon Sep 17 00:00:00 2001 From: Alex Ciuba Date: Tue, 11 Jun 2013 15:23:03 -0400 Subject: [PATCH] Prevent Ghost Players Caused by Plugins diff --git a/CraftBukkit-Patches/0060-Entity-ticking-chunk-caching.patch b/CraftBukkit-Patches/0061-Entity-ticking-chunk-caching.patch similarity index 97% rename from CraftBukkit-Patches/0060-Entity-ticking-chunk-caching.patch rename to CraftBukkit-Patches/0061-Entity-ticking-chunk-caching.patch index 5233822ef..ee4e21e6f 100644 --- a/CraftBukkit-Patches/0060-Entity-ticking-chunk-caching.patch +++ b/CraftBukkit-Patches/0061-Entity-ticking-chunk-caching.patch @@ -1,4 +1,4 @@ -From 0364e5efc23a634a5a5bf28f287952ae508c0116 Mon Sep 17 00:00:00 2001 +From ea70179245470f2baf92f73a45c87e36e654edbc Mon Sep 17 00:00:00 2001 From: Ammar Askar Date: Tue, 16 Jul 2013 03:32:32 +0500 Subject: [PATCH] Entity ticking chunk caching @@ -6,7 +6,7 @@ Subject: [PATCH] Entity ticking chunk caching Cache known loaded chunks so we avoid making a potentially expensive contains call for every single entity in exchange for some simple arithmetic. Best case scenario, this cuts down contains call to once per chunk, worst case it adds on some simple arithmetic operations diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 84ee535..06759cd 100644 +index 8bd7876..ba1c1ca 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1221,6 +1221,7 @@ public abstract class World implements IBlockAccess { diff --git a/CraftBukkit-Patches/0061-Plug-World-Unload-Memory-Leak.patch b/CraftBukkit-Patches/0062-Plug-World-Unload-Memory-Leak.patch similarity index 92% rename from CraftBukkit-Patches/0061-Plug-World-Unload-Memory-Leak.patch rename to CraftBukkit-Patches/0062-Plug-World-Unload-Memory-Leak.patch index 7729181cd..964ad6a22 100644 --- a/CraftBukkit-Patches/0061-Plug-World-Unload-Memory-Leak.patch +++ b/CraftBukkit-Patches/0062-Plug-World-Unload-Memory-Leak.patch @@ -1,4 +1,4 @@ -From bc957797b53181de21a4e8775ff19524edbff467 Mon Sep 17 00:00:00 2001 +From e5bd78ed743866ec5f4f420dd52958e0f282c92e Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 3 Aug 2013 19:02:59 +1000 Subject: [PATCH] Plug World Unload Memory Leak diff --git a/CraftBukkit-Patches/0062-Player-Collision-API.patch b/CraftBukkit-Patches/0063-Player-Collision-API.patch similarity index 98% rename from CraftBukkit-Patches/0062-Player-Collision-API.patch rename to CraftBukkit-Patches/0063-Player-Collision-API.patch index 098a3a2df..0af3de8d7 100644 --- a/CraftBukkit-Patches/0062-Player-Collision-API.patch +++ b/CraftBukkit-Patches/0063-Player-Collision-API.patch @@ -1,4 +1,4 @@ -From fe4fad88f5d1e8afcc3c158fd1b160f58c55c59d Mon Sep 17 00:00:00 2001 +From 36ad0071b43b9043ad4f0490d4ea33b2f2706d65 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 3 Aug 2013 19:27:07 +1000 Subject: [PATCH] Player Collision API diff --git a/CraftBukkit-Patches/0063-Fully-Disable-Snooper-When-Not-Required.patch b/CraftBukkit-Patches/0064-Fully-Disable-Snooper-When-Not-Required.patch similarity index 90% rename from CraftBukkit-Patches/0063-Fully-Disable-Snooper-When-Not-Required.patch rename to CraftBukkit-Patches/0064-Fully-Disable-Snooper-When-Not-Required.patch index ad54208c3..2f8931bb1 100644 --- a/CraftBukkit-Patches/0063-Fully-Disable-Snooper-When-Not-Required.patch +++ b/CraftBukkit-Patches/0064-Fully-Disable-Snooper-When-Not-Required.patch @@ -1,11 +1,11 @@ -From 07cbb080563ba1ea7a0bfd6dfe0162a761b1c94b Mon Sep 17 00:00:00 2001 +From 7b6f20a1b6e3ed59aeb5e458a9c9ff676fbb2df2 Mon Sep 17 00:00:00 2001 From: agentk20 Date: Sat, 3 Aug 2013 19:28:48 +1000 Subject: [PATCH] Fully Disable Snooper When Not Required diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3c9cf29..fb8bc87 100644 +index e8e3c9e..4a72f2c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -500,11 +500,11 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo diff --git a/CraftBukkit-Patches/0064-Add-Getter-for-Entity-Invulnerability.patch b/CraftBukkit-Patches/0065-Add-Getter-for-Entity-Invulnerability.patch similarity index 92% rename from CraftBukkit-Patches/0064-Add-Getter-for-Entity-Invulnerability.patch rename to CraftBukkit-Patches/0065-Add-Getter-for-Entity-Invulnerability.patch index 488f7b20c..b3fdde1a6 100644 --- a/CraftBukkit-Patches/0064-Add-Getter-for-Entity-Invulnerability.patch +++ b/CraftBukkit-Patches/0065-Add-Getter-for-Entity-Invulnerability.patch @@ -1,4 +1,4 @@ -From eda99a5cfa88916585dfb3ca301f7bdb2dfd0894 Mon Sep 17 00:00:00 2001 +From 8a9ef0403468ad7597e4b0e70ae3a61a18bf88b0 Mon Sep 17 00:00:00 2001 From: DerFlash Date: Sat, 3 Aug 2013 19:53:48 +1000 Subject: [PATCH] Add Getter for Entity Invulnerability diff --git a/CraftBukkit-Patches/0065-Guard-entity-list.patch b/CraftBukkit-Patches/0066-Guard-entity-list.patch similarity index 96% rename from CraftBukkit-Patches/0065-Guard-entity-list.patch rename to CraftBukkit-Patches/0066-Guard-entity-list.patch index 3f8524ea8..c574e960d 100644 --- a/CraftBukkit-Patches/0065-Guard-entity-list.patch +++ b/CraftBukkit-Patches/0066-Guard-entity-list.patch @@ -1,11 +1,11 @@ -From d52b2472e42eb743873629aedbaa402a4d4bc9fc Mon Sep 17 00:00:00 2001 +From 284f5650477cb3ccaedd228fbaa6439e8a8e8bd9 Mon Sep 17 00:00:00 2001 From: Ammar Askar Date: Sat, 3 Aug 2013 21:42:00 +0500 Subject: [PATCH] Guard entity list diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 06759cd..cb21133 100644 +index ba1c1ca..c03e274 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -29,7 +29,25 @@ import org.bukkit.event.weather.ThunderChangeEvent; diff --git a/CraftBukkit-Patches/0066-Cap-Minimum-Player-Speed.patch b/CraftBukkit-Patches/0067-Cap-Minimum-Player-Speed.patch similarity index 92% rename from CraftBukkit-Patches/0066-Cap-Minimum-Player-Speed.patch rename to CraftBukkit-Patches/0067-Cap-Minimum-Player-Speed.patch index f3fc05a0b..ff6cc53f3 100644 --- a/CraftBukkit-Patches/0066-Cap-Minimum-Player-Speed.patch +++ b/CraftBukkit-Patches/0067-Cap-Minimum-Player-Speed.patch @@ -1,11 +1,11 @@ -From 505f91d303c1862761df05b23a67ce1878fd1c45 Mon Sep 17 00:00:00 2001 +From d11fddbdd62a2be3e66fc9623661403ffcd17faf Mon Sep 17 00:00:00 2001 From: md_5 Date: Mon, 5 Aug 2013 20:17:20 +1000 Subject: [PATCH] Cap Minimum Player Speed diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e7ea9b4..33674b1 100644 +index 654c3c9..6ee31d9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -952,7 +952,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/CraftBukkit-Patches/0067-Update-Physics-When-Updating-Attachables.patch b/CraftBukkit-Patches/0068-Update-Physics-When-Updating-Attachables.patch similarity index 95% rename from CraftBukkit-Patches/0067-Update-Physics-When-Updating-Attachables.patch rename to CraftBukkit-Patches/0068-Update-Physics-When-Updating-Attachables.patch index 2e6583677..7be7026e9 100644 --- a/CraftBukkit-Patches/0067-Update-Physics-When-Updating-Attachables.patch +++ b/CraftBukkit-Patches/0068-Update-Physics-When-Updating-Attachables.patch @@ -1,4 +1,4 @@ -From a38166af9bc62d32ef87fdf7808cefc601835bf8 Mon Sep 17 00:00:00 2001 +From 4715cecf8a6aca768fa90a38c78469cf1016eb6b Mon Sep 17 00:00:00 2001 From: Chad Waters Date: Tue, 26 Mar 2013 07:47:43 -0400 Subject: [PATCH] Update Physics When Updating Attachables diff --git a/CraftBukkit-Patches/0068-Update-Inventory-and-Health-for-PlayerConsumeItemEve.patch b/CraftBukkit-Patches/0069-Update-Inventory-and-Health-for-PlayerConsumeItemEve.patch similarity index 91% rename from CraftBukkit-Patches/0068-Update-Inventory-and-Health-for-PlayerConsumeItemEve.patch rename to CraftBukkit-Patches/0069-Update-Inventory-and-Health-for-PlayerConsumeItemEve.patch index 606c9225a..b319183e8 100644 --- a/CraftBukkit-Patches/0068-Update-Inventory-and-Health-for-PlayerConsumeItemEve.patch +++ b/CraftBukkit-Patches/0069-Update-Inventory-and-Health-for-PlayerConsumeItemEve.patch @@ -1,11 +1,11 @@ -From 06218458dc727b2cc7d6f7eb0c420f0dc2dd2151 Mon Sep 17 00:00:00 2001 +From 24b94662ec7f7cc5a9f7d953494ecfbbdb391035 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 14 Sep 2013 10:16:38 +1000 Subject: [PATCH] Update Inventory and Health for PlayerConsumeItemEvent diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index b180933..36eca0f 100644 +index 0a35df8..e3c4d8c 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -258,6 +258,10 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen diff --git a/CraftBukkit-Patches/0069-Nerf-Zombie-Lag-Issues.patch b/CraftBukkit-Patches/0070-Nerf-Zombie-Lag-Issues.patch similarity index 98% rename from CraftBukkit-Patches/0069-Nerf-Zombie-Lag-Issues.patch rename to CraftBukkit-Patches/0070-Nerf-Zombie-Lag-Issues.patch index 6f995cbf2..a82659719 100644 --- a/CraftBukkit-Patches/0069-Nerf-Zombie-Lag-Issues.patch +++ b/CraftBukkit-Patches/0070-Nerf-Zombie-Lag-Issues.patch @@ -1,4 +1,4 @@ -From feb2123552d4e4676471fb2130a1d26fc72e6e9e Mon Sep 17 00:00:00 2001 +From 6649bf8e5ea40c1620570364905bb6d8deabbfa8 Mon Sep 17 00:00:00 2001 From: Dylan Xaldin Date: Sat, 14 Sep 2013 11:02:34 +1000 Subject: [PATCH] Nerf Zombie Lag Issues diff --git a/CraftBukkit-Patches/0070-Call-EntityChangeBlockEvent-for-Fire-Arrows-hitting-.patch b/CraftBukkit-Patches/0071-Call-EntityChangeBlockEvent-for-Fire-Arrows-hitting-.patch similarity index 96% rename from CraftBukkit-Patches/0070-Call-EntityChangeBlockEvent-for-Fire-Arrows-hitting-.patch rename to CraftBukkit-Patches/0071-Call-EntityChangeBlockEvent-for-Fire-Arrows-hitting-.patch index 684d3c2be..253839602 100644 --- a/CraftBukkit-Patches/0070-Call-EntityChangeBlockEvent-for-Fire-Arrows-hitting-.patch +++ b/CraftBukkit-Patches/0071-Call-EntityChangeBlockEvent-for-Fire-Arrows-hitting-.patch @@ -1,4 +1,4 @@ -From 5142db3b8fef6932beaf6832a8299cddd7a6da38 Mon Sep 17 00:00:00 2001 +From cacda76247284c121897d7db87e42868b7cf5377 Mon Sep 17 00:00:00 2001 From: BlackHole Date: Tue, 16 Jul 2013 22:34:50 +0200 Subject: [PATCH] Call EntityChangeBlockEvent for Fire Arrows hitting TNT diff --git a/CraftBukkit-Patches/0071-Allow-Disabling-of-1.6.3-Structure-Saving.patch b/CraftBukkit-Patches/0072-Allow-Disabling-of-1.6.3-Structure-Saving.patch similarity index 97% rename from CraftBukkit-Patches/0071-Allow-Disabling-of-1.6.3-Structure-Saving.patch rename to CraftBukkit-Patches/0072-Allow-Disabling-of-1.6.3-Structure-Saving.patch index f72b88dde..3c6f1d1e3 100644 --- a/CraftBukkit-Patches/0071-Allow-Disabling-of-1.6.3-Structure-Saving.patch +++ b/CraftBukkit-Patches/0072-Allow-Disabling-of-1.6.3-Structure-Saving.patch @@ -1,4 +1,4 @@ -From ba1e8251fe01a17473721f484f6f28204615b486 Mon Sep 17 00:00:00 2001 +From 79440ab42fc945d2efec96be6ec3bb7667c18e71 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 21 Sep 2013 12:33:09 +1000 Subject: [PATCH] Allow Disabling of 1.6.3 Structure Saving diff --git a/CraftBukkit-Patches/0072-Item-Despawn-Rate.patch b/CraftBukkit-Patches/0073-Item-Despawn-Rate.patch similarity index 95% rename from CraftBukkit-Patches/0072-Item-Despawn-Rate.patch rename to CraftBukkit-Patches/0073-Item-Despawn-Rate.patch index 12e7f5a2d..4236cbb9d 100644 --- a/CraftBukkit-Patches/0072-Item-Despawn-Rate.patch +++ b/CraftBukkit-Patches/0073-Item-Despawn-Rate.patch @@ -1,4 +1,4 @@ -From eabce6e178ee73363104fb3e85d6c9961a29ecf7 Mon Sep 17 00:00:00 2001 +From a506a78c0160d17ca9b1a9e8fcaa17718a2e7678 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 22 Sep 2013 19:10:53 +1000 Subject: [PATCH] Item Despawn Rate