Update to Minecraft 1.6.1 - Phase 1

This commit is contained in:
md_5 2013-07-02 13:03:56 +10:00
parent 011b0d5923
commit 5d790af909
44 changed files with 547 additions and 469 deletions

View File

@ -1,11 +1,11 @@
From 2dd1e832500d42db77b2e7f905e6d2c7287ed664 Mon Sep 17 00:00:00 2001 From 40b3f27d6135511d5061142bf55a0d9ae3c6722b 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, 23 Apr 2013 11:34:54 +1000 Date: Tue, 23 Apr 2013 11:34:54 +1000
Subject: [PATCH] POM Changes Subject: [PATCH] POM Changes
diff --git a/pom.xml b/pom.xml diff --git a/pom.xml b/pom.xml
index 4ead01e..8c9f66b 100644 index 7257f87..88b41b1 100644
--- a/pom.xml --- a/pom.xml
+++ b/pom.xml +++ b/pom.xml
@@ -1,12 +1,20 @@ @@ -1,12 +1,20 @@
@ -25,7 +25,7 @@ index 4ead01e..8c9f66b 100644
+ <groupId>org.spigotmc</groupId> + <groupId>org.spigotmc</groupId>
+ <artifactId>spigot</artifactId> + <artifactId>spigot</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>1.5.2-R1.1-SNAPSHOT</version> <version>1.6.1-R0.1-SNAPSHOT</version>
- <name>CraftBukkit</name> - <name>CraftBukkit</name>
- <url>http://www.bukkit.org</url> - <url>http://www.bukkit.org</url>
+ <name>Spigot</name> + <name>Spigot</name>
@ -34,7 +34,7 @@ index 4ead01e..8c9f66b 100644
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -16,25 +24,6 @@ @@ -16,25 +24,6 @@
<minecraft_version>1_5_R3</minecraft_version> <minecraft_version>1_6_R1</minecraft_version>
</properties> </properties>
- <scm> - <scm>
@ -86,7 +86,7 @@ index 4ead01e..8c9f66b 100644
+ <dependency> + <dependency>
+ <groupId>net.sf.trove4j</groupId> + <groupId>net.sf.trove4j</groupId>
+ <artifactId>trove4j</artifactId> + <artifactId>trove4j</artifactId>
+ <version>3.0.2</version> + <version>3.0.3</version>
+ </dependency> + </dependency>
</dependencies> </dependencies>

View File

@ -1,11 +1,11 @@
From f32217fa6c8e63549ae37fb3f16ab3b881c4af80 Mon Sep 17 00:00:00 2001 From 8e1fe60b678de75432cbd146c31eaa867ccf99aa 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:10:56 +1000 Date: Sun, 2 Jun 2013 15:10:56 +1000
Subject: [PATCH] Skeleton API Implementations Subject: [PATCH] Skeleton API Implementations
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 6c7f570..c0fb528 100644 index e06e23b..4c16040 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1263,4 +1263,14 @@ public class CraftWorld implements World { @@ -1263,4 +1263,14 @@ public class CraftWorld implements World {
@ -43,10 +43,10 @@ index b46b9c4..c91b12c 100644
+ // Spigot end + // Spigot end
} }
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 8c30bf5..df07a9b 100644 index 583b99c..1d97430 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
@@ -993,4 +993,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -997,4 +997,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.server.getScoreboardManager().setPlayerBoard(this, scoreboard); this.server.getScoreboardManager().setPlayerBoard(this, scoreboard);
} }

View File

@ -1,15 +1,15 @@
From 05523e9ca5b7f91133e2fa0a43f4d00bb73c23f8 Mon Sep 17 00:00:00 2001 From dfa59327db305e9cb30180e752e30d29962f979b 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 14:06:41 +1000 Date: Sat, 22 Jun 2013 14:06:41 +1000
Subject: [PATCH] Spigot Configuration Subject: [PATCH] Spigot Configuration
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index 7261dc9..59444cb 100644 index 0ce6c49..ddb32ac 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java --- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -89,6 +89,11 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -89,6 +89,11 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
if (this.G() < 0) { if (this.I() < 0) {
this.setPort(this.propertyManager.getInt("server-port", 25565)); this.setPort(this.propertyManager.getInt("server-port", 25565));
} }
+ // Spigot start + // Spigot start
@ -30,7 +30,7 @@ index 7261dc9..59444cb 100644
if (!this.getOnlineMode()) { if (!this.getOnlineMode()) {
this.getLogger().warning("**** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!"); this.getLogger().warning("**** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!");
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 3a4ddea..de052bd 100644 index f134856..0dc673d 100644
--- a/src/main/java/net/minecraft/server/World.java --- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java
@@ -99,6 +99,7 @@ public abstract class World implements IBlockAccess { @@ -99,6 +99,7 @@ public abstract class World implements IBlockAccess {

View File

@ -1,11 +1,11 @@
From a4f3a529237119d805302947bd76ddb384bd9379 Mon Sep 17 00:00:00 2001 From 7b266e982dfda605efd4355fd0947d5f1ef34bac 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 12:56:02 +1000 Date: Tue, 11 Jun 2013 12:56:02 +1000
Subject: [PATCH] Better Chunk Tick Selection Subject: [PATCH] Better Chunk Tick Selection
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index de052bd..bc692dd 100644 index 0dc673d..41baf2b 100644
--- a/src/main/java/net/minecraft/server/World.java --- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java
@@ -66,13 +66,35 @@ public abstract class World implements IBlockAccess { @@ -66,13 +66,35 @@ public abstract class World implements IBlockAccess {
@ -57,7 +57,7 @@ index de052bd..bc692dd 100644
this.O = this.random.nextInt(12000); this.O = this.random.nextInt(12000);
this.H = new int['\u8000']; this.H = new int['\u8000'];
@@ -1956,24 +1983,44 @@ public abstract class World implements IBlockAccess { @@ -1955,24 +1982,44 @@ public abstract class World implements IBlockAccess {
int j; int j;
int k; int k;
@ -113,10 +113,10 @@ index de052bd..bc692dd 100644
this.methodProfiler.b(); this.methodProfiler.b();
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 49360c1..6c3fcf1 100644 index e787fb1..09d076e 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -301,9 +301,19 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate @@ -300,9 +300,19 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
// CraftBukkit start // CraftBukkit start
// Iterator iterator = this.chunkTickList.iterator(); // Iterator iterator = this.chunkTickList.iterator();
@ -139,7 +139,7 @@ index 49360c1..6c3fcf1 100644
// ChunkCoordIntPair chunkcoordintpair = (ChunkCoordIntPair) iterator.next(); // ChunkCoordIntPair chunkcoordintpair = (ChunkCoordIntPair) iterator.next();
int k = chunkX * 16; int k = chunkX * 16;
int l = chunkZ * 16; int l = chunkZ * 16;
@@ -401,6 +411,7 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate @@ -400,6 +410,7 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
if (block != null && block.isTicking()) { if (block != null && block.isTicking()) {
++i; ++i;

View File

@ -1,14 +1,14 @@
From abf5bc5b131b439231197b1a3159b0dcdc3c82ec Mon Sep 17 00:00:00 2001 From e57cb696c341a8ec945e3b4cb90613add51ff8e1 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 17:17:20 +1000 Date: Fri, 21 Jun 2013 17:17:20 +1000
Subject: [PATCH] Crop Growth Rates Subject: [PATCH] Crop Growth Rates
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
index 4392cb2..8e041c2 100644 index 2a85c1c..afe8735 100644
--- a/src/main/java/net/minecraft/server/Block.java --- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java
@@ -768,4 +768,16 @@ public class Block { @@ -781,4 +781,16 @@ public class Block {
return 0; return 0;
} }
// CraftBukkit end // CraftBukkit end
@ -26,7 +26,7 @@ index 4392cb2..8e041c2 100644
+ // Spigot end + // Spigot end
} }
diff --git a/src/main/java/net/minecraft/server/BlockCactus.java b/src/main/java/net/minecraft/server/BlockCactus.java diff --git a/src/main/java/net/minecraft/server/BlockCactus.java b/src/main/java/net/minecraft/server/BlockCactus.java
index 83cc09d..4376051 100644 index 03eece7..758ab84 100644
--- a/src/main/java/net/minecraft/server/BlockCactus.java --- a/src/main/java/net/minecraft/server/BlockCactus.java
+++ b/src/main/java/net/minecraft/server/BlockCactus.java +++ b/src/main/java/net/minecraft/server/BlockCactus.java
@@ -23,7 +23,7 @@ public class BlockCactus extends Block { @@ -23,7 +23,7 @@ public class BlockCactus extends Block {
@ -39,7 +39,7 @@ index 83cc09d..4376051 100644
world.setData(i, j, k, 0, 4); world.setData(i, j, k, 0, 4);
this.doPhysics(world, i, j + 1, k, this.id); this.doPhysics(world, i, j + 1, k, this.id);
diff --git a/src/main/java/net/minecraft/server/BlockCrops.java b/src/main/java/net/minecraft/server/BlockCrops.java diff --git a/src/main/java/net/minecraft/server/BlockCrops.java b/src/main/java/net/minecraft/server/BlockCrops.java
index 14a1c3b..d3b6095 100644 index e157fbe..84a809b 100644
--- a/src/main/java/net/minecraft/server/BlockCrops.java --- a/src/main/java/net/minecraft/server/BlockCrops.java
+++ b/src/main/java/net/minecraft/server/BlockCrops.java +++ b/src/main/java/net/minecraft/server/BlockCrops.java
@@ -28,7 +28,7 @@ public class BlockCrops extends BlockFlower { @@ -28,7 +28,7 @@ public class BlockCrops extends BlockFlower {
@ -66,10 +66,10 @@ index 6f9301d..2ccc0b8 100644
int j1 = j + random.nextInt(5) - 3; int j1 = j + random.nextInt(5) - 3;
int k1 = k + random.nextInt(3) - 1; int k1 = k + random.nextInt(3) - 1;
diff --git a/src/main/java/net/minecraft/server/BlockMushroom.java b/src/main/java/net/minecraft/server/BlockMushroom.java diff --git a/src/main/java/net/minecraft/server/BlockMushroom.java b/src/main/java/net/minecraft/server/BlockMushroom.java
index 872ad00..abc31ac 100644 index 796527d..b4a6800 100644
--- a/src/main/java/net/minecraft/server/BlockMushroom.java --- a/src/main/java/net/minecraft/server/BlockMushroom.java
+++ b/src/main/java/net/minecraft/server/BlockMushroom.java +++ b/src/main/java/net/minecraft/server/BlockMushroom.java
@@ -27,7 +27,7 @@ public class BlockMushroom extends BlockFlower { @@ -24,7 +24,7 @@ public class BlockMushroom extends BlockFlower {
public void a(World world, int i, int j, int k, Random random) { public void a(World world, int i, int j, int k, Random random) {
final int sourceX = i, sourceY = j, sourceZ = k; // CraftBukkit final int sourceX = i, sourceY = j, sourceZ = k; // CraftBukkit
@ -106,10 +106,10 @@ index 8657860..cf52501 100644
world.setData(i, j, k, 0, 4); world.setData(i, j, k, 0, 4);
} else { } else {
diff --git a/src/main/java/net/minecraft/server/BlockSapling.java b/src/main/java/net/minecraft/server/BlockSapling.java diff --git a/src/main/java/net/minecraft/server/BlockSapling.java b/src/main/java/net/minecraft/server/BlockSapling.java
index 3b00939..ea34899 100644 index 706d6c9..fe675b3 100644
--- a/src/main/java/net/minecraft/server/BlockSapling.java --- a/src/main/java/net/minecraft/server/BlockSapling.java
+++ b/src/main/java/net/minecraft/server/BlockSapling.java +++ b/src/main/java/net/minecraft/server/BlockSapling.java
@@ -26,7 +26,7 @@ public class BlockSapling extends BlockFlower { @@ -25,7 +25,7 @@ public class BlockSapling extends BlockFlower {
public void a(World world, int i, int j, int k, Random random) { public void a(World world, int i, int j, int k, Random random) {
if (!world.isStatic) { if (!world.isStatic) {
super.a(world, i, j, k, random); super.a(world, i, j, k, random);
@ -119,7 +119,7 @@ index 3b00939..ea34899 100644
} }
} }
diff --git a/src/main/java/net/minecraft/server/BlockStem.java b/src/main/java/net/minecraft/server/BlockStem.java diff --git a/src/main/java/net/minecraft/server/BlockStem.java b/src/main/java/net/minecraft/server/BlockStem.java
index 8339a35..c7e2344 100644 index f2d4e57..5fe0a81 100644
--- a/src/main/java/net/minecraft/server/BlockStem.java --- a/src/main/java/net/minecraft/server/BlockStem.java
+++ b/src/main/java/net/minecraft/server/BlockStem.java +++ b/src/main/java/net/minecraft/server/BlockStem.java
@@ -27,7 +27,7 @@ public class BlockStem extends BlockFlower { @@ -27,7 +27,7 @@ public class BlockStem extends BlockFlower {

View File

@ -1,14 +1,14 @@
From fbb1eeb9f5d6d721eed18bbe1ffae9cc31dd8ae5 Mon Sep 17 00:00:00 2001 From d7b9305d672eb1fdb2e248e4f0f2c274e5021d70 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 12:17:37 +1000 Date: Tue, 11 Jun 2013 12:17:37 +1000
Subject: [PATCH] More Efficient GetCubes Subject: [PATCH] More Efficient GetCubes
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index bc692dd..afe3e4d 100644 index 41baf2b..18994b6 100644
--- a/src/main/java/net/minecraft/server/World.java --- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java
@@ -1045,19 +1045,47 @@ public abstract class World implements IBlockAccess { @@ -1044,19 +1044,47 @@ public abstract class World implements IBlockAccess {
int i1 = MathHelper.floor(axisalignedbb.c); int i1 = MathHelper.floor(axisalignedbb.c);
int j1 = MathHelper.floor(axisalignedbb.f + 1.0D); int j1 = MathHelper.floor(axisalignedbb.f + 1.0D);

View File

@ -1,11 +1,11 @@
From 6c8715e0ffd4ce12e51b1505bab0af4908744c2e Mon Sep 17 00:00:00 2001 From af630d59b1f8a97ccf6d73b1d183a73d03c6f845 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, 23 Apr 2013 11:22:07 +1000 Date: Tue, 23 Apr 2013 11:22:07 +1000
Subject: [PATCH] Proxy IP Filter Subject: [PATCH] Proxy IP Filter
diff --git a/src/main/java/net/minecraft/server/ThreadLoginVerifier.java b/src/main/java/net/minecraft/server/ThreadLoginVerifier.java diff --git a/src/main/java/net/minecraft/server/ThreadLoginVerifier.java b/src/main/java/net/minecraft/server/ThreadLoginVerifier.java
index 0686ba0..1254e63 100644 index 2ce2e3a..f87ebf9 100644
--- a/src/main/java/net/minecraft/server/ThreadLoginVerifier.java --- a/src/main/java/net/minecraft/server/ThreadLoginVerifier.java
+++ b/src/main/java/net/minecraft/server/ThreadLoginVerifier.java +++ b/src/main/java/net/minecraft/server/ThreadLoginVerifier.java
@@ -28,6 +28,7 @@ class ThreadLoginVerifier extends Thread { @@ -28,6 +28,7 @@ class ThreadLoginVerifier extends Thread {
@ -13,9 +13,9 @@ index 0686ba0..1254e63 100644
public void run() { public void run() {
try { try {
+ if (org.spigotmc.SpamHaus.filterIp(pendingConnection)) return; // Spigot + if (org.spigotmc.SpamHaus.filterIp(pendingConnection)) return; // Spigot
String s = (new BigInteger(MinecraftEncryption.a(PendingConnection.a(this.pendingConnection), PendingConnection.b(this.pendingConnection).F().getPublic(), PendingConnection.c(this.pendingConnection)))).toString(16); String s = (new BigInteger(MinecraftEncryption.a(PendingConnection.a(this.pendingConnection), PendingConnection.b(this.pendingConnection).H().getPublic(), PendingConnection.c(this.pendingConnection)))).toString(16);
URL url = new URL("http://session.minecraft.net/game/checkserver.jsp?user=" + URLEncoder.encode(PendingConnection.d(this.pendingConnection), "UTF-8") + "&serverId=" + URLEncoder.encode(s, "UTF-8")); URL url = new URL("http://session.minecraft.net/game/checkserver.jsp?user=" + URLEncoder.encode(PendingConnection.d(this.pendingConnection), "UTF-8") + "&serverId=" + URLEncoder.encode(s, "UTF-8"));
BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(url.openStream())); BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(url.openConnection(PendingConnection.b(this.pendingConnection).ap()).getInputStream()));
diff --git a/src/main/java/org/spigotmc/SpamHaus.java b/src/main/java/org/spigotmc/SpamHaus.java diff --git a/src/main/java/org/spigotmc/SpamHaus.java b/src/main/java/org/spigotmc/SpamHaus.java
new file mode 100644 new file mode 100644
index 0000000..55d8d12 index 0000000..55d8d12
@ -67,7 +67,7 @@ index 0000000..55d8d12
+ } + }
+} +}
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index 1d915fb..56ac067 100644 index b7dbda4..e4eaecd 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java --- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -111,4 +111,10 @@ public class SpigotConfig @@ -111,4 +111,10 @@ public class SpigotConfig

View File

@ -1,4 +1,4 @@
From 7ec8ae26036858173a7c318944efa17ad2100cea Mon Sep 17 00:00:00 2001 From dcf697293680dd7593a8e1f92ac65b36c7be48db 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 Mar 2013 09:46:33 +1100 Date: Sat, 23 Mar 2013 09:46:33 +1100
Subject: [PATCH] Merge tweaks and configuration Subject: [PATCH] Merge tweaks and configuration
@ -6,13 +6,13 @@ Subject: [PATCH] Merge tweaks and configuration
This allows the merging of Experience orbs, as well as the configuration of the merge radius of items. Additionally it refactors the merge algorithm to be a better experience for players. This allows the merging of Experience orbs, as well as the configuration of the merge radius of items. Additionally it refactors the merge algorithm to be a better experience for players.
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
index 0225f53..048e8fa 100644 index cb2b114..6895b53 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java --- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -114,7 +114,10 @@ public class EntityItem extends Entity { @@ -112,7 +112,10 @@ public class EntityItem extends Entity {
} }
private void g() { private void e() {
- Iterator iterator = this.world.a(EntityItem.class, this.boundingBox.grow(0.5D, 0.0D, 0.5D)).iterator(); - Iterator iterator = this.world.a(EntityItem.class, this.boundingBox.grow(0.5D, 0.0D, 0.5D)).iterator();
+ // Spigot start + // Spigot start
+ double radius = world.spigotConfig.itemMerge; + double radius = world.spigotConfig.itemMerge;
@ -21,7 +21,7 @@ index 0225f53..048e8fa 100644
while (iterator.hasNext()) { while (iterator.hasNext()) {
EntityItem entityitem = (EntityItem) iterator.next(); EntityItem entityitem = (EntityItem) iterator.next();
@@ -143,11 +146,13 @@ public class EntityItem extends Entity { @@ -141,11 +144,13 @@ public class EntityItem extends Entity {
} else if (itemstack1.count + itemstack.count > itemstack1.getMaxStackSize()) { } else if (itemstack1.count + itemstack.count > itemstack1.getMaxStackSize()) {
return false; return false;
} else { } else {
@ -41,10 +41,10 @@ index 0225f53..048e8fa 100644
} }
} else { } else {
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index afe3e4d..97da2cd 100644 index 18994b6..3e7c493 100644
--- a/src/main/java/net/minecraft/server/World.java --- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java
@@ -957,6 +957,23 @@ public abstract class World implements IBlockAccess { @@ -956,6 +956,23 @@ public abstract class World implements IBlockAccess {
// Not all projectiles extend EntityProjectile, so check for Bukkit interface instead // Not all projectiles extend EntityProjectile, so check for Bukkit interface instead
event = CraftEventFactory.callProjectileLaunchEvent(entity); event = CraftEventFactory.callProjectileLaunchEvent(entity);
} }

View File

@ -1,4 +1,4 @@
From a8c529d46c95e00dc30e16fec26a5af608e2db78 Mon Sep 17 00:00:00 2001 From 20ac68be1e39187e6c5f68d20619c86bacd05cb9 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, 7 Mar 2013 20:12:46 +1100 Date: Thu, 7 Mar 2013 20:12:46 +1100
Subject: [PATCH] Async Operation Catching Subject: [PATCH] Async Operation Catching
@ -6,10 +6,10 @@ Subject: [PATCH] Async Operation Catching
Catch and throw an exception when a potentially unsafe operation occurs on a thread other than the main server thread. Catch and throw an exception when a potentially unsafe operation occurs on a thread other than the main server thread.
diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java
index 9e2b76f..d7efe3e 100644 index a8e45dd..7f23f71 100644
--- a/src/main/java/net/minecraft/server/EntityTracker.java --- a/src/main/java/net/minecraft/server/EntityTracker.java
+++ b/src/main/java/net/minecraft/server/EntityTracker.java +++ b/src/main/java/net/minecraft/server/EntityTracker.java
@@ -89,6 +89,7 @@ public class EntityTracker { @@ -87,6 +87,7 @@ public class EntityTracker {
} }
public void addEntity(Entity entity, int i, int j, boolean flag) { public void addEntity(Entity entity, int i, int j, boolean flag) {
@ -17,7 +17,7 @@ index 9e2b76f..d7efe3e 100644
if (i > this.d) { if (i > this.d) {
i = this.d; i = this.d;
} }
@@ -124,6 +125,7 @@ public class EntityTracker { @@ -122,6 +123,7 @@ public class EntityTracker {
} }
public void untrackEntity(Entity entity) { public void untrackEntity(Entity entity) {
@ -26,10 +26,10 @@ index 9e2b76f..d7efe3e 100644
EntityPlayer entityplayer = (EntityPlayer) entity; EntityPlayer entityplayer = (EntityPlayer) entity;
Iterator iterator = this.b.iterator(); Iterator iterator = this.b.iterator();
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
index 5c03732..5f3c780 100644 index e58af63..edd2460 100644
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
@@ -286,6 +286,7 @@ public class EntityTrackerEntry { @@ -292,6 +292,7 @@ public class EntityTrackerEntry {
} }
public void updatePlayer(EntityPlayer entityplayer) { public void updatePlayer(EntityPlayer entityplayer) {
@ -37,7 +37,7 @@ index 5c03732..5f3c780 100644
if (entityplayer != this.tracker) { if (entityplayer != this.tracker) {
double d0 = entityplayer.locX - (double) (this.xLoc / 32); double d0 = entityplayer.locX - (double) (this.xLoc / 32);
double d1 = entityplayer.locZ - (double) (this.zLoc / 32); double d1 = entityplayer.locZ - (double) (this.zLoc / 32);
@@ -474,6 +475,7 @@ public class EntityTrackerEntry { @@ -501,6 +502,7 @@ public class EntityTrackerEntry {
} }
public void clear(EntityPlayer entityplayer) { public void clear(EntityPlayer entityplayer) {
@ -46,10 +46,10 @@ index 5c03732..5f3c780 100644
this.trackedPlayers.remove(entityplayer); this.trackedPlayers.remove(entityplayer);
entityplayer.removeQueue.add(Integer.valueOf(this.tracker.id)); entityplayer.removeQueue.add(Integer.valueOf(this.tracker.id));
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index d7e5301..e353caa 100644 index 3e7c493..04fa7d6 100644
--- a/src/main/java/net/minecraft/server/World.java --- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java
@@ -926,6 +926,7 @@ public abstract class World implements IBlockAccess { @@ -925,6 +925,7 @@ public abstract class World implements IBlockAccess {
} }
public boolean addEntity(Entity entity, SpawnReason spawnReason) { // Changed signature, added SpawnReason public boolean addEntity(Entity entity, SpawnReason spawnReason) { // Changed signature, added SpawnReason
@ -57,7 +57,7 @@ index d7e5301..e353caa 100644
if (entity == null) return false; if (entity == null) return false;
// CraftBukkit end // CraftBukkit end
@@ -1032,6 +1033,7 @@ public abstract class World implements IBlockAccess { @@ -1031,6 +1032,7 @@ public abstract class World implements IBlockAccess {
} }
public void removeEntity(Entity entity) { public void removeEntity(Entity entity) {
@ -65,7 +65,7 @@ index d7e5301..e353caa 100644
entity.die(); entity.die();
if (entity instanceof EntityHuman) { if (entity instanceof EntityHuman) {
this.players.remove(entity); this.players.remove(entity);
@@ -2449,6 +2451,7 @@ public abstract class World implements IBlockAccess { @@ -2448,6 +2450,7 @@ public abstract class World implements IBlockAccess {
} }
public void a(List list) { public void a(List list) {
@ -74,7 +74,7 @@ index d7e5301..e353caa 100644
Entity entity = null; Entity entity = null;
for (int i = 0; i < list.size(); ++i) { for (int i = 0; i < list.size(); ++i) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index c0fb528..edc59b1 100644 index 4c16040..8508d22 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -160,6 +160,7 @@ public class CraftWorld implements World { @@ -160,6 +160,7 @@ public class CraftWorld implements World {
@ -102,7 +102,7 @@ index c0fb528..edc59b1 100644
if (generate) { if (generate) {
// Use the default variant of loadChunk when generate == true. // Use the default variant of loadChunk when generate == true.
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 df07a9b..7cae665 100644 index 1d97430..b3bb702 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
@@ -214,6 +214,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -214,6 +214,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View File

@ -1,4 +1,4 @@
From 25fa2cfa4437bbbe2eb832d7ec12070d8842a087 Mon Sep 17 00:00:00 2001 From 70bf4a9446eddbe4a3dad0be25ecfdefe1f0af39 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 Mar 2013 09:52:41 +1100 Date: Sat, 23 Mar 2013 09:52:41 +1100
Subject: [PATCH] View Distance Subject: [PATCH] View Distance
@ -6,10 +6,10 @@ Subject: [PATCH] View Distance
This commit allows the user to select per world view distances, and view distances below 3. Be wary of the issues selecting a view distance of 1 or 2 may cause! This commit allows the user to select per world view distances, and view distances below 3. Be wary of the issues selecting a view distance of 1 or 2 may cause!
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index 0dfd190..c543bed 100644 index 4e0398c..ae4ca63 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -22,7 +22,7 @@ public class PlayerChunkMap { @@ -24,7 +24,7 @@ public class PlayerChunkMap {
public PlayerChunkMap(WorldServer worldserver, int i) { public PlayerChunkMap(WorldServer worldserver, int i) {
if (i > 15) { if (i > 15) {
throw new IllegalArgumentException("Too big view radius!"); throw new IllegalArgumentException("Too big view radius!");
@ -17,12 +17,12 @@ index 0dfd190..c543bed 100644
+ } else if (i < 1) { + } else if (i < 1) {
throw new IllegalArgumentException("Too small view radius!"); throw new IllegalArgumentException("Too small view radius!");
} else { } else {
this.e = i; this.f = i;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 6c3fcf1..614a17f 100644 index 09d076e..c4248d0 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -48,7 +48,7 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate @@ -49,7 +49,7 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
// CraftBukkit end // CraftBukkit end
this.server = minecraftserver; this.server = minecraftserver;
this.tracker = new EntityTracker(this); this.tracker = new EntityTracker(this);
@ -32,7 +32,7 @@ index 6c3fcf1..614a17f 100644
this.entitiesById = new IntHashMap(); this.entitiesById = new IntHashMap();
} }
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index ea7c211..81879e6 100644 index 8a6d656..c2da03b 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -116,4 +116,11 @@ public class SpigotWorldConfig @@ -116,4 +116,11 @@ public class SpigotWorldConfig

View File

@ -1,4 +1,4 @@
From c34bbcf522c081442110baf7b9499eff7939b4a1 Mon Sep 17 00:00:00 2001 From 92a6ffad3c78692c77614e848c7b42c76b273889 Mon Sep 17 00:00:00 2001
From: Mike Primm <mike@primmhome.com> From: Mike Primm <mike@primmhome.com>
Date: Sun, 13 Jan 2013 03:49:07 -0800 Date: Sun, 13 Jan 2013 03:49:07 -0800
Subject: [PATCH] Compressed Nibble Arrays Subject: [PATCH] Compressed Nibble Arrays
@ -12,10 +12,10 @@ Finish up NibbleArray lightening work - use for Snapshots, reduce copies
Fix nibble handling with NBT - arrays aren't copied by NBTByteArray Fix nibble handling with NBT - arrays aren't copied by NBTByteArray
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
index 5c67fe4..3f3c07e 100644 index ba6d32f..0b086a2 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -217,15 +217,15 @@ public class ChunkRegionLoader implements IAsyncChunkSaver, IChunkLoader { @@ -218,15 +218,15 @@ public class ChunkRegionLoader implements IAsyncChunkSaver, IChunkLoader {
nbttagcompound1.setByte("Y", (byte) (chunksection.getYPosition() >> 4 & 255)); nbttagcompound1.setByte("Y", (byte) (chunksection.getYPosition() >> 4 & 255));
nbttagcompound1.setByteArray("Blocks", chunksection.getIdArray()); nbttagcompound1.setByteArray("Blocks", chunksection.getIdArray());
if (chunksection.getExtendedIdArray() != null) { if (chunksection.getExtendedIdArray() != null) {
@ -271,64 +271,209 @@ index 53c1cb5..9a9e20f 100644
} }
} }
diff --git a/src/main/java/net/minecraft/server/Packet51MapChunk.java b/src/main/java/net/minecraft/server/Packet51MapChunk.java diff --git a/src/main/java/net/minecraft/server/Packet51MapChunk.java b/src/main/java/net/minecraft/server/Packet51MapChunk.java
index 97c953b..3c3bdbf 100644 new file mode 100644
--- a/src/main/java/net/minecraft/server/Packet51MapChunk.java index 0000000..3c3bdbf
--- /dev/null
+++ b/src/main/java/net/minecraft/server/Packet51MapChunk.java +++ b/src/main/java/net/minecraft/server/Packet51MapChunk.java
@@ -139,16 +139,22 @@ public class Packet51MapChunk extends Packet { @@ -0,0 +1,198 @@
for (l = 0; l < achunksection.length; ++l) { +package net.minecraft.server;
if (achunksection[l] != null && (!flag || !achunksection[l].isEmpty()) && (i & 1 << l) != 0) { +
nibblearray = achunksection[l].getDataArray(); +import java.io.DataInputStream;
- System.arraycopy(nibblearray.a, 0, abyte, j, nibblearray.a.length); +import java.io.DataOutputStream;
- j += nibblearray.a.length; +import java.io.IOException;
+import java.util.zip.DataFormatException;
+import java.util.zip.Deflater;
+import java.util.zip.Inflater;
+
+public class Packet51MapChunk extends Packet {
+
+ public int a;
+ public int b;
+ public int c;
+ public int d;
+ private byte[] buffer;
+ private byte[] inflatedBuffer;
+ public boolean e;
+ private int size;
+ private static byte[] buildBuffer = new byte[196864];
+
+ public Packet51MapChunk() {
+ this.lowPriority = true;
+ }
+
+ public Packet51MapChunk(Chunk chunk, boolean flag, int i) {
+ this.lowPriority = true;
+ this.a = chunk.x;
+ this.b = chunk.z;
+ this.e = flag;
+ ChunkMap chunkmap = a(chunk, flag, i);
+ Deflater deflater = new Deflater(-1);
+
+ this.d = chunkmap.c;
+ this.c = chunkmap.b;
+
+ try {
+ this.inflatedBuffer = chunkmap.a;
+ deflater.setInput(chunkmap.a, 0, chunkmap.a.length);
+ deflater.finish();
+ this.buffer = new byte[chunkmap.a.length];
+ this.size = deflater.deflate(this.buffer);
+ } finally {
+ deflater.end();
+ }
+ }
+
+ public void a(DataInputStream datainputstream) throws IOException { // CraftBukkit - throws IOException
+ this.a = datainputstream.readInt();
+ this.b = datainputstream.readInt();
+ this.e = datainputstream.readBoolean();
+ this.c = datainputstream.readShort();
+ this.d = datainputstream.readShort();
+ this.size = datainputstream.readInt();
+ if (buildBuffer.length < this.size) {
+ buildBuffer = new byte[this.size];
+ }
+
+ datainputstream.readFully(buildBuffer, 0, this.size);
+ int i = 0;
+
+ int j;
+
+ for (j = 0; j < 16; ++j) {
+ i += this.c >> j & 1;
+ }
+
+ j = 12288 * i;
+ if (this.e) {
+ j += 256;
+ }
+
+ this.inflatedBuffer = new byte[j];
+ Inflater inflater = new Inflater();
+
+ inflater.setInput(buildBuffer, 0, this.size);
+
+ try {
+ inflater.inflate(this.inflatedBuffer);
+ } catch (DataFormatException dataformatexception) {
+ throw new IOException("Bad compressed data format");
+ } finally {
+ inflater.end();
+ }
+ }
+
+ public void a(DataOutputStream dataoutputstream) throws IOException { // CraftBukkit - throws IOException
+ dataoutputstream.writeInt(this.a);
+ dataoutputstream.writeInt(this.b);
+ dataoutputstream.writeBoolean(this.e);
+ dataoutputstream.writeShort((short) (this.c & '\uffff'));
+ dataoutputstream.writeShort((short) (this.d & '\uffff'));
+ dataoutputstream.writeInt(this.size);
+ dataoutputstream.write(this.buffer, 0, this.size);
+ }
+
+ public void handle(Connection connection) {
+ connection.a(this);
+ }
+
+ public int a() {
+ return 17 + this.size;
+ }
+
+ public static ChunkMap a(Chunk chunk, boolean flag, int i) {
+ int j = 0;
+ ChunkSection[] achunksection = chunk.i();
+ int k = 0;
+ ChunkMap chunkmap = new ChunkMap();
+ byte[] abyte = buildBuffer;
+
+ if (flag) {
+ chunk.seenByPlayer = true;
+ }
+
+ int l;
+
+ for (l = 0; l < achunksection.length; ++l) {
+ if (achunksection[l] != null && (!flag || !achunksection[l].isEmpty()) && (i & 1 << l) != 0) {
+ chunkmap.b |= 1 << l;
+ if (achunksection[l].getExtendedIdArray() != null) {
+ chunkmap.c |= 1 << l;
+ ++k;
+ }
+ }
+ }
+
+ for (l = 0; l < achunksection.length; ++l) {
+ if (achunksection[l] != null && (!flag || !achunksection[l].isEmpty()) && (i & 1 << l) != 0) {
+ byte[] abyte1 = achunksection[l].getIdArray();
+
+ System.arraycopy(abyte1, 0, abyte, j, abyte1.length);
+ j += abyte1.length;
+ }
+ }
+
+ NibbleArray nibblearray;
+
+ for (l = 0; l < achunksection.length; ++l) {
+ if (achunksection[l] != null && (!flag || !achunksection[l].isEmpty()) && (i & 1 << l) != 0) {
+ nibblearray = achunksection[l].getDataArray();
+ // Spigot start + // Spigot start
+ // System.arraycopy(nibblearray.a, 0, abyte, j, nibblearray.a.length); + // System.arraycopy(nibblearray.a, 0, abyte, j, nibblearray.a.length);
+ // j += nibblearray.a.length; + // j += nibblearray.a.length;
+ j = nibblearray.copyToByteArray(abyte, j); + j = nibblearray.copyToByteArray(abyte, j);
+ // Spigot end + // Spigot end
} + }
} + }
+
for (l = 0; l < achunksection.length; ++l) { + for (l = 0; l < achunksection.length; ++l) {
if (achunksection[l] != null && (!flag || !achunksection[l].isEmpty()) && (i & 1 << l) != 0) { + if (achunksection[l] != null && (!flag || !achunksection[l].isEmpty()) && (i & 1 << l) != 0) {
nibblearray = achunksection[l].getEmittedLightArray(); + nibblearray = achunksection[l].getEmittedLightArray();
- System.arraycopy(nibblearray.a, 0, abyte, j, nibblearray.a.length);
- j += nibblearray.a.length;
+ // Spigot start + // Spigot start
+ // System.arraycopy(nibblearray.a, 0, abyte, j, nibblearray.a.length); + // System.arraycopy(nibblearray.a, 0, abyte, j, nibblearray.a.length);
+ // j += nibblearray.a.length; + // j += nibblearray.a.length;
+ j = nibblearray.copyToByteArray(abyte, j); + j = nibblearray.copyToByteArray(abyte, j);
+ // Spigot end + // Spigot end
} + }
} + }
+
@@ -156,8 +162,11 @@ public class Packet51MapChunk extends Packet { + if (!chunk.world.worldProvider.f) {
for (l = 0; l < achunksection.length; ++l) { + for (l = 0; l < achunksection.length; ++l) {
if (achunksection[l] != null && (!flag || !achunksection[l].isEmpty()) && (i & 1 << l) != 0) { + if (achunksection[l] != null && (!flag || !achunksection[l].isEmpty()) && (i & 1 << l) != 0) {
nibblearray = achunksection[l].getSkyLightArray(); + nibblearray = achunksection[l].getSkyLightArray();
- System.arraycopy(nibblearray.a, 0, abyte, j, nibblearray.a.length);
- j += nibblearray.a.length;
+ // Spigot start + // Spigot start
+ // System.arraycopy(nibblearray.a, 0, abyte, j, nibblearray.a.length); + // System.arraycopy(nibblearray.a, 0, abyte, j, nibblearray.a.length);
+ // j += nibblearray.a.length; + // j += nibblearray.a.length;
+ j = nibblearray.copyToByteArray(abyte, j); + j = nibblearray.copyToByteArray(abyte, j);
+ // Spigot end + // Spigot end
} + }
} + }
} + }
@@ -166,8 +175,11 @@ public class Packet51MapChunk extends Packet { +
for (l = 0; l < achunksection.length; ++l) { + if (k > 0) {
if (achunksection[l] != null && (!flag || !achunksection[l].isEmpty()) && achunksection[l].getExtendedIdArray() != null && (i & 1 << l) != 0) { + for (l = 0; l < achunksection.length; ++l) {
nibblearray = achunksection[l].getExtendedIdArray(); + if (achunksection[l] != null && (!flag || !achunksection[l].isEmpty()) && achunksection[l].getExtendedIdArray() != null && (i & 1 << l) != 0) {
- System.arraycopy(nibblearray.a, 0, abyte, j, nibblearray.a.length); + nibblearray = achunksection[l].getExtendedIdArray();
- j += nibblearray.a.length;
+ // Spigot start + // Spigot start
+ //System.arraycopy(nibblearray.a, 0, abyte, j, nibblearray.a.length); + //System.arraycopy(nibblearray.a, 0, abyte, j, nibblearray.a.length);
+ //j += nibblearray.a.length; + //j += nibblearray.a.length;
+ j = nibblearray.copyToByteArray(abyte, j); + j = nibblearray.copyToByteArray(abyte, j);
+ // Spigot end + // Spigot end
} + }
} + }
} + }
+
+ if (flag) {
+ byte[] abyte2 = chunk.m();
+
+ System.arraycopy(abyte2, 0, abyte, j, abyte2.length);
+ j += abyte2.length;
+ }
+
+ chunkmap.a = new byte[j];
+ System.arraycopy(abyte, 0, chunkmap.a, 0, j);
+ return chunkmap;
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
index 1a21516..6921206 100644 index 1a21516..6921206 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java --- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java

View File

@ -1,4 +1,4 @@
From 93bb757069c358d8f45c8e92d005a45c83de9286 Mon Sep 17 00:00:00 2001 From 9007f313ede8a4a7711890086191f20e8c6b14f8 Mon Sep 17 00:00:00 2001
From: Ammar Askar <ammar@ammaraskar.com> From: Ammar Askar <ammar@ammaraskar.com>
Date: Fri, 18 Jan 2013 16:20:01 +0500 Date: Fri, 18 Jan 2013 16:20:01 +0500
Subject: [PATCH] Optimize Chunk Unload Packet Subject: [PATCH] Optimize Chunk Unload Packet
@ -35,14 +35,17 @@ index 3c3bdbf..d11c0ea 100644
this.lowPriority = true; this.lowPriority = true;
this.a = chunk.x; this.a = chunk.x;
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
index 10a43b6..20f8e8a 100644 index 81d66e4..c4a6724 100644
--- a/src/main/java/net/minecraft/server/PlayerChunk.java --- a/src/main/java/net/minecraft/server/PlayerChunk.java
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java
@@ -52,7 +52,7 @@ class PlayerChunk { @@ -56,9 +56,9 @@ class PlayerChunk {
public void b(EntityPlayer entityplayer) { public void b(EntityPlayer entityplayer) {
if (this.b.contains(entityplayer)) { if (this.b.contains(entityplayer)) {
- entityplayer.playerConnection.sendPacket(new Packet51MapChunk(PlayerChunkMap.a(this.playerChunkMap).getChunkAt(this.location.x, this.location.z), true, 0)); - Chunk chunk = PlayerChunkMap.a(this.playerChunkMap).getChunkAt(this.location.x, this.location.z);
+ // Chunk chunk = PlayerChunkMap.a(this.playerChunkMap).getChunkAt(this.location.x, this.location.z);
- entityplayer.playerConnection.sendPacket(new Packet51MapChunk(chunk, true, 0));
+ entityplayer.playerConnection.sendPacket(new Packet51MapChunk(this.location.x, this.location.z)); // Spigot - remove chunk load call just to unload in favour of specialized constructor + entityplayer.playerConnection.sendPacket(new Packet51MapChunk(this.location.x, this.location.z)); // Spigot - remove chunk load call just to unload in favour of specialized constructor
this.b.remove(entityplayer); this.b.remove(entityplayer);
entityplayer.chunkCoordIntPairQueue.remove(this.location); entityplayer.chunkCoordIntPairQueue.remove(this.location);

View File

@ -1,14 +1,14 @@
From 27aa389075a5b22ffad6e7c8d4d42b9315aa1bc0 Mon Sep 17 00:00:00 2001 From a1a850630d7e5f670fded63744285f7160e47257 Mon Sep 17 00:00:00 2001
From: Mike Primm <mike@primmhome.com> From: Mike Primm <mike@primmhome.com>
Date: Wed, 16 Jan 2013 15:27:22 -0600 Date: Wed, 16 Jan 2013 15:27:22 -0600
Subject: [PATCH] Sync Free Chunk Reference Cache Subject: [PATCH] Sync Free Chunk Reference Cache
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index e353caa..a81e06d 100644 index 04fa7d6..8c4bbf9 100644
--- a/src/main/java/net/minecraft/server/World.java --- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java
@@ -301,15 +301,13 @@ public abstract class World implements IBlockAccess { @@ -300,15 +300,13 @@ public abstract class World implements IBlockAccess {
// CraftBukkit start // CraftBukkit start
public Chunk getChunkAt(int i, int j) { public Chunk getChunkAt(int i, int j) {

View File

@ -1,14 +1,14 @@
From ac8a1f6656ae9cd13e08c9e25b379769c9a6c7ae Mon Sep 17 00:00:00 2001 From 9eb7c67eb82703dcffc537f751b364062345f23d 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, 3 Feb 2013 12:28:17 +1100 Date: Sun, 3 Feb 2013 12:28:17 +1100
Subject: [PATCH] Highly Optimized Tick Loop Subject: [PATCH] Highly Optimized Tick Loop
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 3e134fb..3c80340 100644 index 96d291d..4c845ca 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -84,6 +84,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo @@ -86,6 +86,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>(); public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
public int autosavePeriod; public int autosavePeriod;
// CraftBukkit end // CraftBukkit end
@ -20,22 +20,22 @@ index 3e134fb..3c80340 100644
+ // Spigot end + // Spigot end
public MinecraftServer(OptionSet options) { // CraftBukkit - signature file -> OptionSet public MinecraftServer(OptionSet options) { // CraftBukkit - signature file -> OptionSet
k = this; this.c = Proxy.NO_PROXY;
@@ -380,39 +386,23 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo @@ -390,39 +396,23 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo
public void run() { public void run() {
try { try {
if (this.init()) { if (this.init()) {
- long i = System.currentTimeMillis(); - long i = aq();
- -
- for (long j = 0L; this.isRunning; this.P = true) { - for (long j = 0L; this.isRunning; this.Q = true) {
- long k = System.currentTimeMillis(); - long k = aq();
- long l = k - i; - long l = k - i;
- -
- if (l > 2000L && i - this.Q >= 15000L) { - if (l > 2000L && i - this.R >= 15000L) {
- if (this.server.getWarnOnOverload()) // CraftBukkit - Added option to suppress warning messages - if (this.server.getWarnOnOverload()) // CraftBukkit - Added option to suppress warning messages
- this.getLogger().warning("Can\'t keep up! Did the system time change, or is the server overloaded?"); - this.getLogger().warning("Can\'t keep up! Did the system time change, or is the server overloaded?");
- l = 2000L; - l = 2000L;
- this.Q = i; - this.R = i;
- } - }
- -
- if (l < 0L) { - if (l < 0L) {
@ -46,10 +46,10 @@ index 3e134fb..3c80340 100644
- j += l; - j += l;
- i = k; - i = k;
- if (this.worlds.get(0).everyoneDeeplySleeping()) { // CraftBukkit - if (this.worlds.get(0).everyoneDeeplySleeping()) { // CraftBukkit
- this.q(); - this.s();
- j = 0L; - j = 0L;
+ // Spigot start + // Spigot start
+ for (long lastTick = 0L; this.isRunning; this.P = true) { + for (long lastTick = 0L; this.isRunning; this.Q = true) {
+ long curTime = System.nanoTime(); + long curTime = System.nanoTime();
+ long wait = TICK_TIME - (curTime - lastTick) - catchupTime; + long wait = TICK_TIME - (curTime - lastTick) - catchupTime;
+ if (wait > 0) { + if (wait > 0) {
@ -60,7 +60,7 @@ index 3e134fb..3c80340 100644
- while (j > 50L) { - while (j > 50L) {
- MinecraftServer.currentTick = (int) (System.currentTimeMillis() / 50); // CraftBukkit - MinecraftServer.currentTick = (int) (System.currentTimeMillis() / 50); // CraftBukkit
- j -= 50L; - j -= 50L;
- this.q(); - this.s();
- } - }
+ catchupTime = Math.min(TICK_TIME * TPS, Math.abs(wait)); + catchupTime = Math.min(TICK_TIME * TPS, Math.abs(wait));
} }
@ -69,7 +69,7 @@ index 3e134fb..3c80340 100644
+ currentTPS = (currentTPS * 0.95) + (1E9 / (curTime - lastTick) * 0.05); + currentTPS = (currentTPS * 0.95) + (1E9 / (curTime - lastTick) * 0.05);
+ lastTick = curTime; + lastTick = curTime;
+ MinecraftServer.currentTick++; + MinecraftServer.currentTick++;
+ this.q(); + this.s();
} }
+ // Spigot end + // Spigot end
} else { } else {
@ -117,7 +117,7 @@ index 0000000..f114a31
+ } + }
+} +}
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index 56ac067..d22e8e5 100644 index e4eaecd..7880a31 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java --- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -14,6 +14,7 @@ import net.minecraft.server.MinecraftServer; @@ -14,6 +14,7 @@ import net.minecraft.server.MinecraftServer;

View File

@ -1,4 +1,4 @@
From 6a85506600fad57b57f604edc72a6ef581d12845 Mon Sep 17 00:00:00 2001 From 3f038fef4412774a096de4906029304cd000af27 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Thu, 10 Jan 2013 00:18:11 -0500 Date: Thu, 10 Jan 2013 00:18:11 -0500
Subject: [PATCH] Improved Timings System Subject: [PATCH] Improved Timings System
@ -26,7 +26,7 @@ index b73f69c..17934c0 100644
// CraftBukkit start - If we didn't need to load the chunk run the callback now // CraftBukkit start - If we didn't need to load the chunk run the callback now
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 0f7be97..978b6ef 100644 index 3953bc4..72c6e66 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -14,6 +14,7 @@ import org.bukkit.block.BlockFace; @@ -14,6 +14,7 @@ import org.bukkit.block.BlockFace;
@ -39,14 +39,14 @@ index 0f7be97..978b6ef 100644
import org.bukkit.event.vehicle.VehicleBlockCollisionEvent; import org.bukkit.event.vehicle.VehicleBlockCollisionEvent;
@@ -110,6 +111,8 @@ public abstract class Entity { @@ -110,6 +111,8 @@ public abstract class Entity {
public EnumEntitySize at; public EnumEntitySize at;
public boolean valid = false; // CraftBukkit public boolean valid; // CraftBukkit
+ public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getEntityTimings(this); // Spigot + public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getEntityTimings(this); // Spigot
+ +
public Entity(World world) { public Entity(World world) {
this.id = entityCount++; this.id = entityCount++;
this.l = 1.0D; this.l = 1.0D;
@@ -423,6 +426,7 @@ public abstract class Entity { @@ -400,6 +403,7 @@ public abstract class Entity {
} }
// CraftBukkit end // CraftBukkit end
@ -54,7 +54,7 @@ index 0f7be97..978b6ef 100644
if (this.Z) { if (this.Z) {
this.boundingBox.d(d0, d1, d2); this.boundingBox.d(d0, d1, d2);
this.locX = (this.boundingBox.a + this.boundingBox.d) / 2.0D; this.locX = (this.boundingBox.a + this.boundingBox.d) / 2.0D;
@@ -722,6 +726,7 @@ public abstract class Entity { @@ -708,6 +712,7 @@ public abstract class Entity {
this.world.methodProfiler.b(); this.world.methodProfiler.b();
} }
@ -62,80 +62,11 @@ index 0f7be97..978b6ef 100644
} }
protected void C() { protected void C() {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 965e6ce..58a4acb 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -497,6 +497,7 @@ public abstract class EntityLiving extends Entity {
}
public void l_() {
+ org.bukkit.craftbukkit.SpigotTimings.timerEntityBaseTick.startTiming(); // Spigot
super.l_();
if (!this.world.isStatic) {
int i;
@@ -523,7 +524,9 @@ public abstract class EntityLiving extends Entity {
}
}
+ org.bukkit.craftbukkit.SpigotTimings.timerEntityBaseTick.stopTiming(); // Spigot
this.c();
+ org.bukkit.craftbukkit.SpigotTimings.timerEntityTickRest.startTiming(); // Spigot
double d0 = this.locX - this.lastX;
double d1 = this.locZ - this.lastZ;
float f = (float) (d0 * d0 + d1 * d1);
@@ -614,6 +617,7 @@ public abstract class EntityLiving extends Entity {
this.world.methodProfiler.b();
this.aE += f2;
+ org.bukkit.craftbukkit.SpigotTimings.timerEntityTickRest.stopTiming(); // Spigot
}
// CraftBukkit start - Delegate so we can handle providing a reason for health being regained
@@ -1254,6 +1258,7 @@ public abstract class EntityLiving extends Entity {
}
public void c() {
+ org.bukkit.craftbukkit.SpigotTimings.timerEntityAI.startTiming(); // Spigot
if (this.bX > 0) {
--this.bX;
}
@@ -1305,6 +1310,7 @@ public abstract class EntityLiving extends Entity {
this.aA = this.yaw;
}
}
+ org.bukkit.craftbukkit.SpigotTimings.timerEntityAI.stopTiming(); // Spigot
this.world.methodProfiler.b();
this.world.methodProfiler.a("jump");
@@ -1323,6 +1329,7 @@ public abstract class EntityLiving extends Entity {
this.world.methodProfiler.b();
this.world.methodProfiler.a("travel");
+ org.bukkit.craftbukkit.SpigotTimings.timerEntityAIMove.startTiming(); // Spigot
this.bD *= 0.98F;
this.bE *= 0.98F;
this.bF *= 0.9F;
@@ -1331,11 +1338,14 @@ public abstract class EntityLiving extends Entity {
this.aO *= this.bE();
this.e(this.bD, this.bE);
this.aO = f;
+ org.bukkit.craftbukkit.SpigotTimings.timerEntityAIMove.stopTiming(); // Spigot
this.world.methodProfiler.b();
this.world.methodProfiler.a("push");
+ org.bukkit.craftbukkit.SpigotTimings.timerEntityAICollision.startTiming(); // Spigot
if (!this.world.isStatic) {
this.bg();
}
+ org.bukkit.craftbukkit.SpigotTimings.timerEntityAICollision.stopTiming(); // Spigot
this.world.methodProfiler.b();
this.world.methodProfiler.a("looting");
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 3c80340..db396b3 100644 index 4c845ca..f114444 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -6,7 +6,6 @@ import java.security.KeyPair; @@ -7,7 +7,6 @@ import java.security.KeyPair;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
@ -143,7 +74,7 @@ index 3c80340..db396b3 100644
import java.util.List; import java.util.List;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import java.util.logging.Level; import java.util.logging.Level;
@@ -19,6 +18,7 @@ import jline.console.ConsoleReader; @@ -20,6 +19,7 @@ import jline.console.ConsoleReader;
import joptsimple.OptionSet; import joptsimple.OptionSet;
import org.bukkit.World.Environment; import org.bukkit.World.Environment;
@ -151,26 +82,26 @@ index 3c80340..db396b3 100644
import org.bukkit.craftbukkit.util.Waitable; import org.bukkit.craftbukkit.util.Waitable;
import org.bukkit.event.server.RemoteServerCommandEvent; import org.bukkit.event.server.RemoteServerCommandEvent;
import org.bukkit.event.world.WorldSaveEvent; import org.bukkit.event.world.WorldSaveEvent;
@@ -400,7 +400,10 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo @@ -410,7 +410,10 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo
currentTPS = (currentTPS * 0.95) + (1E9 / (curTime - lastTick) * 0.05); currentTPS = (currentTPS * 0.95) + (1E9 / (curTime - lastTick) * 0.05);
lastTick = curTime; lastTick = curTime;
MinecraftServer.currentTick++; MinecraftServer.currentTick++;
+ SpigotTimings.serverTickTimer.startTiming(); + SpigotTimings.serverTickTimer.startTiming();
this.q(); this.s();
+ SpigotTimings.serverTickTimer.stopTiming(); + SpigotTimings.serverTickTimer.stopTiming();
+ org.spigotmc.CustomTimingsHandler.tick(); + org.spigotmc.CustomTimingsHandler.tick();
} }
// Spigot end // Spigot end
} else { } else {
@@ -499,6 +502,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo @@ -509,6 +512,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo
public void r() { public void t() {
this.methodProfiler.a("levels"); this.methodProfiler.a("levels");
+ SpigotTimings.schedulerTimer.startTiming(); // Spigot + SpigotTimings.schedulerTimer.startTiming(); // Spigot
// CraftBukkit start // CraftBukkit start
this.server.getScheduler().mainThreadHeartbeat(this.ticks); this.server.getScheduler().mainThreadHeartbeat(this.ticks);
@@ -507,7 +511,10 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo @@ -517,7 +521,10 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo
processQueue.remove().run(); processQueue.remove().run();
} }
@ -181,7 +112,7 @@ index 3c80340..db396b3 100644
// Send time updates to everyone, it will get the right time from the world the player is in. // Send time updates to everyone, it will get the right time from the world the player is in.
if (this.ticks % 20 == 0) { if (this.ticks % 20 == 0) {
@@ -559,7 +566,9 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo @@ -569,7 +576,9 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo
this.methodProfiler.b(); this.methodProfiler.b();
this.methodProfiler.a("tracker"); this.methodProfiler.a("tracker");
@ -191,32 +122,32 @@ index 3c80340..db396b3 100644
this.methodProfiler.b(); this.methodProfiler.b();
this.methodProfiler.b(); this.methodProfiler.b();
// } // CraftBukkit // } // CraftBukkit
@@ -568,14 +577,20 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo @@ -578,14 +587,20 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo
} }
this.methodProfiler.c("connection"); this.methodProfiler.c("connection");
+ SpigotTimings.connectionTimer.startTiming(); // Spigot + SpigotTimings.connectionTimer.startTiming(); // Spigot
this.ae().b(); this.ag().b();
+ SpigotTimings.connectionTimer.stopTiming(); // Spigot + SpigotTimings.connectionTimer.stopTiming(); // Spigot
this.methodProfiler.c("players"); this.methodProfiler.c("players");
+ SpigotTimings.playerListTimer.startTiming(); // Spigot + SpigotTimings.playerListTimer.startTiming(); // Spigot
this.s.tick(); this.t.tick();
+ SpigotTimings.playerListTimer.stopTiming(); // Spigot + SpigotTimings.playerListTimer.stopTiming(); // Spigot
this.methodProfiler.c("tickables"); this.methodProfiler.c("tickables");
+ SpigotTimings.tickablesTimer.startTiming(); // Spigot + SpigotTimings.tickablesTimer.startTiming(); // Spigot
for (i = 0; i < this.o.size(); ++i) { for (i = 0; i < this.p.size(); ++i) {
((IUpdatePlayerListBox) this.o.get(i)).a(); ((IUpdatePlayerListBox) this.p.get(i)).a();
} }
+ SpigotTimings.tickablesTimer.stopTiming(); // Spigot + SpigotTimings.tickablesTimer.stopTiming(); // Spigot
this.methodProfiler.b(); this.methodProfiler.b();
} }
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 018c314..8deba1b 100644 index f82d932..e5937fc 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java --- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -956,6 +956,7 @@ public class PlayerConnection extends Connection { @@ -968,6 +968,7 @@ public class PlayerConnection extends Connection {
// CraftBukkit end // CraftBukkit end
private void handleCommand(String s) { private void handleCommand(String s) {
@ -224,7 +155,7 @@ index 018c314..8deba1b 100644
// CraftBukkit start // CraftBukkit start
CraftPlayer player = this.getPlayer(); CraftPlayer player = this.getPlayer();
@@ -963,19 +964,23 @@ public class PlayerConnection extends Connection { @@ -975,19 +976,23 @@ public class PlayerConnection extends Connection {
this.server.getPluginManager().callEvent(event); this.server.getPluginManager().callEvent(event);
if (event.isCancelled()) { if (event.isCancelled()) {
@ -249,7 +180,7 @@ index 018c314..8deba1b 100644
/* CraftBukkit start - No longer needed as we have already handled it in server.dispatchServerCommand above. /* CraftBukkit start - No longer needed as we have already handled it in server.dispatchServerCommand above.
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
index db3fc42..ffa9bb6 100644 index f4be980..6ae7cb3 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java --- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java
@@ -4,10 +4,12 @@ import java.util.HashMap; @@ -4,10 +4,12 @@ import java.util.HashMap;
@ -266,7 +197,7 @@ index db3fc42..ffa9bb6 100644
private static Map b = new HashMap(); private static Map b = new HashMap();
protected World world; protected World world;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index a81e06d..da069f7 100644 index 8c4bbf9..75402e7 100644
--- a/src/main/java/net/minecraft/server/World.java --- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java
@@ -13,6 +13,7 @@ import java.util.concurrent.Callable; @@ -13,6 +13,7 @@ import java.util.concurrent.Callable;
@ -286,7 +217,7 @@ index a81e06d..da069f7 100644
public CraftWorld getWorld() { public CraftWorld getWorld() {
return this.world; return this.world;
} }
@@ -201,6 +204,7 @@ public abstract class World implements IBlockAccess { @@ -200,6 +203,7 @@ public abstract class World implements IBlockAccess {
this.a(); this.a();
this.getServer().addWorld(this.world); // CraftBukkit this.getServer().addWorld(this.world); // CraftBukkit
@ -294,7 +225,7 @@ index a81e06d..da069f7 100644
} }
protected abstract IChunkProvider j(); protected abstract IChunkProvider j();
@@ -1273,6 +1277,7 @@ public abstract class World implements IBlockAccess { @@ -1272,6 +1276,7 @@ public abstract class World implements IBlockAccess {
this.f.clear(); this.f.clear();
this.methodProfiler.c("regular"); this.methodProfiler.c("regular");
@ -302,7 +233,7 @@ index a81e06d..da069f7 100644
for (i = 0; i < this.entityList.size(); ++i) { for (i = 0; i < this.entityList.size(); ++i) {
entity = (Entity) this.entityList.get(i); entity = (Entity) this.entityList.get(i);
@@ -1295,7 +1300,9 @@ public abstract class World implements IBlockAccess { @@ -1294,7 +1299,9 @@ public abstract class World implements IBlockAccess {
this.methodProfiler.a("tick"); this.methodProfiler.a("tick");
if (!entity.dead) { if (!entity.dead) {
try { try {
@ -312,7 +243,7 @@ index a81e06d..da069f7 100644
} catch (Throwable throwable1) { } catch (Throwable throwable1) {
crashreport = CrashReport.a(throwable1, "Ticking entity"); crashreport = CrashReport.a(throwable1, "Ticking entity");
crashreportsystemdetails = crashreport.a("Entity being ticked"); crashreportsystemdetails = crashreport.a("Entity being ticked");
@@ -1320,7 +1327,9 @@ public abstract class World implements IBlockAccess { @@ -1319,7 +1326,9 @@ public abstract class World implements IBlockAccess {
this.methodProfiler.b(); this.methodProfiler.b();
} }
@ -322,7 +253,7 @@ index a81e06d..da069f7 100644
this.N = true; this.N = true;
Iterator iterator = this.tileEntityList.iterator(); Iterator iterator = this.tileEntityList.iterator();
@@ -1335,8 +1344,11 @@ public abstract class World implements IBlockAccess { @@ -1334,8 +1343,11 @@ public abstract class World implements IBlockAccess {
if (!tileentity.r() && tileentity.o() && this.isLoaded(tileentity.x, tileentity.y, tileentity.z)) { if (!tileentity.r() && tileentity.o() && this.isLoaded(tileentity.x, tileentity.y, tileentity.z)) {
try { try {
@ -334,7 +265,7 @@ index a81e06d..da069f7 100644
crashreport = CrashReport.a(throwable2, "Ticking tile entity"); crashreport = CrashReport.a(throwable2, "Ticking tile entity");
crashreportsystemdetails = crashreport.a("Tile entity being ticked"); crashreportsystemdetails = crashreport.a("Tile entity being ticked");
tileentity.a(crashreportsystemdetails); tileentity.a(crashreportsystemdetails);
@@ -1356,6 +1368,8 @@ public abstract class World implements IBlockAccess { @@ -1355,6 +1367,8 @@ public abstract class World implements IBlockAccess {
} }
} }
@ -343,7 +274,7 @@ index a81e06d..da069f7 100644
this.N = false; this.N = false;
if (!this.b.isEmpty()) { if (!this.b.isEmpty()) {
this.tileEntityList.removeAll(this.b); this.tileEntityList.removeAll(this.b);
@@ -1394,6 +1408,7 @@ public abstract class World implements IBlockAccess { @@ -1393,6 +1407,7 @@ public abstract class World implements IBlockAccess {
this.a.clear(); this.a.clear();
} }
@ -351,7 +282,7 @@ index a81e06d..da069f7 100644
this.methodProfiler.b(); this.methodProfiler.b();
this.methodProfiler.b(); this.methodProfiler.b();
} }
@@ -1416,6 +1431,7 @@ public abstract class World implements IBlockAccess { @@ -1415,6 +1430,7 @@ public abstract class World implements IBlockAccess {
byte b0 = 32; byte b0 = 32;
if (!flag || this.e(i - b0, 0, j - b0, i + b0, 0, j + b0)) { if (!flag || this.e(i - b0, 0, j - b0, i + b0, 0, j + b0)) {
@ -359,7 +290,7 @@ index a81e06d..da069f7 100644
entity.U = entity.locX; entity.U = entity.locX;
entity.V = entity.locY; entity.V = entity.locY;
entity.W = entity.locZ; entity.W = entity.locZ;
@@ -1477,6 +1493,7 @@ public abstract class World implements IBlockAccess { @@ -1476,6 +1492,7 @@ public abstract class World implements IBlockAccess {
entity.passenger = null; entity.passenger = null;
} }
} }
@ -368,15 +299,15 @@ index a81e06d..da069f7 100644
} }
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 614a17f..69d955f 100644 index c4248d0..b7e0551 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -183,9 +183,12 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate @@ -179,9 +179,12 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
// CraftBukkit start - Only call spawner if we have players online and the world allows for mobs or animals // CraftBukkit start - Only call spawner if we have players online and the world allows for mobs or animals
long time = this.worldData.getTime(); long time = this.worldData.getTime();
if (this.getGameRules().getBoolean("doMobSpawning") && (this.allowMonsters || this.allowAnimals) && (this instanceof WorldServer && this.players.size() > 0)) { if (this.getGameRules().getBoolean("doMobSpawning") && (this.allowMonsters || this.allowAnimals) && (this instanceof WorldServer && this.players.size() > 0)) {
+ timings.mobSpawn.startTiming(); // Spigot + timings.mobSpawn.startTiming(); // Spigot
SpawnerCreature.spawnEntities(this, this.allowMonsters && (this.ticksPerMonsterSpawns != 0 && time % this.ticksPerMonsterSpawns == 0L), this.allowAnimals && (this.ticksPerAnimalSpawns != 0 && time % this.ticksPerAnimalSpawns == 0L), this.worldData.getTime() % 400L == 0L); this.Q.spawnEntities(this, this.allowMonsters && (this.ticksPerMonsterSpawns != 0 && time % this.ticksPerMonsterSpawns == 0L), this.allowAnimals && (this.ticksPerAnimalSpawns != 0 && time % this.ticksPerAnimalSpawns == 0L), this.worldData.getTime() % 400L == 0L);
+ timings.mobSpawn.stopTiming(); // Spigot + timings.mobSpawn.stopTiming(); // Spigot
} }
// CraftBukkit end // CraftBukkit end
@ -384,10 +315,10 @@ index 614a17f..69d955f 100644
this.methodProfiler.c("chunkSource"); this.methodProfiler.c("chunkSource");
this.chunkProvider.unloadChunks(); this.chunkProvider.unloadChunks();
int j = this.a(1.0F); int j = this.a(1.0F);
@@ -196,21 +199,36 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate @@ -195,21 +198,36 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
this.worldData.setDayTime(this.worldData.getDayTime() + 1L);
}
this.worldData.setTime(this.worldData.getTime() + 1L);
this.worldData.setDayTime(this.worldData.getDayTime() + 1L);
+ timings.doChunkUnload.stopTiming(); // Spigot + timings.doChunkUnload.stopTiming(); // Spigot
this.methodProfiler.c("tickPending"); this.methodProfiler.c("tickPending");
+ timings.doTickPending.startTiming(); // Spigot + timings.doTickPending.startTiming(); // Spigot
@ -412,13 +343,12 @@ index 614a17f..69d955f 100644
+ timings.doPortalForcer.stopTiming(); // Spigot + timings.doPortalForcer.stopTiming(); // Spigot
this.methodProfiler.b(); this.methodProfiler.b();
+ timings.doSounds.startTiming(); // Spigot + timings.doSounds.startTiming(); // Spigot
this.Z(); this.aa();
-
+ timings.doSounds.stopTiming(); // Spigot + timings.doSounds.stopTiming(); // Spigot
+ timings.doChunkGC.startTiming(); // Spigot + timings.doChunkGC.startTiming(); // Spigot
this.getWorld().processChunkGC(); // CraftBukkit this.getWorld().processChunkGC(); // CraftBukkit
+ timings.doChunkGC.stopTiming(); // Spigot + timings.doChunkGC.stopTiming(); // Spigot
+
} }
public BiomeMeta a(EnumCreatureType enumcreaturetype, int i, int j, int k) { public BiomeMeta a(EnumCreatureType enumcreaturetype, int i, int j, int k) {

View File

@ -1,14 +1,14 @@
From 90de56da643bde4b842cc958a4b449634bb9ba8c Mon Sep 17 00:00:00 2001 From 701fc14fd49aa989ecfdfb3986155036d594844b 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, 16 May 2013 18:51:05 +1000 Date: Thu, 16 May 2013 18:51:05 +1000
Subject: [PATCH] Orebfuscator Subject: [PATCH] Orebfuscator
diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
index 17d837d..c7cd0ca 100644 index daa376c..79c94dc 100644
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
@@ -94,6 +94,7 @@ public class EntityFallingBlock extends Entity { @@ -86,6 +86,7 @@ public class EntityFallingBlock extends Entity {
} }
this.world.setAir(i, j, k); this.world.setAir(i, j, k);
@ -17,7 +17,7 @@ index 17d837d..c7cd0ca 100644
if (this.onGround) { if (this.onGround) {
diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java
index ef220c1..2063769 100644 index 758d447..1d1c88c 100644
--- a/src/main/java/net/minecraft/server/Explosion.java --- a/src/main/java/net/minecraft/server/Explosion.java
+++ b/src/main/java/net/minecraft/server/Explosion.java +++ b/src/main/java/net/minecraft/server/Explosion.java
@@ -240,6 +240,7 @@ public class Explosion { @@ -240,6 +240,7 @@ public class Explosion {
@ -41,7 +41,7 @@ index d11c0ea..efe102e 100644
try { try {
this.inflatedBuffer = chunkmap.a; this.inflatedBuffer = chunkmap.a;
diff --git a/src/main/java/net/minecraft/server/Packet56MapChunkBulk.java b/src/main/java/net/minecraft/server/Packet56MapChunkBulk.java diff --git a/src/main/java/net/minecraft/server/Packet56MapChunkBulk.java b/src/main/java/net/minecraft/server/Packet56MapChunkBulk.java
index 129dc4f..a2cd9b0 100644 index 04c44fc..a6e3be2 100644
--- a/src/main/java/net/minecraft/server/Packet56MapChunkBulk.java --- a/src/main/java/net/minecraft/server/Packet56MapChunkBulk.java
+++ b/src/main/java/net/minecraft/server/Packet56MapChunkBulk.java +++ b/src/main/java/net/minecraft/server/Packet56MapChunkBulk.java
@@ -28,6 +28,7 @@ public class Packet56MapChunkBulk extends Packet { @@ -28,6 +28,7 @@ public class Packet56MapChunkBulk extends Packet {
@ -95,7 +95,7 @@ index 129dc4f..a2cd9b0 100644
Deflater deflater = localDeflater.get(); Deflater deflater = localDeflater.get();
deflater.reset(); deflater.reset();
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
index 1243d1d..9ec8997 100644 index d77a4cc..4aa9ab7 100644
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
@@ -184,6 +184,7 @@ public class PlayerInteractManager { @@ -184,6 +184,7 @@ public class PlayerInteractManager {
@ -316,7 +316,7 @@ index 0000000..c29b789
+ } + }
+} +}
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 81879e6..0a304e8 100644 index c2da03b..a788d8d 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@

View File

@ -1,22 +1,22 @@
From d1a43b7d46685cdaa095ef806f9300db709c5d84 Mon Sep 17 00:00:00 2001 From 33a9339848ae800087b9b00f0d3bd09eae007ff2 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 17:29:54 +1000 Date: Fri, 21 Jun 2013 17:29:54 +1000
Subject: [PATCH] Fix Mob Spawning Relative to View Distance Subject: [PATCH] Fix Mob Spawning Relative to View Distance
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index 7416edc..e8d30c5 100644 index 61e56ab..04cb6fb 100644
--- a/src/main/java/net/minecraft/server/Chunk.java --- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -33,6 +33,7 @@ public class Chunk { @@ -33,6 +33,7 @@ public class Chunk {
public int p; public int p;
public long q;
private int u; private int u;
boolean q;
+ protected gnu.trove.map.hash.TObjectIntHashMap<Class> entityCount = new gnu.trove.map.hash.TObjectIntHashMap<Class>(); // Spigot + protected gnu.trove.map.hash.TObjectIntHashMap<Class> entityCount = new gnu.trove.map.hash.TObjectIntHashMap<Class>(); // Spigot
public Chunk(World world, int i, int j) { public Chunk(World world, int i, int j) {
this.sections = new ChunkSection[16]; this.sections = new ChunkSection[16];
@@ -560,6 +561,15 @@ public class Chunk { @@ -552,6 +553,15 @@ public class Chunk {
entity.ak = k; entity.ak = k;
entity.al = this.z; entity.al = this.z;
this.entitySlices[k].add(entity); this.entitySlices[k].add(entity);
@ -32,7 +32,7 @@ index 7416edc..e8d30c5 100644
} }
public void b(Entity entity) { public void b(Entity entity) {
@@ -576,6 +586,15 @@ public class Chunk { @@ -568,6 +578,15 @@ public class Chunk {
} }
this.entitySlices[i].remove(entity); this.entitySlices[i].remove(entity);
@ -49,10 +49,10 @@ index 7416edc..e8d30c5 100644
public boolean d(int i, int j, int k) { public boolean d(int i, int j, int k) {
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index 056100f..bec0d91 100644 index aa7698b..3a0d2ef 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java --- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -26,6 +26,23 @@ public final class SpawnerCreature { @@ -27,6 +27,23 @@ public final class SpawnerCreature {
return new ChunkPosition(k, i1, l); return new ChunkPosition(k, i1, l);
} }
@ -73,10 +73,10 @@ index 056100f..bec0d91 100644
+ } + }
+ // Spigot end + // Spigot end
+ +
public static final int spawnEntities(WorldServer worldserver, boolean flag, boolean flag1, boolean flag2) { public int spawnEntities(WorldServer worldserver, boolean flag, boolean flag1, boolean flag2) {
if (!flag && !flag1) { if (!flag && !flag1) {
return 0; return 0;
@@ -41,6 +58,11 @@ public final class SpawnerCreature { @@ -42,6 +59,11 @@ public final class SpawnerCreature {
j = MathHelper.floor(entityhuman.locZ / 16.0D); j = MathHelper.floor(entityhuman.locZ / 16.0D);
byte b0 = 8; byte b0 = 8;
@ -88,16 +88,16 @@ index 056100f..bec0d91 100644
for (int l = -b0; l <= b0; ++l) { for (int l = -b0; l <= b0; ++l) {
for (int i1 = -b0; i1 <= b0; ++i1) { for (int i1 = -b0; i1 <= b0; ++i1) {
@@ -88,13 +110,15 @@ public final class SpawnerCreature { @@ -89,13 +111,15 @@ public final class SpawnerCreature {
if (limit == 0) { if (limit == 0) {
continue; continue;
} }
+ int mobcnt = 0; + int mobcnt = 0;
// CraftBukkit end // CraftBukkit end
- if ((!enumcreaturetype.d() || flag1) && (enumcreaturetype.d() || flag) && (!enumcreaturetype.e() || flag2) && worldserver.a(enumcreaturetype.a()) <= limit * b.size() / 256) { // CraftBukkit - use per-world limits - if ((!enumcreaturetype.d() || flag1) && (enumcreaturetype.d() || flag) && (!enumcreaturetype.e() || flag2) && worldserver.a(enumcreaturetype.a()) <= limit * this.a.size() / 256) { // CraftBukkit - use per-world limits
+ if ((!enumcreaturetype.d() || flag1) && (enumcreaturetype.d() || flag) && (!enumcreaturetype.e() || flag2) && (mobcnt = getEntityCount(worldserver, enumcreaturetype.a())) <= limit * b.size() / 256) { // Spigot - use per-world limits and use all loaded chunks + if ((!enumcreaturetype.d() || flag1) && (enumcreaturetype.d() || flag) && (!enumcreaturetype.e() || flag2) && (mobcnt = getEntityCount(worldserver, enumcreaturetype.a())) <= limit * this.a.size() / 256) { // Spigot - use per-world limits and use all loaded chunks
Iterator iterator = b.keySet().iterator(); Iterator iterator = this.a.keySet().iterator();
+ int moblimit = (limit * b.size() / 256) - mobcnt + 1; // Spigot - up to 1 more than limit + int moblimit = (limit * b.size() / 256) - mobcnt + 1; // Spigot - up to 1 more than limit
label110: label110:
@ -106,9 +106,9 @@ index 056100f..bec0d91 100644
// CraftBukkit start // CraftBukkit start
long key = ((Long) iterator.next()).longValue(); long key = ((Long) iterator.next()).longValue();
@@ -158,6 +182,13 @@ public final class SpawnerCreature { @@ -160,6 +184,13 @@ public final class SpawnerCreature {
a(entityliving, worldserver, f, f1, f2); groupdataentity = entityinsentient.a(groupdataentity);
worldserver.addEntity(entityliving, SpawnReason.NATURAL); worldserver.addEntity(entityinsentient, SpawnReason.NATURAL);
// CraftBukkit end // CraftBukkit end
+ // Spigot start + // Spigot start
+ if ( --moblimit <= 0 ) + if ( --moblimit <= 0 )
@ -117,11 +117,11 @@ index 056100f..bec0d91 100644
+ continue label110; + continue label110;
+ } + }
+ // Spigot end + // Spigot end
if (j2 >= entityliving.by()) { if (j2 >= entityinsentient.br()) {
continue label110; continue label110;
} }
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 0a304e8..6c2a430 100644 index a788d8d..8bb0483 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -145,4 +145,11 @@ public class SpigotWorldConfig @@ -145,4 +145,11 @@ public class SpigotWorldConfig

View File

@ -1,14 +1,14 @@
From 6231d399bc448b884b4b85b68f3ef632605b1ebd Mon Sep 17 00:00:00 2001 From 98cd9362bbfa70e5639c086cca3887341b81a7a4 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, 3 Feb 2013 09:20:19 +1100 Date: Sun, 3 Feb 2013 09:20:19 +1100
Subject: [PATCH] Handle Null Tile Entities Subject: [PATCH] Handle Null Tile Entities
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index da069f7..d4d8f04 100644 index 75402e7..fd76af0 100644
--- a/src/main/java/net/minecraft/server/World.java --- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java
@@ -1335,6 +1335,13 @@ public abstract class World implements IBlockAccess { @@ -1334,6 +1334,13 @@ public abstract class World implements IBlockAccess {
while (iterator.hasNext()) { while (iterator.hasNext()) {
TileEntity tileentity = (TileEntity) iterator.next(); TileEntity tileentity = (TileEntity) iterator.next();

View File

@ -1,4 +1,4 @@
From df64c572448edbe8dcefa1eeaaccc7a389f626f7 Mon Sep 17 00:00:00 2001 From c7558b9d826023a2080737a9231026645a9f6e6a Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sun, 3 Feb 2013 05:10:21 -0500 Date: Sun, 3 Feb 2013 05:10:21 -0500
Subject: [PATCH] Entity Activation Range Subject: [PATCH] Entity Activation Range
@ -9,7 +9,7 @@ This will drastically cut down on tick timings for entities that are not in rang
This change can have dramatic impact on gameplay if configured too low. Balance according to your servers desired gameplay. This change can have dramatic impact on gameplay if configured too low. Balance according to your servers desired gameplay.
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 978b6ef..438a26a 100644 index 72c6e66..e438df5 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -88,7 +88,7 @@ public abstract class Entity { @@ -88,7 +88,7 @@ public abstract class Entity {
@ -23,7 +23,7 @@ index 978b6ef..438a26a 100644
protected boolean fireProof; protected boolean fireProof;
@@ -111,8 +111,15 @@ public abstract class Entity { @@ -111,8 +111,15 @@ public abstract class Entity {
public EnumEntitySize at; public EnumEntitySize at;
public boolean valid = false; // CraftBukkit public boolean valid; // CraftBukkit
+ // Spigot start + // Spigot start
public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getEntityTimings(this); // Spigot public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getEntityTimings(this); // Spigot
@ -37,7 +37,7 @@ index 978b6ef..438a26a 100644
public Entity(World world) { public Entity(World world) {
this.id = entityCount++; this.id = entityCount++;
this.l = 1.0D; this.l = 1.0D;
@@ -153,7 +160,12 @@ public abstract class Entity { @@ -131,7 +138,12 @@ public abstract class Entity {
this.setPosition(0.0D, 0.0D, 0.0D); this.setPosition(0.0D, 0.0D, 0.0D);
if (world != null) { if (world != null) {
this.dimension = world.worldProvider.dimension; this.dimension = world.worldProvider.dimension;
@ -51,11 +51,11 @@ index 978b6ef..438a26a 100644
this.datawatcher.a(0, Byte.valueOf((byte) 0)); this.datawatcher.a(0, Byte.valueOf((byte) 0));
this.datawatcher.a(1, Short.valueOf((short) 300)); this.datawatcher.a(1, Short.valueOf((short) 300));
diff --git a/src/main/java/net/minecraft/server/EntityAgeable.java b/src/main/java/net/minecraft/server/EntityAgeable.java diff --git a/src/main/java/net/minecraft/server/EntityAgeable.java b/src/main/java/net/minecraft/server/EntityAgeable.java
index fdc9167..16b7261 100644 index 5ba19f3..4c73a5f 100644
--- a/src/main/java/net/minecraft/server/EntityAgeable.java --- a/src/main/java/net/minecraft/server/EntityAgeable.java
+++ b/src/main/java/net/minecraft/server/EntityAgeable.java +++ b/src/main/java/net/minecraft/server/EntityAgeable.java
@@ -6,6 +6,31 @@ public abstract class EntityAgeable extends EntityCreature { @@ -6,6 +6,31 @@ public abstract class EntityAgeable extends EntityCreature {
private float e; private float bq;
public boolean ageLocked = false; // CraftBukkit public boolean ageLocked = false; // CraftBukkit
+ // Spigot start + // Spigot start
@ -87,25 +87,25 @@ index fdc9167..16b7261 100644
super(world); super(world);
} }
diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java
index f46c920..1699059 100644 index affeca6..f44f5e2 100644
--- a/src/main/java/net/minecraft/server/EntityArrow.java --- a/src/main/java/net/minecraft/server/EntityArrow.java
+++ b/src/main/java/net/minecraft/server/EntityArrow.java +++ b/src/main/java/net/minecraft/server/EntityArrow.java
@@ -14,7 +14,7 @@ public class EntityArrow extends Entity implements IProjectile { @@ -14,7 +14,7 @@ public class EntityArrow extends Entity implements IProjectile {
private int f = -1; private int f = -1;
private int g = 0; private int g;
private int h = 0; private int h;
- private boolean inGround = false; - private boolean inGround;
+ public boolean inGround = false; // Spigot - private -> public + public boolean inGround = false; // Spigot - private -> public
public int fromPlayer = 0; public int fromPlayer;
public int shake = 0; public int shake;
public Entity shooter; public Entity shooter;
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 58a4acb..35f3fea 100644 index 0d9ba82..f043040 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java --- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -113,6 +113,13 @@ public abstract class EntityLiving extends Entity { @@ -79,6 +79,13 @@ public abstract class EntityLiving extends Entity {
public int maxAirTicks = 300; public int maxAirTicks = 300;
public int maxHealth = this.getMaxHealth(); public float maxHealth;
// CraftBukkit end // CraftBukkit end
+ // Spigot start + // Spigot start
+ public void inactiveTick() + public void inactiveTick()
@ -118,10 +118,10 @@ index 58a4acb..35f3fea 100644
public EntityLiving(World world) { public EntityLiving(World world) {
super(world); super(world);
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 3a6a63d..5866abb 100644 index fd76af0..039ba6e 100644
--- a/src/main/java/net/minecraft/server/World.java --- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java
@@ -1277,6 +1277,7 @@ public abstract class World implements IBlockAccess { @@ -1276,6 +1276,7 @@ public abstract class World implements IBlockAccess {
this.f.clear(); this.f.clear();
this.methodProfiler.c("regular"); this.methodProfiler.c("regular");
@ -129,7 +129,7 @@ index 3a6a63d..5866abb 100644
timings.entityTick.startTiming(); // Spigot timings.entityTick.startTiming(); // Spigot
for (i = 0; i < this.entityList.size(); ++i) { for (i = 0; i < this.entityList.size(); ++i) {
entity = (Entity) this.entityList.get(i); entity = (Entity) this.entityList.get(i);
@@ -1437,8 +1438,13 @@ public abstract class World implements IBlockAccess { @@ -1436,8 +1437,13 @@ public abstract class World implements IBlockAccess {
int j = MathHelper.floor(entity.locZ); int j = MathHelper.floor(entity.locZ);
byte b0 = 32; byte b0 = 32;
@ -462,7 +462,7 @@ index 0000000..93ce20e
+ } + }
+} +}
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 6c2a430..8b2c1d7 100644 index 8bb0483..eb721f5 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -152,4 +152,15 @@ public class SpigotWorldConfig @@ -152,4 +152,15 @@ public class SpigotWorldConfig

View File

@ -1,22 +1,22 @@
From 3c8f2ccaa98803166178f16290fce2b8626e6ebb Mon Sep 17 00:00:00 2001 From 4a44e729ad0a7d469c386cfa15d3cdda48f67695 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.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index db396b3..d197f06 100644 index f114444..399db47 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -404,6 +404,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo @@ -414,6 +414,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo
this.q(); this.s();
SpigotTimings.serverTickTimer.stopTiming(); SpigotTimings.serverTickTimer.stopTiming();
org.spigotmc.CustomTimingsHandler.tick(); org.spigotmc.CustomTimingsHandler.tick();
+ org.spigotmc.WatchdogThread.tick(); + org.spigotmc.WatchdogThread.tick();
} }
// Spigot end // Spigot end
} else { } else {
@@ -431,6 +432,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo @@ -441,6 +442,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo
this.a(crashreport); this.a(crashreport);
} finally { } finally {
try { try {
@ -142,7 +142,7 @@ index 0000000..a5c4549
+ } + }
+} +}
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index 8f53ca9..b7f3896 100644 index 3028526..a0a7790 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java --- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -136,4 +136,16 @@ public class SpigotConfig @@ -136,4 +136,16 @@ public class SpigotConfig

View File

@ -1,16 +1,16 @@
From f3179d3cf334bf4a99db417230cc37b8997da4a6 Mon Sep 17 00:00:00 2001 From a909284799fb1461906c4cc9fa866b391e16972e 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:06:29 +1000 Date: Tue, 2 Jul 2013 09:06:29 +1000
Subject: [PATCH] Netty Subject: [PATCH] Netty
diff --git a/pom.xml b/pom.xml diff --git a/pom.xml b/pom.xml
index 8c9f66b..f1a4d4c 100644 index 88b41b1..cb5e36d 100644
--- a/pom.xml --- a/pom.xml
+++ b/pom.xml +++ b/pom.xml
@@ -132,6 +132,16 @@ @@ -132,6 +132,16 @@
<artifactId>trove4j</artifactId> <artifactId>trove4j</artifactId>
<version>3.0.2</version> <version>3.0.3</version>
</dependency> </dependency>
+ <dependency> + <dependency>
+ <groupId>io.netty</groupId> + <groupId>io.netty</groupId>
@ -26,18 +26,18 @@ index 8c9f66b..f1a4d4c 100644
<!-- This builds a completely 'ready to start' jar with all dependencies inside --> <!-- This builds a completely 'ready to start' jar with all dependencies inside -->
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index 59444cb..121ed89 100644 index ddb32ac..ec3d104 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java --- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -100,7 +100,11 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -100,7 +100,11 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
this.getLogger().info("Starting Minecraft server on " + (this.getServerIp().length() == 0 ? "*" : this.getServerIp()) + ":" + this.G()); this.getLogger().info("Starting Minecraft server on " + (this.getServerIp().length() == 0 ? "*" : this.getServerIp()) + ":" + this.I());
try { try {
- this.r = new DedicatedServerConnection(this, inetaddress, this.G()); - this.s = new DedicatedServerConnection(this, inetaddress, this.I());
+ // Spigot start + // Spigot start
+ this.r = ( org.spigotmc.SpigotConfig.listeners.get( 0 ).netty ) + this.s = ( org.spigotmc.SpigotConfig.listeners.get( 0 ).netty )
+ ? new org.spigotmc.netty.NettyServerConnection( this, inetaddress, this.G() ) + ? new org.spigotmc.netty.NettyServerConnection( this, inetaddress, this.I() )
+ : new DedicatedServerConnection( this, inetaddress, this.G() ); + : new DedicatedServerConnection( this, inetaddress, this.I() );
+ // Spigot end + // Spigot end
} catch (Throwable ioexception) { // CraftBukkit - IOException -> Throwable } catch (Throwable ioexception) { // CraftBukkit - IOException -> Throwable
this.getLogger().warning("**** FAILED TO BIND TO PORT!"); this.getLogger().warning("**** FAILED TO BIND TO PORT!");
@ -75,10 +75,10 @@ index 0000000..6fcc5d7
+ void setSocketAddress(java.net.SocketAddress address); // Spigot + void setSocketAddress(java.net.SocketAddress address); // Spigot
+} +}
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
index 1862863..5a24f2a 100644 index c60abf1..e1b259b 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java --- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -24,7 +24,7 @@ public class NetworkManager implements INetworkManager { @@ -25,7 +25,7 @@ public class NetworkManager implements INetworkManager {
private final Object h = new Object(); private final Object h = new Object();
private final IConsoleLogManager i; private final IConsoleLogManager i;
public Socket socket; // CraftBukkit - private -> public public Socket socket; // CraftBukkit - private -> public
@ -87,7 +87,7 @@ index 1862863..5a24f2a 100644
private volatile DataInputStream input; private volatile DataInputStream input;
private volatile DataOutputStream output; private volatile DataOutputStream output;
private volatile boolean n = true; private volatile boolean n = true;
@@ -369,4 +369,6 @@ public class NetworkManager implements INetworkManager { @@ -370,4 +370,6 @@ public class NetworkManager implements INetworkManager {
static Thread h(NetworkManager networkmanager) { static Thread h(NetworkManager networkmanager) {
return networkmanager.u; return networkmanager.u;
} }
@ -95,20 +95,20 @@ index 1862863..5a24f2a 100644
+ public void setSocketAddress(SocketAddress address) { k = address; } // Spigot + public void setSocketAddress(SocketAddress address) { k = address; } // Spigot
} }
diff --git a/src/main/java/net/minecraft/server/PendingConnection.java b/src/main/java/net/minecraft/server/PendingConnection.java diff --git a/src/main/java/net/minecraft/server/PendingConnection.java b/src/main/java/net/minecraft/server/PendingConnection.java
index 17cfacc..292fa49 100644 index 252cea7..d0ccbff 100644
--- a/src/main/java/net/minecraft/server/PendingConnection.java --- a/src/main/java/net/minecraft/server/PendingConnection.java
+++ b/src/main/java/net/minecraft/server/PendingConnection.java +++ b/src/main/java/net/minecraft/server/PendingConnection.java
@@ -17,7 +17,7 @@ public class PendingConnection extends Connection { @@ -16,7 +16,7 @@ public class PendingConnection extends Connection {
private static Random random = new Random(); private static Random random = new Random();
private byte[] d; private byte[] d;
private final MinecraftServer server; private final MinecraftServer server;
- public final NetworkManager networkManager; - public final NetworkManager networkManager;
+ public final INetworkManager networkManager; + public final INetworkManager networkManager;
public boolean b = false; public boolean b;
private int f = 0; private int f;
private String g = null; private String g;
@@ -27,10 +27,15 @@ public class PendingConnection extends Connection { @@ -26,10 +26,15 @@ public class PendingConnection extends Connection {
private SecretKey k = null; private SecretKey k;
public String hostname = ""; // CraftBukkit - add field public String hostname = ""; // CraftBukkit - add field
+ public PendingConnection(MinecraftServer minecraftserver, org.spigotmc.netty.NettyNetworkManager networkManager) { + public PendingConnection(MinecraftServer minecraftserver, org.spigotmc.netty.NettyNetworkManager networkManager) {
@ -118,33 +118,33 @@ index 17cfacc..292fa49 100644
+ +
public PendingConnection(MinecraftServer minecraftserver, Socket socket, String s) throws java.io.IOException { // CraftBukkit - throws IOException public PendingConnection(MinecraftServer minecraftserver, Socket socket, String s) throws java.io.IOException { // CraftBukkit - throws IOException
this.server = minecraftserver; this.server = minecraftserver;
this.networkManager = new NetworkManager(minecraftserver.getLogger(), socket, s, this, minecraftserver.F().getPrivate()); this.networkManager = new NetworkManager(minecraftserver.getLogger(), socket, s, this, minecraftserver.H().getPrivate());
- this.networkManager.e = 0; - this.networkManager.e = 0;
+ // this.networkManager.e = 0; + // this.networkManager.e = 0;
} }
// CraftBukkit start // CraftBukkit start
@@ -146,7 +151,7 @@ public class PendingConnection extends Connection { @@ -146,7 +151,7 @@ public class PendingConnection extends Connection {
String s = null;
// CraftBukkit // CraftBukkit
org.bukkit.event.server.ServerListPingEvent pingEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callServerListPingEvent(this.server.server, getSocket().getInetAddress(), this.server.getMotd(), playerlist.getPlayerCount(), playerlist.getMaxPlayers()); org.bukkit.event.server.ServerListPingEvent pingEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callServerListPingEvent(this.server.server, getSocket().getInetAddress(), this.server.getMotd(), playerlist.getPlayerCount(), playerlist.getMaxPlayers());
- if (packet254getinfo.d()) {
- if (packet254getinfo.a == 1) { + if (galse) { // Spigot: TODO: Use trick from Bungee maybe?
+ if (true) { // CraftBukkit
// CraftBukkit start - Fix decompile issues, don't create a list from an array s = pingEvent.getMotd() + "\u00A7" + playerlist.getPlayerCount() + "\u00A7" + pingEvent.getMaxPlayers();
Object[] list = new Object[] { 1, 61, this.server.getVersion(), pingEvent.getMotd(), playerlist.getPlayerCount(), pingEvent.getMaxPlayers() }; } else {
@@ -172,9 +177,18 @@ public class PendingConnection extends Connection {
@@ -173,9 +178,18 @@ public class PendingConnection extends Connection {
this.networkManager.queue(new Packet255KickDisconnect(s)); this.networkManager.queue(new Packet255KickDisconnect(s));
this.networkManager.d(); this.networkManager.d();
- if (inetaddress != null && this.server.ae() instanceof DedicatedServerConnection) { - if (inetaddress != null && this.server.ag() instanceof DedicatedServerConnection) {
- ((DedicatedServerConnection) this.server.ae()).a(inetaddress); - ((DedicatedServerConnection) this.server.ag()).a(inetaddress);
+ // Spigot start + // Spigot start
+ if ( inetaddress != null ) + if ( inetaddress != null )
+ { + {
+ if ( this.server.ae() instanceof DedicatedServerConnection ) + if ( this.server.ag() instanceof DedicatedServerConnection )
+ { + {
+ ((DedicatedServerConnection) this.server.ae()).a(inetaddress); + ((DedicatedServerConnection) this.server.ag()).a(inetaddress);
+ } else + } else
+ { + {
+ ((org.spigotmc.netty.NettyServerConnection)this.server.ae()).unThrottle( inetaddress ); + ((org.spigotmc.netty.NettyServerConnection)this.server.ae()).unThrottle( inetaddress );

View File

@ -1,11 +1,11 @@
From f52dba2bbbe1ac2d868fc37d95d8a33e4e17a46e Mon Sep 17 00:00:00 2001 From 56e4b96d211d5e45d14982673922397d775ab22d 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, 4 Mar 2013 18:45:52 +1100 Date: Mon, 4 Mar 2013 18:45:52 +1100
Subject: [PATCH] PlayerItemDamageEvent Subject: [PATCH] PlayerItemDamageEvent
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
index 343b8cb..9c2fce6 100644 index f42f162..3a3fc27 100644
--- a/src/main/java/net/minecraft/server/ItemStack.java --- a/src/main/java/net/minecraft/server/ItemStack.java
+++ b/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java
@@ -178,7 +178,13 @@ public final class ItemStack { @@ -178,7 +178,13 @@ public final class ItemStack {
@ -44,11 +44,11 @@ index 343b8cb..9c2fce6 100644
public void damage(int i, EntityLiving entityliving) { public void damage(int i, EntityLiving entityliving) {
if (!(entityliving instanceof EntityHuman) || !((EntityHuman) entityliving).abilities.canInstantlyBuild) { if (!(entityliving instanceof EntityHuman) || !((EntityHuman) entityliving).abilities.canInstantlyBuild) {
if (this.g()) { if (this.g()) {
- if (this.isDamaged(i, entityliving.aE())) { - if (this.isDamaged(i, entityliving.aB())) {
+ if (this.isDamaged(i, entityliving.aE(), entityliving)) { + if (this.isDamaged(i, entityliving.aB(), entityliving)) {
entityliving.a(this); entityliving.a(this);
--this.count;
if (entityliving instanceof EntityHuman) { if (entityliving instanceof EntityHuman) {
((EntityHuman) entityliving).a(StatisticList.F[this.id], 1);
-- --
1.8.1.2 1.8.1.2

View File

@ -1,4 +1,4 @@
From dbd0d8f7e14ce0dbe01087ea315ef44fc26193ab Mon Sep 17 00:00:00 2001 From f5c31d0e676d9ca15e19cf5e4468de0e1800a9d0 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, 17 Mar 2013 19:02:50 +1100 Date: Sun, 17 Mar 2013 19:02:50 +1100
Subject: [PATCH] Faster UUID for entities Subject: [PATCH] Faster UUID for entities
@ -6,13 +6,13 @@ 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. 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 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 438a26a..97b2522 100644 index e438df5..700e450 100644
--- a/src/main/java/net/minecraft/server/Entity.java --- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java
@@ -154,7 +154,7 @@ public abstract class Entity { @@ -132,7 +132,7 @@ public abstract class Entity {
this.ai = false; this.maxFireTicks = 1;
this.as = 0; this.justCreated = true;
this.invulnerable = false; this.datawatcher = new DataWatcher();
- this.uniqueID = UUID.randomUUID(); - this.uniqueID = UUID.randomUUID();
+ this.uniqueID = new UUID(random.nextLong(), random.nextLong()); // Spigot + this.uniqueID = new UUID(random.nextLong(), random.nextLong()); // Spigot
this.at = EnumEntitySize.SIZE_2; this.at = EnumEntitySize.SIZE_2;

View File

@ -1,4 +1,4 @@
From 17fbd3f0e6586b3b59b8bbd9f4327e4a09512b24 Mon Sep 17 00:00:00 2001 From 448c1c548527355aff640dca36ca4cc9813580c7 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Wed, 20 Feb 2013 11:58:47 -0500 Date: Wed, 20 Feb 2013 11:58:47 -0500
Subject: [PATCH] Entity Tracking Ranges Subject: [PATCH] Entity Tracking Ranges
@ -12,10 +12,10 @@ 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. 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 diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java
index d7efe3e..59586c2 100644 index 7f23f71..7bb153c 100644
--- a/src/main/java/net/minecraft/server/EntityTracker.java --- a/src/main/java/net/minecraft/server/EntityTracker.java
+++ b/src/main/java/net/minecraft/server/EntityTracker.java +++ b/src/main/java/net/minecraft/server/EntityTracker.java
@@ -90,6 +90,7 @@ public class EntityTracker { @@ -88,6 +88,7 @@ public class EntityTracker {
public void addEntity(Entity entity, int i, int j, boolean flag) { public void addEntity(Entity entity, int i, int j, boolean flag) {
if (Thread.currentThread() != MinecraftServer.getServer().primaryThread) throw new IllegalStateException("Asynchronous entity track!"); // Spigot if (Thread.currentThread() != MinecraftServer.getServer().primaryThread) throw new IllegalStateException("Asynchronous entity track!"); // Spigot
@ -24,7 +24,7 @@ index d7efe3e..59586c2 100644
i = this.d; i = this.d;
} }
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 8b2c1d7..89d716c 100644 index eb721f5..820c576 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -163,4 +163,19 @@ public class SpigotWorldConfig @@ -163,4 +163,19 @@ public class SpigotWorldConfig

View File

@ -1,4 +1,4 @@
From 6475f2a601cf734bf3e5d7b3971fd1c44a60d75f Mon Sep 17 00:00:00 2001 From fbdeb351e9e22395803d7563bb347cce2eb722eb 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 Mar 2013 11:15:11 +1100 Date: Sat, 23 Mar 2013 11:15:11 +1100
Subject: [PATCH] BungeeCord Support Subject: [PATCH] BungeeCord Support
@ -6,10 +6,10 @@ Subject: [PATCH] BungeeCord Support
- Allows BungeeCord to set the players real IP address very early in the login process, so that the BungeeCord proxy IP is never even seen by a plugin. - Allows BungeeCord to set the players real IP address very early in the login process, so that the BungeeCord proxy IP is never even seen by a plugin.
diff --git a/src/main/java/net/minecraft/server/PendingConnection.java b/src/main/java/net/minecraft/server/PendingConnection.java diff --git a/src/main/java/net/minecraft/server/PendingConnection.java b/src/main/java/net/minecraft/server/PendingConnection.java
index 292fa49..ff32606 100644 index d0ccbff..6308331 100644
--- a/src/main/java/net/minecraft/server/PendingConnection.java --- a/src/main/java/net/minecraft/server/PendingConnection.java
+++ b/src/main/java/net/minecraft/server/PendingConnection.java +++ b/src/main/java/net/minecraft/server/PendingConnection.java
@@ -228,4 +228,17 @@ public class PendingConnection extends Connection { @@ -227,4 +227,17 @@ public class PendingConnection extends Connection {
static boolean a(PendingConnection pendingconnection, boolean flag) { static boolean a(PendingConnection pendingconnection, boolean flag) {
return pendingconnection.h = flag; return pendingconnection.h = flag;
} }
@ -28,12 +28,12 @@ index 292fa49..ff32606 100644
+ // Spigot end + // Spigot end
} }
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 b7e327b..30c6503 100644 index b98a078..018feb2 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
@@ -293,7 +293,7 @@ public abstract class PlayerList { @@ -293,7 +293,7 @@ public abstract class PlayerList {
// depending on the outcome. // depending on the outcome.
EntityPlayer entity = new EntityPlayer(this.server, this.server.getWorldServer(0), s, this.server.M() ? new DemoPlayerInteractManager(this.server.getWorldServer(0)) : new PlayerInteractManager(this.server.getWorldServer(0))); EntityPlayer entity = new EntityPlayer(this.server, this.server.getWorldServer(0), s, this.server.O() ? new DemoPlayerInteractManager(this.server.getWorldServer(0)) : new PlayerInteractManager(this.server.getWorldServer(0)));
Player player = entity.getBukkitEntity(); Player player = entity.getBukkitEntity();
- PlayerLoginEvent event = new PlayerLoginEvent(player, hostname, pendingconnection.getSocket().getInetAddress()); - PlayerLoginEvent event = new PlayerLoginEvent(player, hostname, pendingconnection.getSocket().getInetAddress());
+ PlayerLoginEvent event = new PlayerLoginEvent(player, hostname, ((java.net.InetSocketAddress) pendingconnection.networkManager.getSocketAddress()).getAddress(), pendingconnection.getSocket().getInetAddress()); // Spigot + PlayerLoginEvent event = new PlayerLoginEvent(player, hostname, ((java.net.InetSocketAddress) pendingconnection.networkManager.getSocketAddress()).getAddress(), pendingconnection.getSocket().getInetAddress()); // Spigot
@ -41,7 +41,7 @@ index b7e327b..30c6503 100644
SocketAddress socketaddress = pendingconnection.networkManager.getSocketAddress(); SocketAddress socketaddress = pendingconnection.networkManager.getSocketAddress();
diff --git a/src/main/java/net/minecraft/server/ThreadLoginVerifier.java b/src/main/java/net/minecraft/server/ThreadLoginVerifier.java diff --git a/src/main/java/net/minecraft/server/ThreadLoginVerifier.java b/src/main/java/net/minecraft/server/ThreadLoginVerifier.java
index 1254e63..a4eae65 100644 index f87ebf9..f5032be 100644
--- a/src/main/java/net/minecraft/server/ThreadLoginVerifier.java --- a/src/main/java/net/minecraft/server/ThreadLoginVerifier.java
+++ b/src/main/java/net/minecraft/server/ThreadLoginVerifier.java +++ b/src/main/java/net/minecraft/server/ThreadLoginVerifier.java
@@ -45,11 +45,11 @@ class ThreadLoginVerifier extends Thread { @@ -45,11 +45,11 @@ class ThreadLoginVerifier extends Thread {
@ -59,10 +59,10 @@ index 1254e63..a4eae65 100644
event.disallow(asyncEvent.getResult(), asyncEvent.getKickMessage()); event.disallow(asyncEvent.getResult(), asyncEvent.getKickMessage());
} }
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 7cae665..21141f2 100644 index b3bb702..b81a07e 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
@@ -998,6 +998,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1002,6 +1002,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
// Spigot start // Spigot start
private final Spigot spigot = new Spigot() private final Spigot spigot = new Spigot()
{ {

View File

@ -1,4 +1,4 @@
From 2f81e3294321a9bfcb00956f75bb54ea5cdfecf5 Mon Sep 17 00:00:00 2001 From 56ce9a93bd0f4a45c2168bfc323a62ddfb23b405 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 Mar 2013 19:08:41 +1100 Date: Sat, 23 Mar 2013 19:08:41 +1100
Subject: [PATCH] Limit Custom Map Rendering Subject: [PATCH] Limit Custom Map Rendering
@ -6,10 +6,10 @@ Subject: [PATCH] Limit Custom Map Rendering
The default CraftBukkit render sequence for maps is ridiculously slow. By only using it when a custom renderer has been added (rarely in most cases), we can fallback to the Vanilla renderer for general usage. This leads to a much higher effiency overall, especially if no plugins are rendering such maps. The default CraftBukkit render sequence for maps is ridiculously slow. By only using it when a custom renderer has been added (rarely in most cases), we can fallback to the Vanilla renderer for general usage. This leads to a much higher effiency overall, especially if no plugins are rendering such maps.
diff --git a/src/main/java/net/minecraft/server/WorldMapHumanTracker.java b/src/main/java/net/minecraft/server/WorldMapHumanTracker.java diff --git a/src/main/java/net/minecraft/server/WorldMapHumanTracker.java b/src/main/java/net/minecraft/server/WorldMapHumanTracker.java
index bf3e6fe..305dceb 100644 index 22d9c7e..bed8705 100644
--- a/src/main/java/net/minecraft/server/WorldMapHumanTracker.java --- a/src/main/java/net/minecraft/server/WorldMapHumanTracker.java
+++ b/src/main/java/net/minecraft/server/WorldMapHumanTracker.java +++ b/src/main/java/net/minecraft/server/WorldMapHumanTracker.java
@@ -41,23 +41,29 @@ public class WorldMapHumanTracker { @@ -38,23 +38,29 @@ public class WorldMapHumanTracker {
int i; int i;
int j; int j;
@ -46,8 +46,8 @@ index bf3e6fe..305dceb 100644
+ // Spigot end + // Spigot end
// CraftBukkit end // CraftBukkit end
boolean flag = !itemstack.z(); boolean flag = !itemstack.A();
@@ -92,7 +98,7 @@ public class WorldMapHumanTracker { @@ -89,7 +95,7 @@ public class WorldMapHumanTracker {
abyte1[2] = (byte) j; abyte1[2] = (byte) j;
for (int i1 = 0; i1 < abyte1.length - 3; ++i1) { for (int i1 = 0; i1 < abyte1.length - 3; ++i1) {

View File

@ -1,14 +1,14 @@
From 093c26055d78b7e52e6653e47dc73ae765decf5c Mon Sep 17 00:00:00 2001 From 20feb3e62fef472d80e0685dc55b74ea8ad90675 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co> From: Aikar <aikar@aikar.co>
Date: Sun, 24 Feb 2013 20:45:20 +1100 Date: Sun, 24 Feb 2013 20:45:20 +1100
Subject: [PATCH] Enable Improved Ping Sending Subject: [PATCH] Enable Improved Ping Sending
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 7de5b48..35a579c 100644 index 094da96..8d7a59a 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java --- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -51,6 +51,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -52,6 +52,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
public int newLevel = 0; public int newLevel = 0;
public int newTotalExp = 0; public int newTotalExp = 0;
public boolean keepLevel = false; public boolean keepLevel = false;
@ -17,11 +17,11 @@ index 7de5b48..35a579c 100644
public EntityPlayer(MinecraftServer minecraftserver, World world, String s, PlayerInteractManager playerinteractmanager) { public EntityPlayer(MinecraftServer minecraftserver, World world, String s, PlayerInteractManager playerinteractmanager) {
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 30c6503..1891308 100644 index 018feb2..0e5bf6c 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
@@ -717,6 +717,25 @@ public abstract class PlayerList { @@ -717,6 +717,25 @@ public abstract class PlayerList {
this.sendAll(new Packet201PlayerInfo(entityplayer.name, true, entityplayer.ping)); this.sendAll(new Packet201PlayerInfo(entityplayer.getName(), true, entityplayer.ping));
} }
// CraftBukkit end */ // CraftBukkit end */
+ // Spigot start + // Spigot start

View File

@ -1,27 +1,28 @@
From 47e90e4e5c72a105ff5b9901ef6929ef7511d1fb Mon Sep 17 00:00:00 2001 From 8612d2a39a8fe4631c5c38810989282e65cba8af Mon Sep 17 00:00:00 2001
From: Benjamin James Harrison-Sims <tehrainbowguy@gmail.com> From: Benjamin James Harrison-Sims <tehrainbowguy@gmail.com>
Date: Sun, 14 Apr 2013 21:19:57 +0500 Date: Sun, 14 Apr 2013 21:19:57 +0500
Subject: [PATCH] Filter Invalid Names Subject: [PATCH] Filter Invalid Names
diff --git a/src/main/java/net/minecraft/server/Packet2Handshake.java b/src/main/java/net/minecraft/server/Packet2Handshake.java diff --git a/src/main/java/net/minecraft/server/Packet2Handshake.java b/src/main/java/net/minecraft/server/Packet2Handshake.java
index 343af93..26de0b5 100644 index 1e7bad0..f25afb6 100644
--- a/src/main/java/net/minecraft/server/Packet2Handshake.java --- a/src/main/java/net/minecraft/server/Packet2Handshake.java
+++ b/src/main/java/net/minecraft/server/Packet2Handshake.java +++ b/src/main/java/net/minecraft/server/Packet2Handshake.java
@@ -14,11 +14,13 @@ public class Packet2Handshake extends Packet { @@ -14,11 +14,14 @@ public class Packet2Handshake extends Packet {
public Packet2Handshake() {} public Packet2Handshake() {}
+ public static final java.util.regex.Pattern validName = java.util.regex.Pattern.compile("^[a-zA-Z0-9_-]{2,16}$"); + public static final java.util.regex.Pattern validName = java.util.regex.Pattern.compile("^[a-zA-Z0-9_-]{2,16}$");
public void a(DataInputStream datainputstream) throws IOException { // CraftBukkit - throws IOException public void a(DataInput datainput) throws IOException { // CraftBukkit - throws IOException
this.a = datainputstream.readByte(); this.a = datainput.readByte();
this.b = a(datainputstream, 16); this.b = a(datainput, 16);
this.c = a(datainputstream, 255); this.c = a(datainput, 255);
this.d = datainputstream.readInt(); this.d = datainput.readInt();
+ // Spigot: TODO: md_5 hates this
+ if(!validName.matcher(this.b).matches()) throw new IOException("Invalid name!"); // Spigot + if(!validName.matcher(this.b).matches()) throw new IOException("Invalid name!"); // Spigot
} }
public void a(DataOutputStream dataoutputstream) throws IOException { // CraftBukkit - throws IOException public void a(DataOutput dataoutput) throws IOException { // CraftBukkit - throws IOException
-- --
1.8.1.2 1.8.1.2

View File

@ -1,4 +1,4 @@
From 3ffe256945a7df36f9b9fe08be2b44547d8e9c14 Mon Sep 17 00:00:00 2001 From d94b6e73ee42e11ee17ac1790d326da128236375 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, 23 Apr 2013 11:50:27 +1000 Date: Tue, 23 Apr 2013 11:50:27 +1000
Subject: [PATCH] Thread Naming and Tweaks Subject: [PATCH] Thread Naming and Tweaks
@ -6,13 +6,13 @@ Subject: [PATCH] Thread Naming and Tweaks
Removes the sleep forever thread and adds useful names for debugging to all staged thread files. 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 diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index b2a4229..2a6250d 100644 index ec3d104..ccbd6bc 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java --- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/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 @@ -34,7 +34,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
super(options); super(options);
// CraftBukkit end // CraftBukkit end
this.l = new ConsoleLogManager("Minecraft-Server", (String) null, (String) null); // CraftBukkit - null last argument this.m = new ConsoleLogManager("Minecraft-Server", (String) null, (String) null); // CraftBukkit - null last argument
- new ThreadSleepForever(this); - new ThreadSleepForever(this);
+ // new ThreadSleepForever(this); + // new ThreadSleepForever(this);
} }
@ -31,7 +31,7 @@ index 489e184..bfd219c 100644
} }
diff --git a/src/main/java/net/minecraft/server/ThreadLoginVerifier.java b/src/main/java/net/minecraft/server/ThreadLoginVerifier.java diff --git a/src/main/java/net/minecraft/server/ThreadLoginVerifier.java b/src/main/java/net/minecraft/server/ThreadLoginVerifier.java
index a4eae65..496cfe4 100644 index f5032be..5e45cae 100644
--- a/src/main/java/net/minecraft/server/ThreadLoginVerifier.java --- a/src/main/java/net/minecraft/server/ThreadLoginVerifier.java
+++ b/src/main/java/net/minecraft/server/ThreadLoginVerifier.java +++ b/src/main/java/net/minecraft/server/ThreadLoginVerifier.java
@@ -21,6 +21,7 @@ class ThreadLoginVerifier extends Thread { @@ -21,6 +21,7 @@ class ThreadLoginVerifier extends Thread {

View File

@ -1,4 +1,4 @@
From 79812d32f7cfef51de310b72ed9eb59410395573 Mon Sep 17 00:00:00 2001 From ee7f3f6e22ddeacbad8b9ec13b96870fe585dbe2 Mon Sep 17 00:00:00 2001
From: Mike Primm <mike@primmhome.com> From: Mike Primm <mike@primmhome.com>
Date: Wed, 24 Apr 2013 01:43:33 -0500 Date: Wed, 24 Apr 2013 01:43:33 -0500
Subject: [PATCH] Improve NextTickList Performance Subject: [PATCH] Improve NextTickList Performance
@ -20,7 +20,7 @@ index 52a70a1..08a4240 100644
public NextTickListEntry a(long i) { 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 diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 69d955f..7cdb549 100644 index b7e0551..1b69737 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java --- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/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 @@ -25,8 +25,8 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
@ -34,17 +34,17 @@ index 69d955f..7cdb549 100644
public ChunkProviderServer chunkProviderServer; public ChunkProviderServer chunkProviderServer;
public boolean savingDisabled; public boolean savingDisabled;
private boolean N; private boolean N;
@@ -35,7 +35,8 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate @@ -36,7 +36,8 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
private NoteDataList[] Q = new NoteDataList[] { new NoteDataList((EmptyClass2) null), new NoteDataList((EmptyClass2) null)}; private NoteDataList[] R = new NoteDataList[] { new NoteDataList((EmptyClass2) null), new NoteDataList((EmptyClass2) null)};
private int R = 0; private int S;
private static final StructurePieceTreasure[] S = new StructurePieceTreasure[] { new StructurePieceTreasure(Item.STICK.id, 0, 1, 3, 10), new StructurePieceTreasure(Block.WOOD.id, 0, 1, 3, 10), new StructurePieceTreasure(Block.LOG.id, 0, 1, 3, 10), new StructurePieceTreasure(Item.STONE_AXE.id, 0, 1, 1, 3), new StructurePieceTreasure(Item.WOOD_AXE.id, 0, 1, 1, 5), new StructurePieceTreasure(Item.STONE_PICKAXE.id, 0, 1, 1, 3), new StructurePieceTreasure(Item.WOOD_PICKAXE.id, 0, 1, 1, 5), new StructurePieceTreasure(Item.APPLE.id, 0, 2, 3, 5), new StructurePieceTreasure(Item.BREAD.id, 0, 2, 3, 3)}; private static final StructurePieceTreasure[] T = new StructurePieceTreasure[] { new StructurePieceTreasure(Item.STICK.id, 0, 1, 3, 10), new StructurePieceTreasure(Block.WOOD.id, 0, 1, 3, 10), new StructurePieceTreasure(Block.LOG.id, 0, 1, 3, 10), new StructurePieceTreasure(Item.STONE_AXE.id, 0, 1, 1, 3), new StructurePieceTreasure(Item.WOOD_AXE.id, 0, 1, 1, 5), new StructurePieceTreasure(Item.STONE_PICKAXE.id, 0, 1, 1, 3), new StructurePieceTreasure(Item.WOOD_PICKAXE.id, 0, 1, 1, 5), new StructurePieceTreasure(Item.APPLE.id, 0, 2, 3, 5), new StructurePieceTreasure(Item.BREAD.id, 0, 2, 3, 3)};
- private ArrayList T = new ArrayList(); - private List U = new ArrayList();
+ private ArrayList<NextTickListEntry> pendingTickEntries = new ArrayList<NextTickListEntry>(); // Spigot + private ArrayList<NextTickListEntry> pendingTickEntries = new ArrayList<NextTickListEntry>(); // Spigot
+ private int nextPendingTickEntry; // Spigot + private int nextPendingTickEntry; // Spigot
private IntHashMap entitiesById; private IntHashMap entitiesById;
// CraftBukkit start // CraftBukkit start
@@ -53,13 +54,15 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate @@ -54,13 +55,15 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
this.entitiesById = new IntHashMap(); this.entitiesById = new IntHashMap();
} }
@ -64,13 +64,13 @@ index 69d955f..7cdb549 100644
this.P = new org.bukkit.craftbukkit.CraftTravelAgent(this); // CraftBukkit this.P = new org.bukkit.craftbukkit.CraftTravelAgent(this); // CraftBukkit
this.scoreboard = new ScoreboardServer(minecraftserver); this.scoreboard = new ScoreboardServer(minecraftserver);
@@ -441,9 +444,16 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate @@ -440,9 +443,16 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
} }
public boolean a(int i, int j, int k, int l) { public boolean a(int i, int j, int k, int l) {
- NextTickListEntry nextticklistentry = new NextTickListEntry(i, j, k, l); - NextTickListEntry nextticklistentry = new NextTickListEntry(i, j, k, l);
- -
- return this.T.contains(nextticklistentry); - return this.U.contains(nextticklistentry);
+ // Spigot start + // Spigot start
+ int te_cnt = this.pendingTickEntries.size(); + int te_cnt = this.pendingTickEntries.size();
+ for (int idx = this.nextPendingTickEntry; idx < te_cnt; idx++) { + for (int idx = this.nextPendingTickEntry; idx < te_cnt; idx++) {
@ -141,7 +141,7 @@ index 69d955f..7cdb549 100644
- this.M.remove(nextticklistentry); - this.M.remove(nextticklistentry);
- this.L.remove(nextticklistentry); - this.L.remove(nextticklistentry);
- this.T.add(nextticklistentry); - this.U.add(nextticklistentry);
+ // Spigot start + // Spigot start
+ this.removeNextTickIfNeeded(nextticklistentry); + this.removeNextTickIfNeeded(nextticklistentry);
+ this.pendingTickEntries.add(nextticklistentry); + this.pendingTickEntries.add(nextticklistentry);
@ -150,7 +150,7 @@ index 69d955f..7cdb549 100644
this.methodProfiler.b(); this.methodProfiler.b();
this.methodProfiler.a("ticking"); this.methodProfiler.a("ticking");
- Iterator iterator = this.T.iterator(); - Iterator iterator = this.U.iterator();
- -
- while (iterator.hasNext()) { - while (iterator.hasNext()) {
- nextticklistentry = (NextTickListEntry) iterator.next(); - nextticklistentry = (NextTickListEntry) iterator.next();
@ -167,7 +167,7 @@ index 69d955f..7cdb549 100644
} }
this.methodProfiler.b(); this.methodProfiler.b();
- this.T.clear(); - this.U.clear();
- return !this.M.isEmpty(); - return !this.M.isEmpty();
- } - }
+ // Spigot start + // Spigot start
@ -192,10 +192,10 @@ index 69d955f..7cdb549 100644
- if (i1 == 0) { - if (i1 == 0) {
- iterator = this.M.iterator(); - iterator = this.M.iterator();
- } else { - } else {
- iterator = this.T.iterator(); - iterator = this.U.iterator();
- /* CraftBukkit start - Comment out debug spam - /* CraftBukkit start - Comment out debug spam
- if (!this.T.isEmpty()) { - if (!this.U.isEmpty()) {
- System.out.println(this.T.size()); - System.out.println(this.U.size());
- } - }
- // CraftBukkit end */ - // CraftBukkit end */
- } - }
@ -224,8 +224,8 @@ index 69d955f..7cdb549 100644
+ // Spigot end + // Spigot end
} }
public void entityJoinedWorld(Entity entity, boolean flag) { /* CraftBukkit start - We prevent spawning in general, so this butchering is not needed
@@ -703,13 +679,15 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate @@ -712,13 +688,15 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
this.entitiesById = new IntHashMap(); this.entitiesById = new IntHashMap();
} }
@ -245,7 +245,7 @@ index 69d955f..7cdb549 100644
this.b(worldsettings); this.b(worldsettings);
super.a(worldsettings); super.a(worldsettings);
@@ -996,4 +974,62 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate @@ -1005,4 +983,62 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate
return this.setTypeIdAndData(x, y, z, typeId, data, 3); return this.setTypeIdAndData(x, y, z, typeId, data, 3);
} }
// CraftBukkit end // CraftBukkit end

View File

@ -1,4 +1,4 @@
From 584fae45430e0fd52bcdb5742ca77f893a862264 Mon Sep 17 00:00:00 2001 From ee9df7fc1702b48e1080b8ebeb07ce65a910e214 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
@ -17,7 +17,7 @@ index bb28c12..c0836e4 100644
+ java.util.List<ItemStack> getIngredients(); // Spigot + java.util.List<ItemStack> getIngredients(); // Spigot
} }
diff --git a/src/main/java/net/minecraft/server/ShapedRecipes.java b/src/main/java/net/minecraft/server/ShapedRecipes.java diff --git a/src/main/java/net/minecraft/server/ShapedRecipes.java b/src/main/java/net/minecraft/server/ShapedRecipes.java
index a70b828..6d0c8ca 100644 index 8f4246b..ac92050 100644
--- a/src/main/java/net/minecraft/server/ShapedRecipes.java --- a/src/main/java/net/minecraft/server/ShapedRecipes.java
+++ b/src/main/java/net/minecraft/server/ShapedRecipes.java +++ b/src/main/java/net/minecraft/server/ShapedRecipes.java
@@ -10,7 +10,7 @@ public class ShapedRecipes implements IRecipe { @@ -10,7 +10,7 @@ public class ShapedRecipes implements IRecipe {
@ -27,7 +27,7 @@ index a70b828..6d0c8ca 100644
- private ItemStack result; - private ItemStack result;
+ public ItemStack result; // Spigot + public ItemStack result; // Spigot
public final int a; public final int a;
private boolean f = false; private boolean f;
@@ -158,4 +158,11 @@ public class ShapedRecipes implements IRecipe { @@ -158,4 +158,11 @@ public class ShapedRecipes implements IRecipe {
this.f = true; this.f = true;

View File

@ -1,4 +1,4 @@
From 5537a2a1c5596e5df2f5f3d9c953f46ef7e3d372 Mon Sep 17 00:00:00 2001 From 0a26bbedcd04bb3f6da1e48107710865af35feed Mon Sep 17 00:00:00 2001
From: Nick Minkler <sleaker@gmail.com> From: Nick Minkler <sleaker@gmail.com>
Date: Sun, 2 Jun 2013 14:54:11 +1000 Date: Sun, 2 Jun 2013 14:54:11 +1000
Subject: [PATCH] Fix Health Scaling Subject: [PATCH] Fix Health Scaling
@ -6,12 +6,12 @@ Subject: [PATCH] Fix Health Scaling
Fix scaled health sending incorrect values to client. No longer attempts to scale health above maximum. Hopefully fixes 'flash' when player eats food. Fix scaled health sending incorrect values to client. No longer attempts to scale health above maximum. Hopefully fixes 'flash' when player eats food.
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 35f3fea..ae9415c 100644 index f043040..e0bb0a5 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java --- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -423,7 +423,10 @@ public abstract class EntityLiving extends Entity { @@ -251,7 +251,10 @@ public abstract class EntityLiving extends Entity {
public int getScaledHealth() { public float getScaledHealth() {
if (this.maxHealth != this.getMaxHealth() && this.getHealth() > 0) { if (this.maxHealth != this.getMaxHealth() && this.getHealth() > 0) {
- return this.getHealth() * this.getMaxHealth() / this.maxHealth + 1; - return this.getHealth() * this.getMaxHealth() / this.maxHealth + 1;
+ // Spigot start + // Spigot start
@ -22,7 +22,7 @@ index 35f3fea..ae9415c 100644
return this.getHealth(); return this.getHealth();
} }
diff --git a/src/main/java/net/minecraft/server/FoodMetaData.java b/src/main/java/net/minecraft/server/FoodMetaData.java diff --git a/src/main/java/net/minecraft/server/FoodMetaData.java b/src/main/java/net/minecraft/server/FoodMetaData.java
index f26d552..8fcdbae 100644 index 543a430..fcf359b 100644
--- a/src/main/java/net/minecraft/server/FoodMetaData.java --- a/src/main/java/net/minecraft/server/FoodMetaData.java
+++ b/src/main/java/net/minecraft/server/FoodMetaData.java +++ b/src/main/java/net/minecraft/server/FoodMetaData.java
@@ -39,7 +39,8 @@ public class FoodMetaData { @@ -39,7 +39,8 @@ public class FoodMetaData {
@ -36,7 +36,7 @@ index f26d552..8fcdbae 100644
} }
} }
diff --git a/src/main/java/net/minecraft/server/ItemFood.java b/src/main/java/net/minecraft/server/ItemFood.java diff --git a/src/main/java/net/minecraft/server/ItemFood.java b/src/main/java/net/minecraft/server/ItemFood.java
index 409addf..c8a7f41 100644 index 5b77fc7..56eab3f 100644
--- a/src/main/java/net/minecraft/server/ItemFood.java --- a/src/main/java/net/minecraft/server/ItemFood.java
+++ b/src/main/java/net/minecraft/server/ItemFood.java +++ b/src/main/java/net/minecraft/server/ItemFood.java
@@ -36,7 +36,8 @@ public class ItemFood extends Item { @@ -36,7 +36,8 @@ public class ItemFood extends Item {
@ -48,7 +48,7 @@ index 409addf..c8a7f41 100644
+ ((EntityPlayer) entityhuman).playerConnection.sendPacket(new Packet8UpdateHealth(((EntityPlayer) entityhuman).getScaledHealth(), entityhuman.getFoodData().foodLevel, entityhuman.getFoodData().saturationLevel)); + ((EntityPlayer) entityhuman).playerConnection.sendPacket(new Packet8UpdateHealth(((EntityPlayer) entityhuman).getScaledHealth(), entityhuman.getFoodData().foodLevel, entityhuman.getFoodData().saturationLevel));
// CraftBukkit end // CraftBukkit end
world.makeSound(entityhuman, "random.burp", 0.5F, world.random.nextFloat() * 0.1F + 0.9F); entityhuman.getFoodData().a(this);
-- --
1.8.1.2 1.8.1.2

View File

@ -1,15 +1,15 @@
From 88def699bf4f7a11ff3764f0ecd9831c162ad0e2 Mon Sep 17 00:00:00 2001 From 9de57bd9b69a1c413d231f763ad5d2eeee1ee37f Mon Sep 17 00:00:00 2001
From: Nick Minkler <sleaker@gmail.com> From: Nick Minkler <sleaker@gmail.com>
Date: Sun, 2 Jun 2013 15:04:37 +1000 Date: Sun, 2 Jun 2013 15:04:37 +1000
Subject: [PATCH] Fix EntityShootBowEvent with Skeletons Subject: [PATCH] Fix EntityShootBowEvent with Skeletons
diff --git a/src/main/java/net/minecraft/server/EntitySkeleton.java b/src/main/java/net/minecraft/server/EntitySkeleton.java diff --git a/src/main/java/net/minecraft/server/EntitySkeleton.java b/src/main/java/net/minecraft/server/EntitySkeleton.java
index 9494627..dba2257 100644 index e5db8a1..e175344 100644
--- a/src/main/java/net/minecraft/server/EntitySkeleton.java --- a/src/main/java/net/minecraft/server/EntitySkeleton.java
+++ b/src/main/java/net/minecraft/server/EntitySkeleton.java +++ b/src/main/java/net/minecraft/server/EntitySkeleton.java
@@ -245,9 +245,21 @@ public class EntitySkeleton extends EntityMonster implements IRangedEntity { @@ -242,9 +242,21 @@ public class EntitySkeleton extends EntityMonster implements IRangedEntity {
if (EnchantmentManager.getEnchantmentLevel(Enchantment.ARROW_FIRE.id, this.bG()) > 0 || this.getSkeletonType() == 1) { if (EnchantmentManager.getEnchantmentLevel(Enchantment.ARROW_FIRE.id, this.aV()) > 0 || this.getSkeletonType() == 1) {
entityarrow.setOnFire(100); entityarrow.setOnFire(100);
} }
+ // Spigot - Skeletons should throw EntityShootBowEvents + // Spigot - Skeletons should throw EntityShootBowEvents
@ -25,7 +25,7 @@ index 9494627..dba2257 100644
+ } + }
+ // Spigot end + // Spigot end
this.makeSound("random.bow", 1.0F, 1.0F / (this.aE().nextFloat() * 0.4F + 0.8F)); this.makeSound("random.bow", 1.0F, 1.0F / (this.aB().nextFloat() * 0.4F + 0.8F));
- this.world.addEntity(entityarrow); - this.world.addEntity(entityarrow);
+ // this.world.addEntity(entityarrow); // Spigot - moved up + // this.world.addEntity(entityarrow); // Spigot - moved up
} }

View File

@ -1,4 +1,4 @@
From d1725f257553f7abf4fa2f13734713972b756b06 Mon Sep 17 00:00:00 2001 From e35ea6d5ff7784e40efa156226e52ffae59afe4a 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 16:14:30 +1000 Date: Sun, 2 Jun 2013 16:14:30 +1000
Subject: [PATCH] Particle API Subject: [PATCH] Particle API
@ -43,7 +43,7 @@ index 7de0de5..7eca388 100644
datavalue = 0; datavalue = 0;
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index edc59b1..0778a66 100644 index 8508d22..9da1a47 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -766,31 +766,21 @@ public class CraftWorld implements World { @@ -766,31 +766,21 @@ public class CraftWorld implements World {
@ -152,7 +152,7 @@ index edc59b1..0778a66 100644
public Spigot spigot() 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 diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 21141f2..feed78e 100644 index b81a07e..011b5fa 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
@@ -266,13 +266,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -266,13 +266,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@ -191,7 +191,7 @@ index 21141f2..feed78e 100644
} }
public void sendBlockChange(Location loc, Material material, byte data) { public void sendBlockChange(Location loc, Material material, byte data) {
@@ -1003,6 +1006,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1007,6 +1010,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
{ {
return ( getHandle().playerConnection == null ) ? null : (InetSocketAddress) getHandle().playerConnection.networkManager.getSocket().getRemoteSocketAddress(); return ( getHandle().playerConnection == null ) ? null : (InetSocketAddress) getHandle().playerConnection.networkManager.getSocket().getRemoteSocketAddress();
} }

View File

@ -1,16 +1,16 @@
From 2a158ef53f85cf5004c22e680bfe80dcd1f4f573 Mon Sep 17 00:00:00 2001 From db80377236dd2416e98541e7c4b5c0bdf6de28b5 Mon Sep 17 00:00:00 2001
From: DerFlash <bte@freenet.de> From: DerFlash <bte@freenet.de>
Date: Sun, 2 Jun 2013 16:23:46 +1000 Date: Sun, 2 Jun 2013 16:23:46 +1000
Subject: [PATCH] Hopper Cooldowns Subject: [PATCH] Hopper Cooldowns
diff --git a/src/main/java/net/minecraft/server/TileEntityHopper.java b/src/main/java/net/minecraft/server/TileEntityHopper.java diff --git a/src/main/java/net/minecraft/server/TileEntityHopper.java b/src/main/java/net/minecraft/server/TileEntityHopper.java
index f6d269d..1f69c7b 100644 index 054cea4..37e8f3c 100644
--- a/src/main/java/net/minecraft/server/TileEntityHopper.java --- a/src/main/java/net/minecraft/server/TileEntityHopper.java
+++ b/src/main/java/net/minecraft/server/TileEntityHopper.java +++ b/src/main/java/net/minecraft/server/TileEntityHopper.java
@@ -181,16 +181,19 @@ public class TileEntityHopper extends TileEntity implements IHopper { @@ -182,16 +182,19 @@ public class TileEntityHopper extends TileEntity implements IHopper {
boolean flag = this.u() | suckInItems(this);
flag = suckInItems(this) || flag;
if (flag) { if (flag) {
- this.c(8); - this.c(8);
+ this.c(world.spigotConfig.hopperTransfer); // Spigot + this.c(world.spigotConfig.hopperTransfer); // Spigot
@ -33,7 +33,7 @@ index f6d269d..1f69c7b 100644
} }
private boolean u() { private boolean u() {
@@ -217,7 +220,7 @@ public class TileEntityHopper extends TileEntity implements IHopper { @@ -218,7 +221,7 @@ public class TileEntityHopper extends TileEntity implements IHopper {
this.getWorld().getServer().getPluginManager().callEvent(event); this.getWorld().getServer().getPluginManager().callEvent(event);
if (event.isCancelled()) { if (event.isCancelled()) {
this.setItem(i, itemstack); this.setItem(i, itemstack);
@ -42,29 +42,29 @@ index f6d269d..1f69c7b 100644
return false; return false;
} }
ItemStack itemstack1 = addItem(iinventory, CraftItemStack.asNMSCopy(event.getItem()), Facing.OPPOSITE_FACING[BlockHopper.c(this.p())]); ItemStack itemstack1 = addItem(iinventory, CraftItemStack.asNMSCopy(event.getItem()), Facing.OPPOSITE_FACING[BlockHopper.c(this.p())]);
@@ -298,9 +301,9 @@ public class TileEntityHopper extends TileEntity implements IHopper { @@ -299,9 +302,9 @@ public class TileEntityHopper extends TileEntity implements IHopper {
iinventory.setItem(i, itemstack1); iinventory.setItem(i, itemstack1);
if (ihopper instanceof TileEntityHopper) { if (ihopper instanceof TileEntityHopper) {
- ((TileEntityHopper) ihopper).c(8); // Delay hopper checks - ((TileEntityHopper) ihopper).c(8); // Delay hopper checks
+ ((TileEntityHopper) ihopper).c(ihopper.getWorld().spigotConfig.hopperTransfer); // Spigot + ((TileEntityHopper) ihopper).c(ihopper.getWorld().spigotConfig.hopperTransfer); // Spigot
} else if (ihopper instanceof EntityMinecartHopper) { } else if (ihopper instanceof EntityMinecartHopper) {
- ((EntityMinecartHopper) ihopper).n(4); // Delay hopper minecart checks - ((EntityMinecartHopper) ihopper).l(4); // Delay hopper minecart checks
+ ((EntityMinecartHopper) ihopper).n(ihopper.getWorld().spigotConfig.hopperTransfer / 2); // Spigot + ((EntityMinecartHopper) ihopper).n(ihopper.getWorld().spigotConfig.hopperTransfer / 2); // Spigot
} }
return false; return false;
@@ -404,7 +407,7 @@ public class TileEntityHopper extends TileEntity implements IHopper { @@ -405,7 +408,7 @@ public class TileEntityHopper extends TileEntity implements IHopper {
if (flag) { if (flag) {
if (iinventory instanceof TileEntityHopper) { if (iinventory instanceof TileEntityHopper) {
- ((TileEntityHopper) iinventory).c(8); - ((TileEntityHopper) iinventory).c(8);
+ ((TileEntityHopper) iinventory).c(((TileEntityHopper) iinventory).world.spigotConfig.hopperTransfer); // Spigot + ((TileEntityHopper) iinventory).c(((TileEntityHopper) iinventory).world.spigotConfig.hopperTransfer); // Spigot
iinventory.update();
} }
iinventory.update();
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 89d716c..8f13fa9 100644 index 820c576..56af938 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -178,4 +178,13 @@ public class SpigotWorldConfig @@ -178,4 +178,13 @@ public class SpigotWorldConfig

View File

@ -1,4 +1,4 @@
From c18ceeae093ea461e065fbea7051ab0917bf29dd Mon Sep 17 00:00:00 2001 From dd5a9e11c5991ac7ffc5f7fec36058d353ca9418 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,10 +6,10 @@ 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 1891308..fe846af 100644 index 0e5bf6c..1276ec4 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
@@ -1067,7 +1067,14 @@ public abstract class PlayerList { @@ -1061,7 +1061,14 @@ public abstract class PlayerList {
public void r() { public void r() {
while (!this.players.isEmpty()) { while (!this.players.isEmpty()) {

View File

@ -1,4 +1,4 @@
From 6257069117c3870c0b8640386252867a3f4f5c0a Mon Sep 17 00:00:00 2001 From d16b6fed78847a022e2898b61512adc00a86f6ac 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.
@ -6,7 +6,7 @@ Subject: [PATCH] Implement SpawnerSpawnEvent.
Adds BUKKIT-267 Adds BUKKIT-267
diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
index 4ba4735..d860c88 100644 index 108b375..4edd5e3 100644
--- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java --- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
+++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
@@ -5,7 +5,11 @@ import java.util.Collection; @@ -5,7 +5,11 @@ import java.util.Collection;
@ -30,13 +30,13 @@ index 4ba4735..d860c88 100644
+ // CraftBukkit start - call SpawnerSpawnEvent, abort if cancelled + // CraftBukkit start - call SpawnerSpawnEvent, abort if cancelled
+ SpawnerSpawnEvent event = CraftEventFactory.callSpawnerSpawnEvent(entity, this.b(), this.c(), this.d()); + SpawnerSpawnEvent event = CraftEventFactory.callSpawnerSpawnEvent(entity, this.b(), this.c(), this.d());
+ if (!event.isCancelled()) { + if (!event.isCancelled()) {
+ entity.world.addEntity(entity, CreatureSpawnEvent.SpawnReason.SPAWNER); + entity.world.addEntity(entity, CreatureSpawnEvent.SpawnReason.SPAWNER); // CraftBukkit
+ } + }
+ // CraftBukkit end + // CraftBukkit end
} }
NBTTagCompound nbttagcompound1; NBTTagCompound nbttagcompound1;
@@ -150,6 +159,12 @@ public abstract class MobSpawnerAbstract { @@ -150,6 +159,11 @@ public abstract class MobSpawnerAbstract {
entity2.f(nbttagcompound2); entity2.f(nbttagcompound2);
entity2.setPositionRotation(entity1.locX, entity1.locY, entity1.locZ, entity1.yaw, entity1.pitch); entity2.setPositionRotation(entity1.locX, entity1.locY, entity1.locZ, entity1.yaw, entity1.pitch);
@ -45,29 +45,28 @@ index 4ba4735..d860c88 100644
+ if (event.isCancelled()) { + if (event.isCancelled()) {
+ continue; + continue;
+ } + }
+ // CraftBukkit end if (entity.world != null) {
this.a().addEntity(entity2, CreatureSpawnEvent.SpawnReason.SPAWNER); // CraftBukkit); entity.world.addEntity(entity2, CreatureSpawnEvent.SpawnReason.SPAWNER); // CraftBukkit
entity1.mount(entity2); }
} @@ -161,7 +175,12 @@ public abstract class MobSpawnerAbstract {
@@ -158,7 +173,12 @@ public abstract class MobSpawnerAbstract {
} }
} else if (entity instanceof EntityLiving && entity.world != null) { } else if (entity instanceof EntityLiving && entity.world != null) {
((EntityLiving) entity).bJ(); ((EntityInsentient) entity).a((GroupDataEntity) null);
- this.a().addEntity(entity, CreatureSpawnEvent.SpawnReason.SPAWNER); // CraftBukkit); - this.a().addEntity(entity, CreatureSpawnEvent.SpawnReason.SPAWNER); // CraftBukkit
+ // CraftBukkit start - call SpawnerSpawnEvent, abort if cancelled + // CraftBukkit start - call SpawnerSpawnEvent, abort if cancelled
+ SpawnerSpawnEvent event = CraftEventFactory.callSpawnerSpawnEvent(entity, this.b(), this.c(), this.d()); + SpawnerSpawnEvent event = CraftEventFactory.callSpawnerSpawnEvent(entity, this.b(), this.c(), this.d());
+ if (!event.isCancelled()) { + if (!event.isCancelled()) {
+ this.a().addEntity(entity, CreatureSpawnEvent.SpawnReason.SPAWNER); + this.a().addEntity(entity, CreatureSpawnEvent.SpawnReason.SPAWNER); // CraftBukkit
+ } + }
+ // CraftBukkit end + // CraftBukkit end
} }
return entity; return entity;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 2b56c75..4ba43a0 100644 index 9986b7a..b026e54 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -34,6 +34,7 @@ import org.bukkit.Material; @@ -35,6 +35,7 @@ import org.bukkit.Material;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.block.BlockFace; import org.bukkit.block.BlockFace;
import org.bukkit.block.BlockState; import org.bukkit.block.BlockState;
@ -75,7 +74,7 @@ index 2b56c75..4ba43a0 100644
import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.CraftWorld; import org.bukkit.craftbukkit.CraftWorld;
import org.bukkit.craftbukkit.block.CraftBlock; import org.bukkit.craftbukkit.block.CraftBlock;
@@ -115,6 +116,22 @@ public class CraftEventFactory { @@ -116,6 +117,22 @@ public class CraftEventFactory {
} }
/** /**

View File

@ -1,14 +1,14 @@
From ba0018601961308c4c4213daaeef9c23e62ef37f Mon Sep 17 00:00:00 2001 From ae268b91679cfb9c2fc4d94e095cd01ba4d6bcba 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 17:53:03 +1000 Date: Fri, 21 Jun 2013 17:53:03 +1000
Subject: [PATCH] Enable Foreign Language Signs Subject: [PATCH] Enable Foreign Language Signs
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 8deba1b..998ac8d 100644 index e5937fc..1422d67 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java --- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1559,7 +1559,7 @@ public class PlayerConnection extends Connection { @@ -1578,7 +1578,7 @@ public class PlayerConnection extends Connection {
flag = false; flag = false;
} else { } else {
for (i = 0; i < packet130updatesign.lines[j].length(); ++i) { for (i = 0; i < packet130updatesign.lines[j].length(); ++i) {

View File

@ -1,18 +1,18 @@
From 2ccdffc75467d7bca0ae9cf2f92f9441a0aa1459 Mon Sep 17 00:00:00 2001 From 6c60d0e5cb8690f7a022ff2bc24731a7e4a43891 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 17:59:22 +1000 Date: Fri, 21 Jun 2013 17:59:22 +1000
Subject: [PATCH] Spam Filter Exclusions Subject: [PATCH] Spam Filter Exclusions
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 998ac8d..03e0e1c 100644 index 1422d67..fc174b2 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java --- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -846,7 +846,17 @@ public class PlayerConnection extends Connection { @@ -858,7 +858,17 @@ public class PlayerConnection extends Connection {
this.chat(s, packet3chat.a_()); this.chat(s, packet3chat.a_());
// This section stays because it is only applicable to packets // This section stays because it is only applicable to packets
- if (chatSpamField.addAndGet(this, 20) > 200 && !this.minecraftServer.getPlayerList().isOp(this.player.name)) { // CraftBukkit use thread-safe spam - if (chatSpamField.addAndGet(this, 20) > 200 && !this.minecraftServer.getPlayerList().isOp(this.player.getName())) { // CraftBukkit use thread-safe spam
+ // Spigot - spam exclusions + // Spigot - spam exclusions
+ boolean counted = true; + boolean counted = true;
+ for ( String exclude : org.spigotmc.SpigotConfig.spamExclusions ) + for ( String exclude : org.spigotmc.SpigotConfig.spamExclusions )
@ -23,7 +23,7 @@ index 998ac8d..03e0e1c 100644
+ break; + break;
+ } + }
+ } + }
+ if (counted && chatSpamField.addAndGet(this, 20) > 200 && !this.minecraftServer.getPlayerList().isOp(this.player.name)) { // CraftBukkit use thread-safe spam + if (counted && chatSpamField.addAndGet(this, 20) > 200 && !this.minecraftServer.getPlayerList().isOp(this.player.getName())) { // CraftBukkit use thread-safe spam
if (packet3chat.a_()) { if (packet3chat.a_()) {
Waitable waitable = new Waitable() { Waitable waitable = new Waitable() {
@Override @Override

View File

@ -1,14 +1,14 @@
From f7c4774dfba4058a1c67d8d99589396abee5958b Mon Sep 17 00:00:00 2001 From b2fb1342018352db6b72d88ed4891ef0f4fd5808 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
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 03e0e1c..be44514 100644 index fc174b2..c2a9878 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java --- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -979,7 +979,12 @@ public class PlayerConnection extends Connection { @@ -991,7 +991,12 @@ public class PlayerConnection extends Connection {
} }
try { try {

View File

@ -1,14 +1,14 @@
From 2c4c883f2678a7b884bb7b135a93da0935f858a5 Mon Sep 17 00:00:00 2001 From e73fc332b824f38374b26960ec134c67a271a6f4 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
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 5866abb..9f87b0e 100644 index 039ba6e..6060288 100644
--- a/src/main/java/net/minecraft/server/World.java --- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java
@@ -2104,7 +2104,7 @@ public abstract class World implements IBlockAccess { @@ -2103,7 +2103,7 @@ public abstract class World implements IBlockAccess {
} }
this.methodProfiler.a("playerCheckLight"); this.methodProfiler.a("playerCheckLight");

View File

@ -1,24 +1,24 @@
From 73fe7ed8c117bbdb3ee02a5a0f336fc5adeea12e Mon Sep 17 00:00:00 2001 From 22b6fb72ab5ba663f138f46bab8fba97ee194286 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, 25 Jun 2013 18:09:26 +1000 Date: Tue, 25 Jun 2013 18:09:26 +1000
Subject: [PATCH] Always Fire PreLoginEvent Subject: [PATCH] Always Fire PreLoginEvent
diff --git a/src/main/java/net/minecraft/server/PendingConnection.java b/src/main/java/net/minecraft/server/PendingConnection.java diff --git a/src/main/java/net/minecraft/server/PendingConnection.java b/src/main/java/net/minecraft/server/PendingConnection.java
index e78781e..3f4c311 100644 index 6308331..7984666 100644
--- a/src/main/java/net/minecraft/server/PendingConnection.java --- a/src/main/java/net/minecraft/server/PendingConnection.java
+++ b/src/main/java/net/minecraft/server/PendingConnection.java +++ b/src/main/java/net/minecraft/server/PendingConnection.java
@@ -105,7 +105,7 @@ public class PendingConnection extends Connection { @@ -110,7 +110,7 @@ public class PendingConnection extends Connection {
}
public void a(Packet205ClientCommand packet205clientcommand) { this.j = true;
if (packet205clientcommand.a == 0) {
- if (this.server.getOnlineMode()) { - if (this.server.getOnlineMode()) {
+ if (true) { // Spigot - Always fire + if (true) { // Spigot - Always fire
if (this.j) { (new ThreadLoginVerifier(this, server.server)).start(); // CraftBukkit - add CraftServer
this.disconnect("Duplicate login"); } else {
return; this.h = true;
diff --git a/src/main/java/net/minecraft/server/ThreadLoginVerifier.java b/src/main/java/net/minecraft/server/ThreadLoginVerifier.java diff --git a/src/main/java/net/minecraft/server/ThreadLoginVerifier.java b/src/main/java/net/minecraft/server/ThreadLoginVerifier.java
index 496cfe4..44ea39e 100644 index 5e45cae..70f9fea 100644
--- a/src/main/java/net/minecraft/server/ThreadLoginVerifier.java --- a/src/main/java/net/minecraft/server/ThreadLoginVerifier.java
+++ b/src/main/java/net/minecraft/server/ThreadLoginVerifier.java +++ b/src/main/java/net/minecraft/server/ThreadLoginVerifier.java
@@ -27,24 +27,29 @@ class ThreadLoginVerifier extends Thread { @@ -27,24 +27,29 @@ class ThreadLoginVerifier extends Thread {
@ -26,9 +26,9 @@ index 496cfe4..44ea39e 100644
} }
+ private boolean auth() throws java.io.IOException { + private boolean auth() throws java.io.IOException {
+ String s = (new BigInteger(MinecraftEncryption.a(PendingConnection.a(this.pendingConnection), PendingConnection.b(this.pendingConnection).F().getPublic(), PendingConnection.c(this.pendingConnection)))).toString(16); + String s = (new BigInteger(MinecraftEncryption.a(PendingConnection.a(this.pendingConnection), PendingConnection.b(this.pendingConnection).H().getPublic(), PendingConnection.c(this.pendingConnection)))).toString(16);
+ URL url = new URL("http://session.minecraft.net/game/checkserver.jsp?user=" + URLEncoder.encode(PendingConnection.d(this.pendingConnection), "UTF-8") + "&serverId=" + URLEncoder.encode(s, "UTF-8")); + URL url = new URL("http://session.minecraft.net/game/checkserver.jsp?user=" + URLEncoder.encode(PendingConnection.d(this.pendingConnection), "UTF-8") + "&serverId=" + URLEncoder.encode(s, "UTF-8"));
+ BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(url.openStream())); + BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(url.openConnection(PendingConnection.b(this.pendingConnection).ap()).getInputStream()));
+ String s1 = bufferedreader.readLine(); + String s1 = bufferedreader.readLine();
+ +
+ bufferedreader.close(); + bufferedreader.close();
@ -47,9 +47,9 @@ index 496cfe4..44ea39e 100644
public void run() { public void run() {
try { try {
if (org.spigotmc.SpamHaus.filterIp(pendingConnection)) return; // Spigot if (org.spigotmc.SpamHaus.filterIp(pendingConnection)) return; // Spigot
- String s = (new BigInteger(MinecraftEncryption.a(PendingConnection.a(this.pendingConnection), PendingConnection.b(this.pendingConnection).F().getPublic(), PendingConnection.c(this.pendingConnection)))).toString(16); - String s = (new BigInteger(MinecraftEncryption.a(PendingConnection.a(this.pendingConnection), PendingConnection.b(this.pendingConnection).H().getPublic(), PendingConnection.c(this.pendingConnection)))).toString(16);
- URL url = new URL("http://session.minecraft.net/game/checkserver.jsp?user=" + URLEncoder.encode(PendingConnection.d(this.pendingConnection), "UTF-8") + "&serverId=" + URLEncoder.encode(s, "UTF-8")); - URL url = new URL("http://session.minecraft.net/game/checkserver.jsp?user=" + URLEncoder.encode(PendingConnection.d(this.pendingConnection), "UTF-8") + "&serverId=" + URLEncoder.encode(s, "UTF-8"));
- BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(url.openStream())); - BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(url.openConnection(PendingConnection.b(this.pendingConnection).ap()).getInputStream()));
- String s1 = bufferedreader.readLine(); - String s1 = bufferedreader.readLine();
- -
- bufferedreader.close(); - bufferedreader.close();

View File

@ -1,4 +1,4 @@
From 7a8b5c8e972137ad02eb50e9ce7da758dab61d99 Mon Sep 17 00:00:00 2001 From 2868feb3889d95d778dcaec82889cd0cad10f0a5 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
@ -6,7 +6,7 @@ Subject: [PATCH] Properly Close Inventories
Properly close inventories when unloading and switching worlds. 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 diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
index e8d30c5..4879db6 100644 index 04cb6fb..34d07f2 100644
--- a/src/main/java/net/minecraft/server/Chunk.java --- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -690,6 +690,15 @@ public class Chunk { @@ -690,6 +690,15 @@ public class Chunk {
@ -42,13 +42,13 @@ index e8d30c5..4879db6 100644
// Do not pass along players, as doing so can get them stuck outside of time. // Do not pass along players, as doing so can get them stuck outside of time.
// (which for example disables inventory icon updates and prevents block breaking) // (which for example disables inventory icon updates and prevents block breaking)
diff --git a/src/main/java/net/minecraft/server/EntityMinecartContainer.java b/src/main/java/net/minecraft/server/EntityMinecartContainer.java diff --git a/src/main/java/net/minecraft/server/EntityMinecartContainer.java b/src/main/java/net/minecraft/server/EntityMinecartContainer.java
index c207076..8f9f558 100644 index e89b106..f58cd7e 100644
--- a/src/main/java/net/minecraft/server/EntityMinecartContainer.java --- a/src/main/java/net/minecraft/server/EntityMinecartContainer.java
+++ b/src/main/java/net/minecraft/server/EntityMinecartContainer.java +++ b/src/main/java/net/minecraft/server/EntityMinecartContainer.java
@@ -149,6 +149,12 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp @@ -149,6 +149,12 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp
} }
public void c(int i) { public void b(int i) {
+ // Spigot Start + // Spigot Start
+ for ( HumanEntity human : new java.util.ArrayList<HumanEntity>( transaction ) ) + for ( HumanEntity human : new java.util.ArrayList<HumanEntity>( transaction ) )
+ { + {
@ -56,7 +56,7 @@ index c207076..8f9f558 100644
+ } + }
+ // Spigot End + // Spigot End
this.b = false; this.b = false;
super.c(i); super.b(i);
} }
-- --
1.8.1.2 1.8.1.2

View File

@ -1,14 +1,14 @@
From 91608f72be55d36c57c22e85b4740c23f129a735 Mon Sep 17 00:00:00 2001 From a8399a4077723881c4dc54d714ef746f706b6c7d 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
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index be44514..f5544a3 100644 index c2a9878..6bfc289 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java --- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1091,6 +1091,13 @@ public class PlayerConnection extends Connection { @@ -1109,6 +1109,13 @@ public class PlayerConnection extends Connection {
WorldServer worldserver = this.minecraftServer.getWorldServer(this.player.dimension); WorldServer worldserver = this.minecraftServer.getWorldServer(this.player.dimension);
Entity entity = worldserver.getEntity(packet7useentity.target); Entity entity = worldserver.getEntity(packet7useentity.target);
@ -21,7 +21,7 @@ index be44514..f5544a3 100644
+ // Spigot End + // Spigot End
if (entity != null) { if (entity != null) {
boolean flag = this.player.n(entity); boolean flag = this.player.o(entity);
-- --
1.8.1.2 1.8.1.2