Next tick list patch is causing odd speedups. Lets remove until @ammar2 or @mikeprimm can investigate.
This commit is contained in:
parent
341a7b2f60
commit
d8c4486016
@ -1,314 +0,0 @@
|
|||||||
From c6765742b160b32e27b3a77a060f5eedd7e44335 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mike Primm <mike@primmhome.com>
|
|
||||||
Date: Wed, 24 Apr 2013 01:43:33 -0500
|
|
||||||
Subject: [PATCH] Improve NextTickList Performance
|
|
||||||
|
|
||||||
Improve next-tick-list performance on chunk unloads, large
|
|
||||||
queues
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/NextTickListEntry.java b/src/main/java/net/minecraft/server/NextTickListEntry.java
|
|
||||||
index 06934a1..d90acfc 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/NextTickListEntry.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/NextTickListEntry.java
|
|
||||||
@@ -30,7 +30,7 @@ public class NextTickListEntry implements Comparable {
|
|
||||||
}
|
|
||||||
|
|
||||||
public int hashCode() {
|
|
||||||
- return (this.a * 1024 * 1024 + this.c * 1024 + this.b) * 256;
|
|
||||||
+ return (this.a * 257) ^ this.b ^ (this.c * 60217); // Spigot - better hash
|
|
||||||
}
|
|
||||||
|
|
||||||
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 74a2d45..3cf8a53 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
|
||||||
@@ -29,8 +29,8 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
|
|
||||||
private final MinecraftServer server;
|
|
||||||
public EntityTracker tracker; // CraftBukkit - private final -> public
|
|
||||||
private final PlayerChunkMap manager;
|
|
||||||
- private Set M;
|
|
||||||
- private TreeSet N;
|
|
||||||
+ private org.bukkit.craftbukkit.util.LongObjectHashMap<Set<NextTickListEntry>> tickEntriesByChunk; // Spigot - switch to something better for chunk-wise access
|
|
||||||
+ private TreeSet<NextTickListEntry> tickEntryQueue; // Spigot
|
|
||||||
public ChunkProviderServer chunkProviderServer;
|
|
||||||
public boolean savingDisabled;
|
|
||||||
private boolean O;
|
|
||||||
@@ -40,7 +40,8 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
|
|
||||||
private NoteDataList[] S = new NoteDataList[] { new NoteDataList((EmptyClass2) null), new NoteDataList((EmptyClass2) null)};
|
|
||||||
private int T;
|
|
||||||
private static final StructurePieceTreasure[] U = new StructurePieceTreasure[] { new StructurePieceTreasure(Items.STICK, 0, 1, 3, 10), new StructurePieceTreasure(Item.getItemOf(Blocks.WOOD), 0, 1, 3, 10), new StructurePieceTreasure(Item.getItemOf(Blocks.LOG), 0, 1, 3, 10), new StructurePieceTreasure(Items.STONE_AXE, 0, 1, 1, 3), new StructurePieceTreasure(Items.WOOD_AXE, 0, 1, 1, 5), new StructurePieceTreasure(Items.STONE_PICKAXE, 0, 1, 1, 3), new StructurePieceTreasure(Items.WOOD_PICKAXE, 0, 1, 1, 5), new StructurePieceTreasure(Items.APPLE, 0, 2, 3, 5), new StructurePieceTreasure(Items.BREAD, 0, 2, 3, 3), new StructurePieceTreasure(Item.getItemOf(Blocks.LOG2), 0, 1, 3, 10)};
|
|
||||||
- private List V = new ArrayList();
|
|
||||||
+ private ArrayList<NextTickListEntry> pendingTickEntries = new ArrayList<NextTickListEntry>(); // Spigot
|
|
||||||
+ private int nextPendingTickEntry; // Spigot
|
|
||||||
private IntHashMap entitiesById;
|
|
||||||
|
|
||||||
// CraftBukkit start
|
|
||||||
@@ -59,13 +60,15 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
|
|
||||||
this.entitiesById = new IntHashMap();
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (this.M == null) {
|
|
||||||
- this.M = new HashSet();
|
|
||||||
+ // Spigot start
|
|
||||||
+ if (this.tickEntriesByChunk == null) {
|
|
||||||
+ this.tickEntriesByChunk = new org.bukkit.craftbukkit.util.LongObjectHashMap<Set<NextTickListEntry>>();
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (this.N == null) {
|
|
||||||
- this.N = new TreeSet();
|
|
||||||
+ if (this.tickEntryQueue == null) {
|
|
||||||
+ this.tickEntryQueue = new TreeSet<NextTickListEntry>();
|
|
||||||
}
|
|
||||||
+ // Spigot end
|
|
||||||
|
|
||||||
this.Q = new org.bukkit.craftbukkit.CraftTravelAgent(this); // CraftBukkit
|
|
||||||
this.scoreboard = new ScoreboardServer(minecraftserver);
|
|
||||||
@@ -438,10 +441,17 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- public boolean a(int i, int j, int k, Block block) {
|
|
||||||
- NextTickListEntry nextticklistentry = new NextTickListEntry(i, j, k, block);
|
|
||||||
-
|
|
||||||
- return this.V.contains(nextticklistentry);
|
|
||||||
+ public boolean a(int i, int j, int k, Block block) { // Block was l
|
|
||||||
+ // Spigot start
|
|
||||||
+ int te_cnt = this.pendingTickEntries.size();
|
|
||||||
+ for (int idx = this.nextPendingTickEntry; idx < te_cnt; idx++) {
|
|
||||||
+ NextTickListEntry ent = this.pendingTickEntries.get(idx);
|
|
||||||
+ if ((ent.a == i) && (ent.b == j) && (ent.c == k) && Block.a(ent.a(), block)) {
|
|
||||||
+ return true;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ return false;
|
|
||||||
+ // Spigot end
|
|
||||||
}
|
|
||||||
|
|
||||||
public void a(int i, int j, int k, Block block, int l) {
|
|
||||||
@@ -475,10 +485,9 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
|
|
||||||
nextticklistentry.a(i1);
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (!this.M.contains(nextticklistentry)) {
|
|
||||||
- this.M.add(nextticklistentry);
|
|
||||||
- this.N.add(nextticklistentry);
|
|
||||||
- }
|
|
||||||
+ // Spigot start
|
|
||||||
+ addNextTickIfNeeded(nextticklistentry);
|
|
||||||
+ // Spigot end
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -490,10 +499,9 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
|
|
||||||
nextticklistentry.a((long) l + this.worldData.getTime());
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (!this.M.contains(nextticklistentry)) {
|
|
||||||
- this.M.add(nextticklistentry);
|
|
||||||
- this.N.add(nextticklistentry);
|
|
||||||
- }
|
|
||||||
+ // Spigot start
|
|
||||||
+ addNextTickIfNeeded(nextticklistentry);
|
|
||||||
+ // Spigot end
|
|
||||||
}
|
|
||||||
|
|
||||||
public void tickEntities() {
|
|
||||||
@@ -513,11 +521,12 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean a(boolean flag) {
|
|
||||||
- int i = this.N.size();
|
|
||||||
+ // Spigot start
|
|
||||||
+ int i = this.tickEntryQueue.size();
|
|
||||||
|
|
||||||
- if (i != this.M.size()) {
|
|
||||||
- throw new IllegalStateException("TickNextTick list out of synch");
|
|
||||||
- } else {
|
|
||||||
+ this.nextPendingTickEntry = 0;
|
|
||||||
+ {
|
|
||||||
+ // Spigot end
|
|
||||||
if (i > 1000) {
|
|
||||||
// CraftBukkit start - If the server has too much to process over time, try to alleviate that
|
|
||||||
if (i > 20 * 1000) {
|
|
||||||
@@ -533,23 +542,24 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
|
|
||||||
NextTickListEntry nextticklistentry;
|
|
||||||
|
|
||||||
for (int j = 0; j < i; ++j) {
|
|
||||||
- nextticklistentry = (NextTickListEntry) this.N.first();
|
|
||||||
- if (!flag && nextticklistentry.d > this.worldData.getTime()) {
|
|
||||||
+ nextticklistentry = (NextTickListEntry) this.tickEntryQueue.first(); // Spigot
|
|
||||||
+ if (!flag && nextticklistentry.e > this.worldData.getTime()) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
- this.N.remove(nextticklistentry);
|
|
||||||
- this.M.remove(nextticklistentry);
|
|
||||||
- this.V.add(nextticklistentry);
|
|
||||||
+ // Spigot start
|
|
||||||
+ this.removeNextTickIfNeeded(nextticklistentry);
|
|
||||||
+ this.pendingTickEntries.add(nextticklistentry);
|
|
||||||
+ // Spigot end
|
|
||||||
}
|
|
||||||
|
|
||||||
this.methodProfiler.b();
|
|
||||||
this.methodProfiler.a("ticking");
|
|
||||||
- Iterator iterator = this.V.iterator();
|
|
||||||
-
|
|
||||||
- while (iterator.hasNext()) {
|
|
||||||
- nextticklistentry = (NextTickListEntry) iterator.next();
|
|
||||||
- iterator.remove();
|
|
||||||
+ // Spigot start
|
|
||||||
+ for (int j = 0, te_cnt = this.pendingTickEntries.size(); j < te_cnt; j++) {
|
|
||||||
+ nextticklistentry = pendingTickEntries.get(j);
|
|
||||||
+ this.nextPendingTickEntry = j + 1; // treat this as dequeued
|
|
||||||
+ // Spigot end
|
|
||||||
byte b0 = 0;
|
|
||||||
|
|
||||||
if (this.b(nextticklistentry.a - b0, nextticklistentry.b - b0, nextticklistentry.c - b0, nextticklistentry.a + b0, nextticklistentry.b + b0, nextticklistentry.c + b0)) {
|
|
||||||
@@ -580,50 +590,18 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
|
|
||||||
}
|
|
||||||
|
|
||||||
this.methodProfiler.b();
|
|
||||||
- this.V.clear();
|
|
||||||
- return !this.N.isEmpty();
|
|
||||||
- }
|
|
||||||
+ // Spigot start
|
|
||||||
+ this.pendingTickEntries.clear();
|
|
||||||
+ this.nextPendingTickEntry = 0;
|
|
||||||
+ return !this.tickEntryQueue.isEmpty();
|
|
||||||
+ // Spigot end
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
public List a(Chunk chunk, boolean flag) {
|
|
||||||
- ArrayList arraylist = null;
|
|
||||||
- ChunkCoordIntPair chunkcoordintpair = chunk.l();
|
|
||||||
- int i = (chunkcoordintpair.x << 4) - 2;
|
|
||||||
- int j = i + 16 + 2;
|
|
||||||
- int k = (chunkcoordintpair.z << 4) - 2;
|
|
||||||
- int l = k + 16 + 2;
|
|
||||||
-
|
|
||||||
- for (int i1 = 0; i1 < 2; ++i1) {
|
|
||||||
- Iterator iterator;
|
|
||||||
-
|
|
||||||
- if (i1 == 0) {
|
|
||||||
- iterator = this.N.iterator();
|
|
||||||
- } else {
|
|
||||||
- iterator = this.V.iterator();
|
|
||||||
- if (!this.V.isEmpty()) {
|
|
||||||
- a.debug("toBeTicked = " + this.V.size());
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- while (iterator.hasNext()) {
|
|
||||||
- NextTickListEntry nextticklistentry = (NextTickListEntry) iterator.next();
|
|
||||||
-
|
|
||||||
- if (nextticklistentry.a >= i && nextticklistentry.a < j && nextticklistentry.c >= k && nextticklistentry.c < l) {
|
|
||||||
- if (flag) {
|
|
||||||
- this.M.remove(nextticklistentry);
|
|
||||||
- iterator.remove();
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- if (arraylist == null) {
|
|
||||||
- arraylist = new ArrayList();
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- arraylist.add(nextticklistentry);
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- return arraylist;
|
|
||||||
+ // Spigot start
|
|
||||||
+ return this.getNextTickEntriesForChunk(chunk, flag);
|
|
||||||
+ // Spigot end
|
|
||||||
}
|
|
||||||
|
|
||||||
/* CraftBukkit start - We prevent spawning in general, so this butchering is not needed
|
|
||||||
@@ -695,13 +673,15 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
|
|
||||||
this.entitiesById = new IntHashMap();
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (this.M == null) {
|
|
||||||
- this.M = new HashSet();
|
|
||||||
+ // Spigot start
|
|
||||||
+ if (this.tickEntriesByChunk == null) {
|
|
||||||
+ this.tickEntriesByChunk = new org.bukkit.craftbukkit.util.LongObjectHashMap<Set<NextTickListEntry>>();
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (this.N == null) {
|
|
||||||
- this.N = new TreeSet();
|
|
||||||
+ if (this.tickEntryQueue == null) {
|
|
||||||
+ this.tickEntryQueue = new TreeSet<NextTickListEntry>();
|
|
||||||
}
|
|
||||||
+ // Spigot end
|
|
||||||
|
|
||||||
this.b(worldsettings);
|
|
||||||
super.a(worldsettings);
|
|
||||||
@@ -1031,4 +1011,62 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
|
|
||||||
return Block.b(getType(x, y, z));
|
|
||||||
}
|
|
||||||
// CraftBukkit end
|
|
||||||
+ // Spigot start
|
|
||||||
+ private void addNextTickIfNeeded(NextTickListEntry ent) {
|
|
||||||
+ long coord = LongHash.toLong(ent.a >> 4, ent.c >> 4);
|
|
||||||
+ Set<NextTickListEntry> chunkset = this.tickEntriesByChunk.get(coord);
|
|
||||||
+ if (chunkset == null) {
|
|
||||||
+ chunkset = new HashSet<NextTickListEntry>();
|
|
||||||
+ this.tickEntriesByChunk.put(coord, chunkset);
|
|
||||||
+ } else if (chunkset.contains(ent)) {
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ chunkset.add(ent);
|
|
||||||
+ this.tickEntryQueue.add(ent);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ private void removeNextTickIfNeeded(NextTickListEntry ent) {
|
|
||||||
+ long coord = LongHash.toLong(ent.a >> 4, ent.c >> 4);
|
|
||||||
+ Set<NextTickListEntry> chunkset = this.tickEntriesByChunk.get(coord);
|
|
||||||
+ if (chunkset != null) {
|
|
||||||
+ chunkset.remove(ent);
|
|
||||||
+ if (chunkset.isEmpty()) {
|
|
||||||
+ this.tickEntriesByChunk.remove(coord);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ this.tickEntryQueue.remove(ent);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ private List<NextTickListEntry> getNextTickEntriesForChunk(Chunk chunk, boolean remove) {
|
|
||||||
+ long coord = LongHash.toLong(chunk.locX, chunk.locZ);
|
|
||||||
+ Set<NextTickListEntry> chunkset = this.tickEntriesByChunk.get(coord);
|
|
||||||
+ List<NextTickListEntry> list = null;
|
|
||||||
+ if (chunkset != null) {
|
|
||||||
+ list = new ArrayList<NextTickListEntry>(chunkset);
|
|
||||||
+ if (remove) {
|
|
||||||
+ this.tickEntriesByChunk.remove(coord);
|
|
||||||
+ this.tickEntryQueue.removeAll(list);
|
|
||||||
+ chunkset.clear();
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ // See if any on list of ticks being processed now
|
|
||||||
+ if (this.nextPendingTickEntry < this.pendingTickEntries.size()) {
|
|
||||||
+ int xmin = (chunk.locX << 4);
|
|
||||||
+ int xmax = xmin + 16;
|
|
||||||
+ int zmin = (chunk.locZ << 4);
|
|
||||||
+ int zmax = zmin + 16;
|
|
||||||
+ int te_cnt = this.pendingTickEntries.size();
|
|
||||||
+ for (int i = this.nextPendingTickEntry; i < te_cnt; i++) {
|
|
||||||
+ NextTickListEntry ent = this.pendingTickEntries.get(i);
|
|
||||||
+ if ((ent.a >= xmin) && (ent.a < xmax) && (ent.c >= zmin) && (ent.c < zmax)) {
|
|
||||||
+ if (list == null) {
|
|
||||||
+ list = new ArrayList<NextTickListEntry>();
|
|
||||||
+ }
|
|
||||||
+ list.add(ent);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ return list;
|
|
||||||
+ }
|
|
||||||
+ // Spigot end
|
|
||||||
}
|
|
||||||
--
|
|
||||||
1.8.3.2
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From 0345c430b0b60309694c9c30dd4ac3e966f689d7 Mon Sep 17 00:00:00 2001
|
From e6c9e6890683727ba05918bb5b431dc03ca93f05 Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Sun, 19 May 2013 18:29:48 +1000
|
Date: Sun, 19 May 2013 18:29:48 +1000
|
||||||
Subject: [PATCH] Remove -o Option
|
Subject: [PATCH] Remove -o Option
|
@ -1,4 +1,4 @@
|
|||||||
From cf69c189b9d4f9adeded504065f9f1141338a4f7 Mon Sep 17 00:00:00 2001
|
From 9a3ca00c2b936410c119b33b0850085f881caedd Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Sat, 1 Jun 2013 16:34:38 +1000
|
Date: Sat, 1 Jun 2013 16:34:38 +1000
|
||||||
Subject: [PATCH] Recipe Deconstruction
|
Subject: [PATCH] Recipe Deconstruction
|
@ -1,4 +1,4 @@
|
|||||||
From 6c8390877aaed73c733652eb830e72744c43bb22 Mon Sep 17 00:00:00 2001
|
From 3f559eb3905e65ab6c39e930e9c0ef049e048ef3 Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Sun, 2 Jun 2013 15:16:05 +1000
|
Date: Sun, 2 Jun 2013 15:16:05 +1000
|
||||||
Subject: [PATCH] Implement Arrow API
|
Subject: [PATCH] Implement Arrow API
|
@ -1,4 +1,4 @@
|
|||||||
From a02b41b4296596e8b03203f630a33f9a7f1e83b7 Mon Sep 17 00:00:00 2001
|
From 16ff028b744bbd1483273fd2f8d2182a39893d78 Mon Sep 17 00:00:00 2001
|
||||||
From: erocs <github@erocs.org>
|
From: erocs <github@erocs.org>
|
||||||
Date: Sun, 8 Sep 2013 12:06:15 -0700
|
Date: Sun, 8 Sep 2013 12:06:15 -0700
|
||||||
Subject: [PATCH] Hopper Cooldowns
|
Subject: [PATCH] Hopper Cooldowns
|
@ -1,4 +1,4 @@
|
|||||||
From dd097bf3d6d43451da1b1e6f50e4079e4eabe19d Mon Sep 17 00:00:00 2001
|
From 857c0f61b79df4501764c80d6a73f0a7cebc814b Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Tue, 11 Jun 2013 11:54:32 +1000
|
Date: Tue, 11 Jun 2013 11:54:32 +1000
|
||||||
Subject: [PATCH] Prevent Shutdown Hang
|
Subject: [PATCH] Prevent Shutdown Hang
|
||||||
@ -6,7 +6,7 @@ Subject: [PATCH] Prevent Shutdown Hang
|
|||||||
Prevents server hanging if players disconnect during the shutdown sequence.
|
Prevents server hanging if players disconnect during the shutdown sequence.
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||||
index ad3c3cf..5b12cb4 100644
|
index b71ee29..196ac4f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||||
@@ -1115,8 +1115,15 @@ public abstract class PlayerList {
|
@@ -1115,8 +1115,15 @@ public abstract class PlayerList {
|
@ -1,4 +1,4 @@
|
|||||||
From 9965936524d50d63d287ede6a2ded4e7a8453ca1 Mon Sep 17 00:00:00 2001
|
From 1de9abd64aaa595440c4832b07f329c9df34b59e Mon Sep 17 00:00:00 2001
|
||||||
From: Andy Shulman <andy.shulman@hotmail.com>
|
From: Andy Shulman <andy.shulman@hotmail.com>
|
||||||
Date: Mon, 15 Apr 2013 20:06:37 -0500
|
Date: Mon, 15 Apr 2013 20:06:37 -0500
|
||||||
Subject: [PATCH] Implement SpawnerSpawnEvent.
|
Subject: [PATCH] Implement SpawnerSpawnEvent.
|
@ -1,4 +1,4 @@
|
|||||||
From 445f5d003c74ff2bdada5b4925bd541ad48aefdd Mon Sep 17 00:00:00 2001
|
From eda939c6e4776f4aba7ff67d1e12c860fa7c7490 Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Sat, 15 Jun 2013 21:34:48 +1000
|
Date: Sat, 15 Jun 2013 21:34:48 +1000
|
||||||
Subject: [PATCH] Firework Meta Crash Fix
|
Subject: [PATCH] Firework Meta Crash Fix
|
@ -1,4 +1,4 @@
|
|||||||
From 61e2bd2016bf217937001d19ba059f2e8dbed088 Mon Sep 17 00:00:00 2001
|
From 870c6576bc2ca87279d6032b2caf5b9c99589fc7 Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Sun, 16 Jun 2013 08:20:26 +1000
|
Date: Sun, 16 Jun 2013 08:20:26 +1000
|
||||||
Subject: [PATCH] Do Not Search for Offline Players
|
Subject: [PATCH] Do Not Search for Offline Players
|
@ -1,4 +1,4 @@
|
|||||||
From 4edcbe30edadeb74f69735329648e349dffbc860 Mon Sep 17 00:00:00 2001
|
From 999f4f59ebf6954c554a7d432a7b41cba79efef2 Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Fri, 21 Jun 2013 18:01:29 +1000
|
Date: Fri, 21 Jun 2013 18:01:29 +1000
|
||||||
Subject: [PATCH] Allow Disabling of Command Logging
|
Subject: [PATCH] Allow Disabling of Command Logging
|
@ -1,4 +1,4 @@
|
|||||||
From 7e8c1890f4c3dd7dc5d4966298c5aa644c0ceae5 Mon Sep 17 00:00:00 2001
|
From 023d1d6f29e1a600596f9cbcfd871b67c5fb0301 Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Fri, 21 Jun 2013 18:05:54 +1000
|
Date: Fri, 21 Jun 2013 18:05:54 +1000
|
||||||
Subject: [PATCH] Allow Disabling of Command TabComplete
|
Subject: [PATCH] Allow Disabling of Command TabComplete
|
@ -1,4 +1,4 @@
|
|||||||
From 51a2f67232f5e9757f296696e04c30b5ecf4de22 Mon Sep 17 00:00:00 2001
|
From d54f156ceae783962b48ffd878aa9a7634fcd00d Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Fri, 21 Jun 2013 19:21:58 +1000
|
Date: Fri, 21 Jun 2013 19:21:58 +1000
|
||||||
Subject: [PATCH] Configurable Messages
|
Subject: [PATCH] Configurable Messages
|
@ -1,4 +1,4 @@
|
|||||||
From 72ce396497d7ca73587cbf0af00823612b2565f4 Mon Sep 17 00:00:00 2001
|
From 590e9da3ab31190fe854da92f316ffbd3495a49b Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Sat, 22 Jun 2013 16:12:02 +1000
|
Date: Sat, 22 Jun 2013 16:12:02 +1000
|
||||||
Subject: [PATCH] Allow Disabling of Random Lighting Updates
|
Subject: [PATCH] Allow Disabling of Random Lighting Updates
|
@ -1,4 +1,4 @@
|
|||||||
From b3807b02eb0bfe85f417fd342dc93f9c3d3203fb Mon Sep 17 00:00:00 2001
|
From 0b94ac6d0df1b531c85fd75fdb6b3b86f47938fc Mon Sep 17 00:00:00 2001
|
||||||
From: Andre LeBlanc <andre@norcode.com>
|
From: Andre LeBlanc <andre@norcode.com>
|
||||||
Date: Sat, 6 Apr 2013 12:00:31 -0400
|
Date: Sat, 6 Apr 2013 12:00:31 -0400
|
||||||
Subject: [PATCH] Make AnvilInventory.getItem() use both containers. Fixes
|
Subject: [PATCH] Make AnvilInventory.getItem() use both containers. Fixes
|
@ -1,4 +1,4 @@
|
|||||||
From 294dbdd3f2228baf157b1ac52d8934e97f5718e4 Mon Sep 17 00:00:00 2001
|
From e5dc58c13bf6109115565aea6a33b46880650fd2 Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Thu, 27 Jun 2013 17:26:09 +1000
|
Date: Thu, 27 Jun 2013 17:26:09 +1000
|
||||||
Subject: [PATCH] Properly Close Inventories
|
Subject: [PATCH] Properly Close Inventories
|
@ -1,4 +1,4 @@
|
|||||||
From 9c8c93301cd83e61d774e2cda6b641f5c7e9ed8b Mon Sep 17 00:00:00 2001
|
From f19bd92ec29bbbc009855d7f5eb756f09859c0f7 Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Fri, 28 Jun 2013 19:52:54 +1000
|
Date: Fri, 28 Jun 2013 19:52:54 +1000
|
||||||
Subject: [PATCH] Disallow Interaction With Self
|
Subject: [PATCH] Disallow Interaction With Self
|
@ -1,4 +1,4 @@
|
|||||||
From 5ba3d91a29c49fa5b5d8a98930126132d480fb3c Mon Sep 17 00:00:00 2001
|
From 53f54e7754a93ba7d6c0cd7ce423f5e26cd13836 Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Tue, 2 Jul 2013 09:07:54 +1000
|
Date: Tue, 2 Jul 2013 09:07:54 +1000
|
||||||
Subject: [PATCH] Lower Chunk Compression
|
Subject: [PATCH] Lower Chunk Compression
|
@ -1,4 +1,4 @@
|
|||||||
From 28412c787ebb06f93444f4764fd519b9b57f63aa Mon Sep 17 00:00:00 2001
|
From 53470d677dd3e38c6bebf68c9fc8484894c3ec07 Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Tue, 2 Jul 2013 20:32:49 +1000
|
Date: Tue, 2 Jul 2013 20:32:49 +1000
|
||||||
Subject: [PATCH] Entity Mount and Dismount Events
|
Subject: [PATCH] Entity Mount and Dismount Events
|
@ -1,4 +1,4 @@
|
|||||||
From 258a4e400cba9446117963f1041db424617430a9 Mon Sep 17 00:00:00 2001
|
From f8cc5317e0a3da43d265764426cbd2d62fecad67 Mon Sep 17 00:00:00 2001
|
||||||
From: Alex Ciuba <alexciuba@gmail.com>
|
From: Alex Ciuba <alexciuba@gmail.com>
|
||||||
Date: Mon, 10 Jun 2013 16:04:38 -0400
|
Date: Mon, 10 Jun 2013 16:04:38 -0400
|
||||||
Subject: [PATCH] Properly Consume Bonemeal in Dispensers
|
Subject: [PATCH] Properly Consume Bonemeal in Dispensers
|
@ -1,4 +1,4 @@
|
|||||||
From b0bb7a61bc7b6e5dbb344ace753e81bf010e0363 Mon Sep 17 00:00:00 2001
|
From b363d90cd24cab256492ab3884e099991bde1def Mon Sep 17 00:00:00 2001
|
||||||
From: Alex Ciuba <alexciuba@gmail.com>
|
From: Alex Ciuba <alexciuba@gmail.com>
|
||||||
Date: Tue, 11 Jun 2013 15:23:03 -0400
|
Date: Tue, 11 Jun 2013 15:23:03 -0400
|
||||||
Subject: [PATCH] Prevent Ghost Players Caused by Plugins
|
Subject: [PATCH] Prevent Ghost Players Caused by Plugins
|
@ -1,4 +1,4 @@
|
|||||||
From 5b3d0a1d348968d282f6bfcc67dac9f47f2d74d6 Mon Sep 17 00:00:00 2001
|
From e162863cd42ceef3bd6333aa4c7c05b632b7536e Mon Sep 17 00:00:00 2001
|
||||||
From: Ammar Askar <ammar@ammaraskar.com>
|
From: Ammar Askar <ammar@ammaraskar.com>
|
||||||
Date: Tue, 16 Jul 2013 03:32:32 +0500
|
Date: Tue, 16 Jul 2013 03:32:32 +0500
|
||||||
Subject: [PATCH] Entity ticking chunk caching
|
Subject: [PATCH] Entity ticking chunk caching
|
@ -1,4 +1,4 @@
|
|||||||
From 86251fc0c7c4f783fdec8c41ebc3c65ee45f3b54 Mon Sep 17 00:00:00 2001
|
From d8b51a63aa3dfb1500f6bf2a24f91529ed46049d Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Sat, 3 Aug 2013 19:02:59 +1000
|
Date: Sat, 3 Aug 2013 19:02:59 +1000
|
||||||
Subject: [PATCH] Plug World Unload Memory Leak
|
Subject: [PATCH] Plug World Unload Memory Leak
|
@ -1,4 +1,4 @@
|
|||||||
From ebf483597d7c2d7071a1fe7c2012fc3f9c946f09 Mon Sep 17 00:00:00 2001
|
From e55b70c20e9ca080945cb3c982f0b31ed20d065a Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Sat, 3 Aug 2013 19:27:07 +1000
|
Date: Sat, 3 Aug 2013 19:27:07 +1000
|
||||||
Subject: [PATCH] Player Collision API
|
Subject: [PATCH] Player Collision API
|
@ -1,4 +1,4 @@
|
|||||||
From 96127508ec8eb9667c597c6f57ddf6654c6b8493 Mon Sep 17 00:00:00 2001
|
From 13a38c0eeaeabf094b4fd33c908a8e1eb393bad6 Mon Sep 17 00:00:00 2001
|
||||||
From: agentk20 <agentkid20@gmail.com>
|
From: agentk20 <agentkid20@gmail.com>
|
||||||
Date: Sat, 3 Aug 2013 19:28:48 +1000
|
Date: Sat, 3 Aug 2013 19:28:48 +1000
|
||||||
Subject: [PATCH] Fully Disable Snooper When Not Required
|
Subject: [PATCH] Fully Disable Snooper When Not Required
|
@ -1,4 +1,4 @@
|
|||||||
From e11e6b35bb919489ebce6f3d47c3b62602f67b79 Mon Sep 17 00:00:00 2001
|
From 212a3fbebba0f4f17606f9ba81da147989e1964d Mon Sep 17 00:00:00 2001
|
||||||
From: DerFlash <bte@freenet.de>
|
From: DerFlash <bte@freenet.de>
|
||||||
Date: Sat, 3 Aug 2013 19:53:48 +1000
|
Date: Sat, 3 Aug 2013 19:53:48 +1000
|
||||||
Subject: [PATCH] Add Getter for Entity Invulnerability
|
Subject: [PATCH] Add Getter for Entity Invulnerability
|
@ -1,4 +1,4 @@
|
|||||||
From 8163e0485f3d3373199dd4eb02376cc1a3ee638d Mon Sep 17 00:00:00 2001
|
From 087cdf3dccb090d91f466081a2834de2854d307c Mon Sep 17 00:00:00 2001
|
||||||
From: Ammar Askar <ammar@ammaraskar.com>
|
From: Ammar Askar <ammar@ammaraskar.com>
|
||||||
Date: Sat, 3 Aug 2013 21:42:00 +0500
|
Date: Sat, 3 Aug 2013 21:42:00 +0500
|
||||||
Subject: [PATCH] Guard entity list
|
Subject: [PATCH] Guard entity list
|
@ -1,11 +1,11 @@
|
|||||||
From 2815b8afc356ab223268c37757c4614ca9de3e0a Mon Sep 17 00:00:00 2001
|
From 60303c53bdcf210bc35f0739d46d5d1055e98c8a Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Mon, 5 Aug 2013 20:17:20 +1000
|
Date: Mon, 5 Aug 2013 20:17:20 +1000
|
||||||
Subject: [PATCH] Cap Minimum Player Speed
|
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
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index fb53781..bcfda5b 100644
|
index 67e7747..07f7c2e 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -1002,7 +1002,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -1002,7 +1002,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@ -1,11 +1,11 @@
|
|||||||
From c30f609a87e5e223b4119072f2f62f2b3d03b060 Mon Sep 17 00:00:00 2001
|
From bb7cb55f22665f91bb53725217a5ffe4662e2b2a Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Sat, 14 Sep 2013 10:16:38 +1000
|
Date: Sat, 14 Sep 2013 10:16:38 +1000
|
||||||
Subject: [PATCH] Update Inventory and Health for PlayerConsumeItemEvent
|
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
|
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||||
index 14f5510..a14e3d9 100644
|
index f034d30..c58b21b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||||
@@ -277,6 +277,10 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
|
@@ -277,6 +277,10 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen
|
@ -1,4 +1,4 @@
|
|||||||
From bd4223f37b76956cc070d5d7183e6ada4c561571 Mon Sep 17 00:00:00 2001
|
From 3ac96519d131fa968de4e5ce057119b1b7b506ce Mon Sep 17 00:00:00 2001
|
||||||
From: BlackHole <black-hole@live.com>
|
From: BlackHole <black-hole@live.com>
|
||||||
Date: Tue, 16 Jul 2013 22:34:50 +0200
|
Date: Tue, 16 Jul 2013 22:34:50 +0200
|
||||||
Subject: [PATCH] Call EntityChangeBlockEvent for Fire Arrows hitting TNT
|
Subject: [PATCH] Call EntityChangeBlockEvent for Fire Arrows hitting TNT
|
@ -1,4 +1,4 @@
|
|||||||
From 44206ecad7d17dab148dd456cbecc4fa8e8ac9e8 Mon Sep 17 00:00:00 2001
|
From 26499a0df37cb661110560600a9c9186e9591cb1 Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Sat, 21 Sep 2013 12:33:09 +1000
|
Date: Sat, 21 Sep 2013 12:33:09 +1000
|
||||||
Subject: [PATCH] Allow Disabling of 1.6.3 Structure Saving
|
Subject: [PATCH] Allow Disabling of 1.6.3 Structure Saving
|
@ -1,4 +1,4 @@
|
|||||||
From 6bb2e93f0496b72218398255140567089146abf2 Mon Sep 17 00:00:00 2001
|
From 00298b5a36ffbe43b5e2fc2b1b1a425a56617de1 Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Sun, 22 Sep 2013 19:10:53 +1000
|
Date: Sun, 22 Sep 2013 19:10:53 +1000
|
||||||
Subject: [PATCH] Item Despawn Rate
|
Subject: [PATCH] Item Despawn Rate
|
@ -1,4 +1,4 @@
|
|||||||
From 4588bde585de197c010bca41d1c2a0e2fa32f07e Mon Sep 17 00:00:00 2001
|
From 0ff1de8b8b24b90e91471202ae5a9e129f672ceb Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Sun, 6 Oct 2013 17:36:28 +1100
|
Date: Sun, 6 Oct 2013 17:36:28 +1100
|
||||||
Subject: [PATCH] Don't Special Case X Move Value
|
Subject: [PATCH] Don't Special Case X Move Value
|
@ -1,4 +1,4 @@
|
|||||||
From 5fc844c7ebaa9fd7debd05f70365c01ba3e8c976 Mon Sep 17 00:00:00 2001
|
From 4738172272a8f5eb86f10b9f5ffef063f0d79a60 Mon Sep 17 00:00:00 2001
|
||||||
From: ninja- <xninja@openmailbox.org>
|
From: ninja- <xninja@openmailbox.org>
|
||||||
Date: Tue, 8 Oct 2013 14:34:49 +0200
|
Date: Tue, 8 Oct 2013 14:34:49 +0200
|
||||||
Subject: [PATCH] Implement respawn API.
|
Subject: [PATCH] Implement respawn API.
|
@ -1,4 +1,4 @@
|
|||||||
From 55c9dabeb041909496b921d693d0feba3bd4f060 Mon Sep 17 00:00:00 2001
|
From b79db97bffb603498a3954b7134bbd328382cc22 Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Wed, 9 Oct 2013 18:20:05 +1100
|
Date: Wed, 9 Oct 2013 18:20:05 +1100
|
||||||
Subject: [PATCH] Fix BrewingStands Removing NBT / Potions
|
Subject: [PATCH] Fix BrewingStands Removing NBT / Potions
|
@ -1,4 +1,4 @@
|
|||||||
From 62038f4721687ef20cce1b52a5ea0eb0cccf7291 Mon Sep 17 00:00:00 2001
|
From 683f6fa005c918a69a114df53c6ee1a9e012a6f9 Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Mon, 14 Oct 2013 19:20:10 +1100
|
Date: Mon, 14 Oct 2013 19:20:10 +1100
|
||||||
Subject: [PATCH] Arrow Despawn Rate
|
Subject: [PATCH] Arrow Despawn Rate
|
@ -1,4 +1,4 @@
|
|||||||
From eadd3fcab95283fb5fbb04d480f89fcdf7517b7d Mon Sep 17 00:00:00 2001
|
From 4b2f953fb85e7a393219a1615b3b9c2bcb6fa870 Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Sat, 23 Feb 2013 12:33:20 +1100
|
Date: Sat, 23 Feb 2013 12:33:20 +1100
|
||||||
Subject: [PATCH] Watchdog Thread.
|
Subject: [PATCH] Watchdog Thread.
|
@ -1,4 +1,4 @@
|
|||||||
From 0f5da2b72da04942f5d6971bdab7b4d41ebfd3f8 Mon Sep 17 00:00:00 2001
|
From 1e8b6aecceebd6d0fb2e9da09df4ce587b63d0c2 Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Sun, 1 Dec 2013 17:28:40 +1100
|
Date: Sun, 1 Dec 2013 17:28:40 +1100
|
||||||
Subject: [PATCH] Fix doors being opened by redstone.
|
Subject: [PATCH] Fix doors being opened by redstone.
|
@ -1,4 +1,4 @@
|
|||||||
From 4c2dc9108ad595a23ec68fe637ff95ab7647a704 Mon Sep 17 00:00:00 2001
|
From 7bcbb026d61d67c62ba9ee454cca3f4c189fa50a Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Sun, 1 Dec 2013 17:52:14 +1100
|
Date: Sun, 1 Dec 2013 17:52:14 +1100
|
||||||
Subject: [PATCH] Fix packed ice generation
|
Subject: [PATCH] Fix packed ice generation
|
@ -1,4 +1,4 @@
|
|||||||
From 387cede90c77456c0dce2acc0e214b05a24759ff Mon Sep 17 00:00:00 2001
|
From 32cc26548db81d35dc38ea50987ac5d76a9a6ef0 Mon Sep 17 00:00:00 2001
|
||||||
From: md_5 <md_5@live.com.au>
|
From: md_5 <md_5@live.com.au>
|
||||||
Date: Sun, 1 Dec 2013 18:18:41 +1100
|
Date: Sun, 1 Dec 2013 18:18:41 +1100
|
||||||
Subject: [PATCH] BungeeCord Support
|
Subject: [PATCH] BungeeCord Support
|
Loading…
Reference in New Issue
Block a user