Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-11-14 20:10:05 +01:00
Update Paper to MC 1.11
Dieser Commit ist enthalten in:
Ursprung
6c1880847f
Commit
a6d146a939
@ -1,11 +1,11 @@
|
||||
From d2964723ffed5f0bbf1fef361f554666b43d53e7 Mon Sep 17 00:00:00 2001
|
||||
From b3731bee34a4bb6ddd06bc47e1b0c9631aabcec9 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Mon, 29 Feb 2016 17:16:08 -0600
|
||||
Subject: [PATCH] POM changes
|
||||
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 217ce0b..8f0fb79 100644
|
||||
index 2ccc205..1ce6a91 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -4,35 +4,37 @@
|
||||
@ -24,7 +24,7 @@ index 217ce0b..8f0fb79 100644
|
||||
- <artifactId>spigot-api</artifactId>
|
||||
+ <groupId>com.destroystokyo.paper</groupId>
|
||||
+ <artifactId>paper-api</artifactId>
|
||||
<version>1.10.2-R0.1-SNAPSHOT</version>
|
||||
<version>1.11-R0.1-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
- <name>Spigot-API</name>
|
||||
@ -101,7 +101,7 @@ index 217ce0b..8f0fb79 100644
|
||||
<plugin>
|
||||
- <groupId>org.codehaus.mojo</groupId>
|
||||
- <artifactId>animal-sniffer-maven-plugin</artifactId>
|
||||
- <version>1.14</version>
|
||||
- <version>1.15</version>
|
||||
- <executions>
|
||||
- <execution>
|
||||
- <phase>process-classes</phase>
|
||||
@ -121,7 +121,7 @@ index 217ce0b..8f0fb79 100644
|
||||
- <plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>2.4.1</version>
|
||||
<version>2.4.3</version>
|
||||
--
|
||||
2.10.2
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 3a72f5e0b411d51cf5ec7263a22466214012d08f Mon Sep 17 00:00:00 2001
|
||||
From 814fcd79c37cf32b74eb3a231ba4ff8e71d58c0a Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 29 Feb 2016 18:48:17 -0600
|
||||
Subject: [PATCH] Timings v2
|
||||
@ -2888,7 +2888,7 @@ index 0000000..3a288d2
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index dc2c9d1..85fd9a8 100644
|
||||
index 5d8422e..ac8b0f5 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -537,7 +537,6 @@ public final class Bukkit {
|
||||
@ -2900,10 +2900,10 @@ index dc2c9d1..85fd9a8 100644
|
||||
|
||||
/**
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 69720e9..f82cbaf 100644
|
||||
index c5c3506..3cc741b 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -942,12 +942,27 @@ public interface Server extends PluginMessageRecipient {
|
||||
@@ -925,12 +925,27 @@ public interface Server extends PluginMessageRecipient {
|
||||
|
||||
public class Spigot
|
||||
{
|
||||
@ -2933,7 +2933,7 @@ index 69720e9..f82cbaf 100644
|
||||
* Sends the component to the player
|
||||
*
|
||||
diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java
|
||||
index ffbe5dd..4c86694 100644
|
||||
index 08a9739..347d218 100644
|
||||
--- a/src/main/java/org/bukkit/command/Command.java
|
||||
+++ b/src/main/java/org/bukkit/command/Command.java
|
||||
@@ -32,7 +32,8 @@ public abstract class Command {
|
||||
@ -2954,7 +2954,7 @@ index ffbe5dd..4c86694 100644
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -250,7 +250,6 @@ public abstract class Command {
|
||||
@@ -235,7 +235,6 @@ public abstract class Command {
|
||||
public boolean setLabel(String name) {
|
||||
this.nextLabel = name;
|
||||
if (!isRegistered()) {
|
||||
@ -3656,5 +3656,5 @@ index 8d98297..7e89b97 100644
|
||||
- }
|
||||
}
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 5c2caa3ee27bbd84914df4a001cfb7bcb528b3a2 Mon Sep 17 00:00:00 2001
|
||||
From 10486c5a17f63eecf703a772acd168b74c0f6d40 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 29 Feb 2016 17:24:57 -0600
|
||||
Subject: [PATCH] Add getTPS method
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index 85fd9a8..8d602a3 100644
|
||||
index ac8b0f5..86102a6 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -1140,6 +1140,14 @@ public final class Bukkit {
|
||||
@@ -1121,6 +1121,14 @@ public final class Bukkit {
|
||||
}
|
||||
|
||||
/**
|
||||
@ -24,10 +24,10 @@ index 85fd9a8..8d602a3 100644
|
||||
* @return the unsafe values instance
|
||||
*/
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index f82cbaf..6e23b0c 100644
|
||||
index 3cc741b..1e65835 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -934,6 +934,13 @@ public interface Server extends PluginMessageRecipient {
|
||||
@@ -917,6 +917,13 @@ public interface Server extends PluginMessageRecipient {
|
||||
BossBar createBossBar(String title, BarColor color, BarStyle style, BarFlag ...flags);
|
||||
|
||||
/**
|
||||
@ -42,5 +42,5 @@ index f82cbaf..6e23b0c 100644
|
||||
* @return the unsafe values instance
|
||||
*/
|
||||
--
|
||||
2.9.2.windows.1
|
||||
2.10.2
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
From e4b1bdd2b710c3c09c0ba4946bf8a313c4f4296d Mon Sep 17 00:00:00 2001
|
||||
From a6fae8f6ab073c9006b14b039aebbf7e1d64e242 Mon Sep 17 00:00:00 2001
|
||||
From: kashike <kashike@vq.lc>
|
||||
Date: Mon, 29 Feb 2016 19:48:59 -0600
|
||||
Subject: [PATCH] Expose server CommandMap
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index 8d602a3..b6a0b40 100644
|
||||
index 86102a6..5b0441a 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -17,10 +17,7 @@ import org.bukkit.boss.BarColor;
|
||||
@ -20,7 +20,7 @@ index 8d602a3..b6a0b40 100644
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
@@ -1156,6 +1153,17 @@ public final class Bukkit {
|
||||
@@ -1137,6 +1134,17 @@ public final class Bukkit {
|
||||
return server.getUnsafe();
|
||||
}
|
||||
|
||||
@ -39,7 +39,7 @@ index 8d602a3..b6a0b40 100644
|
||||
{
|
||||
return server.spigot();
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 6e23b0c..a1ce356 100644
|
||||
index 1e65835..de22136 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -17,10 +17,7 @@ import org.bukkit.boss.BarColor;
|
||||
@ -54,7 +54,7 @@ index 6e23b0c..a1ce356 100644
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
@@ -940,6 +937,14 @@ public interface Server extends PluginMessageRecipient {
|
||||
@@ -923,6 +920,14 @@ public interface Server extends PluginMessageRecipient {
|
||||
*/
|
||||
public double[] getTPS();
|
||||
|
||||
@ -70,5 +70,5 @@ index 6e23b0c..a1ce356 100644
|
||||
* @see UnsafeValues
|
||||
* @return the unsafe values instance
|
||||
--
|
||||
2.9.2.windows.1
|
||||
2.10.2
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f0041900182f286ab91e23bd1c3dac326d165510 Mon Sep 17 00:00:00 2001
|
||||
From 8674a30c6579a14d5b0be4b545d2fb296eb9a3eb Mon Sep 17 00:00:00 2001
|
||||
From: William <admin@domnian.com>
|
||||
Date: Fri, 18 Mar 2016 03:28:07 -0400
|
||||
Subject: [PATCH] Add command to reload permissions.yml and require confirm to
|
||||
@ -6,10 +6,10 @@ Subject: [PATCH] Add command to reload permissions.yml and require confirm to
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index 5b37396..b01cd7d 100644
|
||||
index 5265d68..28a54fd 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -1182,6 +1182,13 @@ public final class Bukkit {
|
||||
@@ -1163,6 +1163,13 @@ public final class Bukkit {
|
||||
public static CommandMap getCommandMap() {
|
||||
return server.getCommandMap();
|
||||
}
|
||||
@ -24,10 +24,10 @@ index 5b37396..b01cd7d 100644
|
||||
|
||||
public static Server.Spigot spigot()
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 309fa3f..b527372 100644
|
||||
index c8d209e..4d82c6f 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -1018,4 +1018,6 @@ public interface Server extends PluginMessageRecipient {
|
||||
@@ -1001,4 +1001,6 @@ public interface Server extends PluginMessageRecipient {
|
||||
}
|
||||
|
||||
Spigot spigot();
|
||||
@ -105,5 +105,5 @@ index 1302773..9ce0a5d 100644
|
||||
+
|
||||
}
|
||||
--
|
||||
2.10.1.windows.1
|
||||
2.10.2
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 1ec57a41072c805aeeb8efb10cac8b4738cb4aab Mon Sep 17 00:00:00 2001
|
||||
From 2ab72f61fd122921fba37d85ee45181482a8b1bc Mon Sep 17 00:00:00 2001
|
||||
From: DemonWav <demonwav@gmail.com>
|
||||
Date: Wed, 30 Mar 2016 01:19:51 -0500
|
||||
Subject: [PATCH] Add getEntity by UUID API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index b01cd7d..3161b87 100644
|
||||
index 28a54fd..152f1d1 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -1189,6 +1189,16 @@ public final class Bukkit {
|
||||
@@ -1170,6 +1170,16 @@ public final class Bukkit {
|
||||
public static void reloadPermissions() {
|
||||
server.reloadPermissions();
|
||||
}
|
||||
@ -26,10 +26,10 @@ index b01cd7d..3161b87 100644
|
||||
|
||||
public static Server.Spigot spigot()
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index b527372..edf0d04 100644
|
||||
index 4d82c6f..4b56131 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -1020,4 +1020,12 @@ public interface Server extends PluginMessageRecipient {
|
||||
@@ -1003,4 +1003,12 @@ public interface Server extends PluginMessageRecipient {
|
||||
Spigot spigot();
|
||||
|
||||
void reloadPermissions(); // Paper
|
||||
@ -43,5 +43,5 @@ index b527372..edf0d04 100644
|
||||
+ Entity getEntity(UUID uuid); // Paper
|
||||
}
|
||||
--
|
||||
2.9.2.windows.1
|
||||
2.10.2
|
||||
|
||||
|
@ -1,24 +1,19 @@
|
||||
From e9878408be4b8c493c04fa5adcd9c2c7fcd4297c Mon Sep 17 00:00:00 2001
|
||||
From eb18a4b30a1eabbbac206684cb0fe901ce78a5c0 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Fri, 22 Apr 2016 01:43:11 -0500
|
||||
Subject: [PATCH] EntityRegainHealthEvent isFastRegen API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/event/entity/EntityRegainHealthEvent.java b/src/main/java/org/bukkit/event/entity/EntityRegainHealthEvent.java
|
||||
index a7b3517..703520f 100644
|
||||
index c7e9ba6..3ffc727 100644
|
||||
--- a/src/main/java/org/bukkit/event/entity/EntityRegainHealthEvent.java
|
||||
+++ b/src/main/java/org/bukkit/event/entity/EntityRegainHealthEvent.java
|
||||
@@ -13,6 +13,7 @@ public class EntityRegainHealthEvent extends EntityEvent implements Cancellable
|
||||
@@ -13,12 +13,31 @@ public class EntityRegainHealthEvent extends EntityEvent implements Cancellable
|
||||
private boolean cancelled;
|
||||
private double amount;
|
||||
private final RegainReason regainReason;
|
||||
+ private final boolean isFastRegen; // Paper
|
||||
|
||||
@Deprecated
|
||||
public EntityRegainHealthEvent(final Entity entity, final int amount, final RegainReason regainReason) {
|
||||
@@ -20,10 +21,28 @@ public class EntityRegainHealthEvent extends EntityEvent implements Cancellable
|
||||
}
|
||||
|
||||
public EntityRegainHealthEvent(final Entity entity, final double amount, final RegainReason regainReason) {
|
||||
+ // Paper start - Forward
|
||||
+ this(entity, amount, regainReason, false);
|
||||
@ -46,5 +41,5 @@ index a7b3517..703520f 100644
|
||||
/**
|
||||
* Gets the amount of regained health
|
||||
--
|
||||
2.9.2.windows.1
|
||||
2.10.2
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
From 888d6c40c7160d46ca8a0f64c5c0eda4129a841a Mon Sep 17 00:00:00 2001
|
||||
From ef4a8ce2c0397b24187bd98015ccc83c33f14062 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Mon, 29 Feb 2016 20:40:33 -0600
|
||||
Subject: [PATCH] POM Changes
|
||||
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 5dfa5b6..4ae34c8 100644
|
||||
index 165863b..87f438c 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -1,12 +1,12 @@
|
||||
@ -17,7 +17,7 @@ index 5dfa5b6..4ae34c8 100644
|
||||
+ <groupId>com.destroystokyo.paper</groupId>
|
||||
+ <artifactId>paper</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<version>1.10.2-R0.1-SNAPSHOT</version>
|
||||
<version>1.11-R0.1-SNAPSHOT</version>
|
||||
- <name>Spigot</name>
|
||||
- <url>http://www.spigotmc.org</url>
|
||||
+ <name>Paper</name>
|
||||
@ -25,10 +25,10 @@ index 5dfa5b6..4ae34c8 100644
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
@@ -15,21 +15,22 @@
|
||||
<minecraft_version>1_10_R1</minecraft_version>
|
||||
@@ -16,21 +16,22 @@
|
||||
<buildtag.prefix>git-Bukkit-</buildtag.prefix>
|
||||
<buildtag.suffix></buildtag.suffix>
|
||||
<maven.build.timestamp.format>yyyyMMdd-HHmm</maven.build.timestamp.format>
|
||||
- <maven.compiler.source>1.6</maven.compiler.source>
|
||||
- <maven.compiler.target>1.6</maven.compiler.target>
|
||||
+ <!--Paper - Bump to 1.8 - This will haunt me -->
|
||||
@ -54,7 +54,7 @@ index 5dfa5b6..4ae34c8 100644
|
||||
<version>${project.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
@@ -93,34 +94,22 @@
|
||||
@@ -94,34 +95,22 @@
|
||||
|
||||
<!-- This builds a completely 'ready to start' jar with all dependencies inside -->
|
||||
<build>
|
||||
@ -100,9 +100,9 @@ index 5dfa5b6..4ae34c8 100644
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
@@ -130,11 +119,12 @@
|
||||
@@ -131,11 +120,12 @@
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<version>2.6</version>
|
||||
<version>3.0.2</version>
|
||||
<configuration>
|
||||
+ <forceCreation>true</forceCreation> <!-- Required to prevent shading the jar multiple times -->
|
||||
<archive>
|
||||
@ -111,16 +111,16 @@ index 5dfa5b6..4ae34c8 100644
|
||||
<Implementation-Title>CraftBukkit</Implementation-Title>
|
||||
- <Implementation-Version>${spigot.desc}${craftbukkit.desc}</Implementation-Version>
|
||||
+ <Implementation-Version>${describe}</Implementation-Version>
|
||||
<Implementation-Vendor>Bukkit Team</Implementation-Vendor>
|
||||
<Implementation-Vendor>${maven.build.timestamp}</Implementation-Vendor>
|
||||
<Specification-Title>Bukkit</Specification-Title>
|
||||
<Specification-Version>${api.version}</Specification-Version>
|
||||
@@ -164,26 +154,6 @@
|
||||
@@ -165,26 +155,6 @@
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
- <groupId>org.codehaus.mojo</groupId>
|
||||
- <artifactId>animal-sniffer-maven-plugin</artifactId>
|
||||
- <version>1.14</version>
|
||||
- <version>1.15</version>
|
||||
- <executions>
|
||||
- <execution>
|
||||
- <phase>process-classes</phase>
|
||||
@ -140,8 +140,8 @@ index 5dfa5b6..4ae34c8 100644
|
||||
- <plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>2.4.1</version>
|
||||
@@ -194,11 +164,13 @@
|
||||
<version>2.4.3</version>
|
||||
@@ -195,11 +165,13 @@
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
@ -159,7 +159,7 @@ index 5dfa5b6..4ae34c8 100644
|
||||
<relocation>
|
||||
<pattern>jline</pattern>
|
||||
<shadedPattern>org.bukkit.craftbukkit.libs.jline</shadedPattern>
|
||||
@@ -232,20 +204,6 @@
|
||||
@@ -238,20 +210,6 @@
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<!-- versions after this appear to be broken -->
|
||||
<version>3.1</version>
|
||||
@ -194,5 +194,5 @@ index 9304637..674096c 100644
|
||||
|
||||
if (stream != null) {
|
||||
--
|
||||
2.9.0
|
||||
2.10.2
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ad312eb4160456b4bef80ad7b7984b4cdb9d609c Mon Sep 17 00:00:00 2001
|
||||
From ec03a27e95b1f53a612f33a4223a818ad61226fa Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Mon, 29 Feb 2016 21:02:09 -0600
|
||||
Subject: [PATCH] Paper config files
|
||||
@ -253,10 +253,10 @@ index 0000000..dae60dc
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
index 109d0e8..11a49a3 100644
|
||||
index 954e0f3..f01bd35 100644
|
||||
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
@@ -182,6 +182,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
@@ -183,6 +183,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
org.spigotmc.SpigotConfig.init((File) options.valueOf("spigot-settings"));
|
||||
org.spigotmc.SpigotConfig.registerCommands();
|
||||
// Spigot end
|
||||
@ -268,7 +268,7 @@ index 109d0e8..11a49a3 100644
|
||||
DedicatedServer.LOGGER.info("Generating keypair");
|
||||
this.a(MinecraftEncryption.b());
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index fcd90be..e649435 100644
|
||||
index a912719..8bd0250 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -125,6 +125,8 @@ public abstract class World implements IBlockAccess {
|
||||
@ -289,7 +289,7 @@ index fcd90be..e649435 100644
|
||||
this.world = new CraftWorld((WorldServer) this, gen, env);
|
||||
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 0658647..e7e9941 100644
|
||||
index 6f31b47..d306f62 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -694,6 +694,7 @@ public final class CraftServer implements Server {
|
||||
@ -316,10 +316,10 @@ index 0658647..e7e9941 100644
|
||||
overrideAllCommandBlockCommands = commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
index 337aa29..979adad 100644
|
||||
index f7637a9..11bc824 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -122,6 +122,14 @@ public class Main {
|
||||
@@ -126,6 +126,14 @@ public class Main {
|
||||
.defaultsTo(new File("spigot.yml"))
|
||||
.describedAs("Yml file");
|
||||
// Spigot End
|
||||
@ -335,5 +335,5 @@ index 337aa29..979adad 100644
|
||||
};
|
||||
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From bd8f9fe1de9b9e80ac852d851b6f7d58aecfec55 Mon Sep 17 00:00:00 2001
|
||||
From 3feb3accfd0afbeb9d2896bf9f1561dab0959fb7 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 30 Mar 2016 19:36:20 -0400
|
||||
Subject: [PATCH] MC Dev fixes
|
||||
@ -18,7 +18,7 @@ index f02fc60..d60e755 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java
|
||||
index 059c96f..ab04f9c 100644
|
||||
index e62df5c..62a338e 100644
|
||||
--- a/src/main/java/net/minecraft/server/BiomeBase.java
|
||||
+++ b/src/main/java/net/minecraft/server/BiomeBase.java
|
||||
@@ -49,7 +49,7 @@ public abstract class BiomeBase {
|
||||
@ -44,19 +44,37 @@ index 71524f2..288c52c 100644
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/CommandAbstract.java b/src/main/java/net/minecraft/server/CommandAbstract.java
|
||||
index 7876457..20572d4 100644
|
||||
index fe74068..b669884 100644
|
||||
--- a/src/main/java/net/minecraft/server/CommandAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/CommandAbstract.java
|
||||
@@ -212,7 +212,7 @@ public abstract class CommandAbstract implements ICommand {
|
||||
@@ -223,7 +223,7 @@ public abstract class CommandAbstract implements ICommand {
|
||||
}
|
||||
|
||||
if (object != null && oclass.isAssignableFrom(object.getClass())) {
|
||||
- return (Entity) object;
|
||||
+ return (T) object; // Paper - fix decompile error
|
||||
} else {
|
||||
throw new ExceptionEntityNotFound();
|
||||
throw new ExceptionEntityNotFound(s);
|
||||
}
|
||||
@@ -554,7 +554,7 @@ public abstract class CommandAbstract implements ICommand {
|
||||
@@ -440,7 +440,7 @@ public abstract class CommandAbstract implements ICommand {
|
||||
}
|
||||
|
||||
private static <T extends Comparable<T>> IBlockData a(IBlockData iblockdata, IBlockState<T> iblockstate, Comparable<?> comparable) {
|
||||
- return iblockdata.set(iblockstate, comparable);
|
||||
+ return iblockdata.set(iblockstate, (T) comparable); // Paper - fix decompiler error
|
||||
}
|
||||
|
||||
public static Predicate<IBlockData> b(final Block block, String s) throws ExceptionInvalidBlockState {
|
||||
@@ -533,7 +533,7 @@ public abstract class CommandAbstract implements ICommand {
|
||||
|
||||
@Nullable
|
||||
private static <T extends Comparable<T>> T a(IBlockState<T> iblockstate, String s) {
|
||||
- return (Comparable) iblockstate.b(s).orNull();
|
||||
+ return iblockstate.b(s).orNull(); // Paper - fix decompiler error
|
||||
}
|
||||
|
||||
public static String a(Object[] aobject) {
|
||||
@@ -684,7 +684,7 @@ public abstract class CommandAbstract implements ICommand {
|
||||
return this.getCommand().compareTo(icommand.getCommand());
|
||||
}
|
||||
|
||||
@ -65,6 +83,66 @@ index 7876457..20572d4 100644
|
||||
return this.a((ICommand) object);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java
|
||||
index dc0ffd8..ec75cf3 100644
|
||||
--- a/src/main/java/net/minecraft/server/IEntitySelector.java
|
||||
+++ b/src/main/java/net/minecraft/server/IEntitySelector.java
|
||||
@@ -61,7 +61,7 @@ public final class IEntitySelector {
|
||||
}
|
||||
|
||||
public boolean apply(@Nullable Object object) {
|
||||
- return this.a((Entity) object);
|
||||
+ return this.a((T) object); // Paper - Fix decompile error
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -71,7 +71,7 @@ public final class IEntitySelector {
|
||||
final ScoreboardTeamBase.EnumTeamPush scoreboardteambase_enumteampush = scoreboardteambase == null ? ScoreboardTeamBase.EnumTeamPush.ALWAYS : scoreboardteambase.getCollisionRule();
|
||||
|
||||
return scoreboardteambase_enumteampush == ScoreboardTeamBase.EnumTeamPush.NEVER ? Predicates.alwaysFalse() : Predicates.and(IEntitySelector.e, new Predicate() {
|
||||
- public boolean a(@Nullable Entity entity) {
|
||||
+ public boolean a(@Nullable Entity entity1) { // Paper - fix decompile error
|
||||
if (!entity.isCollidable()) {
|
||||
return false;
|
||||
} else if (entity1.world.isClientSide && (!(entity instanceof EntityHuman) || !((EntityHuman) entity).cR())) {
|
||||
@@ -83,9 +83,10 @@ public final class IEntitySelector {
|
||||
if (scoreboardteambase_enumteampush == ScoreboardTeamBase.EnumTeamPush.NEVER) {
|
||||
return false;
|
||||
} else {
|
||||
- boolean flag = scoreboardteambase1 != null && scoreboardteambase1.isAlly(scoreboardteambase);
|
||||
+ boolean flag = scoreboardteambase != null && scoreboardteambase.isAlly(scoreboardteambase); // Paper - fix decompile error
|
||||
|
||||
- return (scoreboardteambase_enumteampush1 == ScoreboardTeamBase.EnumTeamPush.HIDE_FOR_OWN_TEAM || scoreboardteambase_enumteampush == ScoreboardTeamBase.EnumTeamPush.HIDE_FOR_OWN_TEAM) && flag ? false : scoreboardteambase_enumteampush1 != ScoreboardTeamBase.EnumTeamPush.HIDE_FOR_OTHER_TEAMS && scoreboardteambase_enumteampush != ScoreboardTeamBase.EnumTeamPush.HIDE_FOR_OTHER_TEAMS || flag;
|
||||
+ // Paper - fix decompiler error
|
||||
+ return (scoreboardteambase_enumteampush == ScoreboardTeamBase.EnumTeamPush.HIDE_FOR_OWN_TEAM || scoreboardteambase_enumteampush == ScoreboardTeamBase.EnumTeamPush.HIDE_FOR_OWN_TEAM) && flag ? false : scoreboardteambase_enumteampush != ScoreboardTeamBase.EnumTeamPush.HIDE_FOR_OTHER_TEAMS && scoreboardteambase_enumteampush != ScoreboardTeamBase.EnumTeamPush.HIDE_FOR_OTHER_TEAMS || flag;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -98,10 +99,12 @@ public final class IEntitySelector {
|
||||
|
||||
public static Predicate<Entity> b(final Entity entity) {
|
||||
return new Predicate() {
|
||||
- public boolean a(@Nullable Entity entity) {
|
||||
+ public boolean a(@Nullable Entity entity1) { // Paper - fix decompile error
|
||||
while (true) {
|
||||
- if (entity.isPassenger()) {
|
||||
- entity = entity.bB();
|
||||
+ // Paper start - fix decompile error - entity -> entity1 - double check this
|
||||
+ if (entity1.isPassenger()) {
|
||||
+ entity1 = entity.bB();
|
||||
+ // Paper end
|
||||
if (entity != entity1) {
|
||||
continue;
|
||||
}
|
||||
@@ -139,7 +142,7 @@ public final class IEntitySelector {
|
||||
}
|
||||
}
|
||||
|
||||
- public boolean apply(@Nullable Object object) {
|
||||
+ public boolean apply(@Nullable Entity object) {
|
||||
return this.a((Entity) object);
|
||||
}
|
||||
}
|
||||
diff --git a/src/test/java/org/bukkit/craftbukkit/inventory/ItemFactoryTest.java b/src/test/java/org/bukkit/craftbukkit/inventory/ItemFactoryTest.java
|
||||
index f5bcbdb..3190cad 100644
|
||||
--- a/src/test/java/org/bukkit/craftbukkit/inventory/ItemFactoryTest.java
|
||||
@ -79,5 +157,5 @@ index f5bcbdb..3190cad 100644
|
||||
for (ZipEntry clazzEntry; (clazzEntry = nmsZipStream.getNextEntry()) != null; ) {
|
||||
final String entryName = clazzEntry.getName();
|
||||
--
|
||||
2.7.4 (Apple Git-66)
|
||||
2.10.2
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
From cc65e1b66b14dc2f2ef8ee68689bdee6201c1fd0 Mon Sep 17 00:00:00 2001
|
||||
From 8c8e0a712b18892ec8be649e2833253515115a00 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 3 Mar 2016 04:00:11 -0600
|
||||
Subject: [PATCH] Timings v2
|
||||
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 4ae34c8..63aaa7a 100644
|
||||
index cb22454..0de362d 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -65,6 +65,12 @@
|
||||
@@ -66,6 +66,12 @@
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
@ -143,7 +143,7 @@ index 0000000..29838de
|
||||
+}
|
||||
diff --git a/src/main/java/co/aikar/timings/TimedChunkGenerator.java b/src/main/java/co/aikar/timings/TimedChunkGenerator.java
|
||||
new file mode 100644
|
||||
index 0000000..2bf5b66
|
||||
index 0000000..b79f1be
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/co/aikar/timings/TimedChunkGenerator.java
|
||||
@@ -0,0 +1,126 @@
|
||||
@ -262,8 +262,8 @@ index 0000000..2bf5b66
|
||||
+
|
||||
+ @Override
|
||||
+ @Nullable
|
||||
+ public BlockPosition findNearestMapFeature(World world, String s, BlockPosition blockposition) {
|
||||
+ return timedGenerator.findNearestMapFeature(world, s, blockposition);
|
||||
+ public BlockPosition findNearestMapFeature(World world, String s, BlockPosition blockposition, boolean flag) {
|
||||
+ return timedGenerator.findNearestMapFeature(world, s, blockposition, flag);
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
@ -425,10 +425,10 @@ index 3d0a005..f509bed 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
|
||||
index a106e44..d17160a 100644
|
||||
index 9d14403..da86874 100644
|
||||
--- a/src/main/java/net/minecraft/server/Block.java
|
||||
+++ b/src/main/java/net/minecraft/server/Block.java
|
||||
@@ -33,6 +33,15 @@ public class Block {
|
||||
@@ -35,6 +35,15 @@ public class Block {
|
||||
protected final BlockStateList blockStateList;
|
||||
private IBlockData blockData;
|
||||
private String name;
|
||||
@ -445,7 +445,7 @@ index a106e44..d17160a 100644
|
||||
public static int getId(Block block) {
|
||||
return Block.REGISTRY.a(block); // CraftBukkit - decompile error
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index b651edc..5807bb8 100644
|
||||
index 81fc04e..bd3b160 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -900,7 +900,7 @@ public class Chunk {
|
||||
@ -493,10 +493,10 @@ index b651edc..5807bb8 100644
|
||||
|
||||
private void z() {
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 5682f03..1380815 100644
|
||||
index b39937f..17d39bb 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -194,7 +194,7 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||
@@ -195,7 +195,7 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||
}
|
||||
|
||||
public void saveChunkNOP(Chunk chunk) {
|
||||
@ -505,7 +505,7 @@ index 5682f03..1380815 100644
|
||||
this.chunkLoader.b(this.world, chunk);
|
||||
} catch (Exception exception) {
|
||||
ChunkProviderServer.a.error("Couldn\'t save entities", exception);
|
||||
@@ -203,7 +203,7 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||
@@ -204,7 +204,7 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||
}
|
||||
|
||||
public void saveChunk(Chunk chunk) {
|
||||
@ -515,10 +515,10 @@ index 5682f03..1380815 100644
|
||||
this.chunkLoader.a(this.world, chunk);
|
||||
} catch (IOException ioexception) {
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
index f604639..17dd7bb 100644
|
||||
index 15969b1..ca33899 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
@@ -394,7 +394,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
@@ -402,7 +402,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
|
||||
public void loadEntities(Chunk chunk, NBTTagCompound nbttagcompound, World world) {
|
||||
// CraftBukkit end
|
||||
@ -526,18 +526,18 @@ index f604639..17dd7bb 100644
|
||||
+ world.timings.syncChunkLoadNBTTimer.startTiming(); // Spigot
|
||||
NBTTagList nbttaglist1 = nbttagcompound.getList("Entities", 10);
|
||||
|
||||
if (nbttaglist1 != null) {
|
||||
@@ -405,8 +405,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
chunk.g(true);
|
||||
}
|
||||
for (int l = 0; l < nbttaglist1.size(); ++l) {
|
||||
@@ -411,8 +411,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
a(nbttagcompound2, world, chunk);
|
||||
chunk.g(true);
|
||||
}
|
||||
- world.timings.syncChunkLoadEntitiesTimer.stopTiming(); // Spigot
|
||||
- world.timings.syncChunkLoadTileEntitiesTimer.startTiming(); // Spigot
|
||||
NBTTagList nbttaglist2 = nbttagcompound.getList("TileEntities", 10);
|
||||
|
||||
if (nbttaglist2 != null) {
|
||||
@@ -419,8 +417,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
}
|
||||
for (int i1 = 0; i1 < nbttaglist2.size(); ++i1) {
|
||||
@@ -423,8 +421,6 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
chunk.a(tileentity);
|
||||
}
|
||||
}
|
||||
- world.timings.syncChunkLoadTileEntitiesTimer.stopTiming(); // Spigot
|
||||
@ -545,8 +545,8 @@ index f604639..17dd7bb 100644
|
||||
|
||||
if (nbttagcompound.hasKeyOfType("TileTicks", 9)) {
|
||||
NBTTagList nbttaglist3 = nbttagcompound.getList("TileTicks", 10);
|
||||
@@ -440,7 +436,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
}
|
||||
@@ -442,7 +438,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
world.b(new BlockPosition(nbttagcompound4.getInt("x"), nbttagcompound4.getInt("y"), nbttagcompound4.getInt("z")), block, nbttagcompound4.getInt("t"), nbttagcompound4.getInt("p"));
|
||||
}
|
||||
}
|
||||
- world.timings.syncChunkLoadTileTicksTimer.stopTiming(); // Spigot
|
||||
@ -555,7 +555,7 @@ index f604639..17dd7bb 100644
|
||||
// return chunk; // CraftBukkit
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
index 11a49a3..e70d5c5 100644
|
||||
index f01bd35..51d6b3e 100644
|
||||
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
@@ -23,7 +23,7 @@ import java.io.PrintStream;
|
||||
@ -567,16 +567,16 @@ index 11a49a3..e70d5c5 100644
|
||||
import org.bukkit.event.server.ServerCommandEvent;
|
||||
import org.bukkit.craftbukkit.util.Waitable;
|
||||
import org.bukkit.event.server.RemoteServerCommandEvent;
|
||||
@@ -428,7 +428,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
@@ -427,7 +427,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
}
|
||||
|
||||
public void aL() {
|
||||
public void aM() {
|
||||
- SpigotTimings.serverCommandTimer.startTiming(); // Spigot
|
||||
+ MinecraftTimings.serverCommandTimer.startTiming(); // Spigot
|
||||
while (!this.serverCommandQueue.isEmpty()) {
|
||||
ServerCommand servercommand = (ServerCommand) this.serverCommandQueue.remove(0);
|
||||
|
||||
@@ -443,7 +443,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
@@ -442,7 +442,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
// CraftBukkit end
|
||||
}
|
||||
|
||||
@ -586,7 +586,7 @@ index 11a49a3..e70d5c5 100644
|
||||
|
||||
public boolean aa() {
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 6434566..1409faa 100644
|
||||
index e148e37..e0276a6 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -24,7 +24,8 @@ import org.bukkit.block.BlockFace;
|
||||
@ -599,7 +599,7 @@ index 6434566..1409faa 100644
|
||||
import org.bukkit.event.entity.EntityCombustByEntityEvent;
|
||||
import org.bukkit.event.hanging.HangingBreakByEntityEvent;
|
||||
import org.bukkit.event.vehicle.VehicleBlockCollisionEvent;
|
||||
@@ -143,7 +144,7 @@ public abstract class Entity implements ICommandListener {
|
||||
@@ -142,7 +143,7 @@ public abstract class Entity implements ICommandListener {
|
||||
public boolean valid; // CraftBukkit
|
||||
public org.bukkit.projectiles.ProjectileSource projectileSource; // CraftBukkit - For projectiles only
|
||||
public boolean forceExplosionKnockback; // CraftBukkit - SPIGOT-949
|
||||
@ -608,15 +608,15 @@ index 6434566..1409faa 100644
|
||||
// Spigot start
|
||||
public final byte activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this);
|
||||
public final boolean defaultActivationState;
|
||||
@@ -467,7 +468,6 @@ public abstract class Entity implements ICommandListener {
|
||||
@@ -471,7 +472,6 @@ public abstract class Entity implements ICommandListener {
|
||||
}
|
||||
|
||||
public void move(double d0, double d1, double d2) {
|
||||
public void move(EnumMoveType enummovetype, double d0, double d1, double d2) {
|
||||
- org.bukkit.craftbukkit.SpigotTimings.entityMoveTimer.startTiming(); // Spigot
|
||||
if (this.noclip) {
|
||||
this.a(this.getBoundingBox().c(d0, d1, d2));
|
||||
this.a(this.getBoundingBox().d(d0, d1, d2));
|
||||
this.recalcPosition();
|
||||
@@ -805,7 +805,6 @@ public abstract class Entity implements ICommandListener {
|
||||
@@ -820,7 +820,6 @@ public abstract class Entity implements ICommandListener {
|
||||
|
||||
this.world.methodProfiler.b();
|
||||
}
|
||||
@ -625,10 +625,10 @@ index 6434566..1409faa 100644
|
||||
|
||||
public void recalcPosition() {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 365b61d..0a583bc 100644
|
||||
index 0fbec05..c19bf3a 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -26,7 +26,7 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
||||
@@ -31,7 +31,7 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
||||
import org.bukkit.event.player.PlayerItemConsumeEvent;
|
||||
// CraftBukkit end
|
||||
|
||||
@ -637,15 +637,15 @@ index 365b61d..0a583bc 100644
|
||||
|
||||
public abstract class EntityLiving extends Entity {
|
||||
|
||||
@@ -1740,7 +1740,6 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -1812,7 +1812,6 @@ public abstract class EntityLiving extends Entity {
|
||||
}
|
||||
|
||||
public void m() {
|
||||
public void A_() {
|
||||
- SpigotTimings.timerEntityBaseTick.startTiming(); // Spigot
|
||||
super.m();
|
||||
this.cz();
|
||||
super.A_();
|
||||
this.cA();
|
||||
if (!this.world.isClientSide) {
|
||||
@@ -1813,9 +1812,7 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -1885,9 +1884,7 @@ public abstract class EntityLiving extends Entity {
|
||||
}
|
||||
}
|
||||
|
||||
@ -655,24 +655,24 @@ index 365b61d..0a583bc 100644
|
||||
double d0 = this.locX - this.lastX;
|
||||
double d1 = this.locZ - this.lastZ;
|
||||
float f = (float) (d0 * d0 + d1 * d1);
|
||||
@@ -1884,8 +1881,6 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -1956,8 +1953,6 @@ public abstract class EntityLiving extends Entity {
|
||||
} else {
|
||||
this.bq = 0;
|
||||
this.bp = 0;
|
||||
}
|
||||
-
|
||||
- SpigotTimings.timerEntityTickRest.stopTiming(); // Spigot
|
||||
}
|
||||
|
||||
protected float h(float f, float f1) {
|
||||
@@ -1950,7 +1945,6 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -2022,7 +2017,6 @@ public abstract class EntityLiving extends Entity {
|
||||
}
|
||||
|
||||
this.world.methodProfiler.a("ai");
|
||||
- SpigotTimings.timerEntityAI.startTiming(); // Spigot
|
||||
if (this.cj()) {
|
||||
this.be = false;
|
||||
this.bf = 0.0F;
|
||||
@@ -1961,7 +1955,6 @@ public abstract class EntityLiving extends Entity {
|
||||
if (this.isFrozen()) {
|
||||
this.bd = false;
|
||||
this.be = 0.0F;
|
||||
@@ -2033,7 +2027,6 @@ public abstract class EntityLiving extends Entity {
|
||||
this.doTick();
|
||||
this.world.methodProfiler.b();
|
||||
}
|
||||
@ -680,26 +680,26 @@ index 365b61d..0a583bc 100644
|
||||
|
||||
this.world.methodProfiler.b();
|
||||
this.world.methodProfiler.a("jump");
|
||||
@@ -1984,14 +1977,10 @@ public abstract class EntityLiving extends Entity {
|
||||
this.bg *= 0.98F;
|
||||
this.bh *= 0.9F;
|
||||
@@ -2056,14 +2049,10 @@ public abstract class EntityLiving extends Entity {
|
||||
this.bf *= 0.98F;
|
||||
this.bg *= 0.9F;
|
||||
this.r();
|
||||
- SpigotTimings.timerEntityAIMove.startTiming(); // Spigot
|
||||
this.g(this.bf, this.bg);
|
||||
this.g(this.be, this.bf);
|
||||
- SpigotTimings.timerEntityAIMove.stopTiming(); // Spigot
|
||||
this.world.methodProfiler.b();
|
||||
this.world.methodProfiler.a("push");
|
||||
- SpigotTimings.timerEntityAICollision.startTiming(); // Spigot
|
||||
this.cs();
|
||||
this.ct();
|
||||
- SpigotTimings.timerEntityAICollision.stopTiming(); // Spigot
|
||||
this.world.methodProfiler.b();
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java
|
||||
index 5432e70..72cd51a 100644
|
||||
index 347a2b6..aceb08c 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTracker.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTracker.java
|
||||
@@ -171,7 +171,7 @@ public class EntityTracker {
|
||||
@@ -175,7 +175,7 @@ public class EntityTracker {
|
||||
public void updatePlayers() {
|
||||
ArrayList arraylist = Lists.newArrayList();
|
||||
Iterator iterator = this.c.iterator();
|
||||
@ -708,7 +708,7 @@ index 5432e70..72cd51a 100644
|
||||
while (iterator.hasNext()) {
|
||||
EntityTrackerEntry entitytrackerentry = (EntityTrackerEntry) iterator.next();
|
||||
|
||||
@@ -184,7 +184,9 @@ public class EntityTracker {
|
||||
@@ -188,7 +188,9 @@ public class EntityTracker {
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -718,7 +718,7 @@ index 5432e70..72cd51a 100644
|
||||
for (int i = 0; i < arraylist.size(); ++i) {
|
||||
EntityPlayer entityplayer = (EntityPlayer) arraylist.get(i);
|
||||
Iterator iterator1 = this.c.iterator();
|
||||
@@ -197,6 +199,7 @@ public class EntityTracker {
|
||||
@@ -201,6 +203,7 @@ public class EntityTracker {
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -727,10 +727,10 @@ index 5432e70..72cd51a 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 26f8467..4814643 100644
|
||||
index 0b790ab..81a69e8 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -45,7 +45,7 @@ import org.bukkit.Bukkit;
|
||||
@@ -47,7 +47,7 @@ import org.bukkit.Bukkit;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.craftbukkit.Main;
|
||||
// CraftBukkit end
|
||||
@ -739,7 +739,7 @@ index 26f8467..4814643 100644
|
||||
|
||||
public abstract class MinecraftServer implements Runnable, ICommandListener, IAsyncTaskHandler, IMojangStatistics {
|
||||
|
||||
@@ -450,6 +450,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
@@ -457,6 +457,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
}
|
||||
// CraftBukkit end
|
||||
MinecraftServer.LOGGER.info("Stopping server");
|
||||
@ -747,7 +747,7 @@ index 26f8467..4814643 100644
|
||||
// CraftBukkit start
|
||||
if (this.server != null) {
|
||||
this.server.disablePlugins();
|
||||
@@ -654,7 +655,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
@@ -661,7 +662,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
public void B() {}
|
||||
|
||||
protected void C() throws ExceptionWorldConflict { // CraftBukkit - added throws
|
||||
@ -756,7 +756,7 @@ index 26f8467..4814643 100644
|
||||
long i = System.nanoTime();
|
||||
|
||||
++this.ticks;
|
||||
@@ -681,7 +682,6 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
@@ -688,7 +689,6 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
}
|
||||
|
||||
if (autosavePeriod > 0 && this.ticks % autosavePeriod == 0) { // CraftBukkit
|
||||
@ -764,7 +764,7 @@ index 26f8467..4814643 100644
|
||||
this.methodProfiler.a("save");
|
||||
this.v.savePlayers();
|
||||
// Spigot Start
|
||||
@@ -696,7 +696,6 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
@@ -703,7 +703,6 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
// this.saveChunks(true);
|
||||
// Spigot End
|
||||
this.methodProfiler.b();
|
||||
@ -772,7 +772,7 @@ index 26f8467..4814643 100644
|
||||
}
|
||||
|
||||
this.methodProfiler.a("tallying");
|
||||
@@ -713,15 +712,16 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
@@ -720,15 +719,16 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
|
||||
this.methodProfiler.b();
|
||||
this.methodProfiler.b();
|
||||
@ -793,7 +793,7 @@ index 26f8467..4814643 100644
|
||||
this.methodProfiler.a("jobs");
|
||||
Queue queue = this.j;
|
||||
|
||||
@@ -732,22 +732,23 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
@@ -739,22 +739,23 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
SystemUtils.a(entry, MinecraftServer.LOGGER);
|
||||
}
|
||||
// Spigot end
|
||||
@ -822,7 +822,7 @@ index 26f8467..4814643 100644
|
||||
// Send time updates to everyone, it will get the right time from the world the player is in.
|
||||
if (this.ticks % 20 == 0) {
|
||||
for (int i = 0; i < this.getPlayerList().players.size(); ++i) {
|
||||
@@ -755,7 +756,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
@@ -762,7 +763,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
entityplayer.playerConnection.sendPacket(new PacketPlayOutUpdateTime(entityplayer.world.getTime(), entityplayer.getPlayerTime(), entityplayer.world.getGameRules().getBoolean("doDaylightCycle"))); // Add support for per player time
|
||||
}
|
||||
}
|
||||
@ -831,7 +831,7 @@ index 26f8467..4814643 100644
|
||||
|
||||
int i;
|
||||
|
||||
@@ -812,9 +813,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
@@ -819,9 +820,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
|
||||
this.methodProfiler.b();
|
||||
this.methodProfiler.a("tracker");
|
||||
@ -841,13 +841,13 @@ index 26f8467..4814643 100644
|
||||
this.methodProfiler.b();
|
||||
this.methodProfiler.b();
|
||||
// } // CraftBukkit
|
||||
@@ -823,20 +822,20 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
@@ -830,20 +829,20 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
}
|
||||
|
||||
this.methodProfiler.c("connection");
|
||||
- SpigotTimings.connectionTimer.startTiming(); // Spigot
|
||||
+ MinecraftTimings.connectionTimer.startTiming(); // Spigot
|
||||
this.am().c();
|
||||
this.an().c();
|
||||
- SpigotTimings.connectionTimer.stopTiming(); // Spigot
|
||||
+ MinecraftTimings.connectionTimer.stopTiming(); // Spigot
|
||||
this.methodProfiler.c("players");
|
||||
@ -861,7 +861,7 @@ index 26f8467..4814643 100644
|
||||
- SpigotTimings.tickablesTimer.startTiming(); // Spigot
|
||||
+ MinecraftTimings.tickablesTimer.startTiming(); // Spigot
|
||||
for (i = 0; i < this.o.size(); ++i) {
|
||||
((ITickable) this.o.get(i)).E_();
|
||||
((ITickable) this.o.get(i)).F_();
|
||||
}
|
||||
- SpigotTimings.tickablesTimer.stopTiming(); // Spigot
|
||||
+ MinecraftTimings.tickablesTimer.stopTiming(); // Spigot
|
||||
@ -869,7 +869,7 @@ index 26f8467..4814643 100644
|
||||
this.methodProfiler.b();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index b0249ff..797a84f 100644
|
||||
index ae427b4..ce3390c 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@ -969,10 +969,10 @@ index b0249ff..797a84f 100644
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 29f0062..d910c41 100644
|
||||
index 4c2e13f..a5aa755 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -57,6 +57,7 @@ import org.bukkit.inventory.CraftingInventory;
|
||||
@@ -56,6 +56,7 @@ import org.bukkit.inventory.CraftingInventory;
|
||||
import org.bukkit.inventory.EquipmentSlot;
|
||||
import org.bukkit.inventory.InventoryView;
|
||||
import org.bukkit.util.NumberConversions;
|
||||
@ -980,7 +980,7 @@ index 29f0062..d910c41 100644
|
||||
// CraftBukkit end
|
||||
|
||||
public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
@@ -1339,7 +1340,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
@@ -1316,7 +1317,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
// CraftBukkit end
|
||||
|
||||
private void handleCommand(String s) {
|
||||
@ -989,7 +989,7 @@ index 29f0062..d910c41 100644
|
||||
// CraftBukkit start - whole method
|
||||
if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot
|
||||
this.LOGGER.info(this.player.getName() + " issued server command: " + s);
|
||||
@@ -1350,22 +1351,22 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
@@ -1327,22 +1328,22 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
this.server.getPluginManager().callEvent(event);
|
||||
|
||||
if (event.isCancelled()) {
|
||||
@ -1017,7 +1017,7 @@ index 29f0062..d910c41 100644
|
||||
// CraftBukkit end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 7090262..2e418a7 100644
|
||||
index 5d6cadc..e40268b 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@ -1027,7 +1027,7 @@ index 7090262..2e418a7 100644
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
@@ -1167,10 +1168,11 @@ public abstract class PlayerList {
|
||||
@@ -1165,10 +1166,11 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public void savePlayers() {
|
||||
@ -1041,7 +1041,7 @@ index 7090262..2e418a7 100644
|
||||
|
||||
public void addWhitelist(GameProfile gameprofile) {
|
||||
diff --git a/src/main/java/net/minecraft/server/StructureGenerator.java b/src/main/java/net/minecraft/server/StructureGenerator.java
|
||||
index 8dd434c..c965af1 100644
|
||||
index f1f2065..fb350c4 100644
|
||||
--- a/src/main/java/net/minecraft/server/StructureGenerator.java
|
||||
+++ b/src/main/java/net/minecraft/server/StructureGenerator.java
|
||||
@@ -1,5 +1,7 @@
|
||||
@ -1051,8 +1051,8 @@ index 8dd434c..c965af1 100644
|
||||
+import co.aikar.timings.Timing;
|
||||
import it.unimi.dsi.fastutil.longs.Long2ObjectMap;
|
||||
import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap;
|
||||
import java.util.Iterator;
|
||||
@@ -8,11 +10,13 @@ import java.util.Random;
|
||||
import it.unimi.dsi.fastutil.objects.ObjectIterator;
|
||||
@@ -9,11 +11,13 @@ import javax.annotation.Nullable;
|
||||
|
||||
public abstract class StructureGenerator extends WorldGenBase {
|
||||
|
||||
@ -1066,7 +1066,7 @@ index 8dd434c..c965af1 100644
|
||||
public abstract String a();
|
||||
|
||||
protected final synchronized void a(World world, final int i, final int j, int k, int l, ChunkSnapshot chunksnapshot) {
|
||||
@@ -68,6 +72,7 @@ public abstract class StructureGenerator extends WorldGenBase {
|
||||
@@ -69,6 +73,7 @@ public abstract class StructureGenerator extends WorldGenBase {
|
||||
}
|
||||
|
||||
public synchronized boolean a(World world, Random random, ChunkCoordIntPair chunkcoordintpair) {
|
||||
@ -1074,7 +1074,7 @@ index 8dd434c..c965af1 100644
|
||||
this.a(world);
|
||||
int i = (chunkcoordintpair.x << 4) + 8;
|
||||
int j = (chunkcoordintpair.z << 4) + 8;
|
||||
@@ -84,6 +89,7 @@ public abstract class StructureGenerator extends WorldGenBase {
|
||||
@@ -85,6 +90,7 @@ public abstract class StructureGenerator extends WorldGenBase {
|
||||
this.a(structurestart.e(), structurestart.f(), structurestart);
|
||||
}
|
||||
}
|
||||
@ -1083,10 +1083,10 @@ index 8dd434c..c965af1 100644
|
||||
return flag;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
|
||||
index 42f37df..2b82312 100644
|
||||
index 8d54eb3..0f505ed 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntity.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntity.java
|
||||
@@ -6,12 +6,13 @@ import javax.annotation.Nullable;
|
||||
@@ -4,12 +4,13 @@ import javax.annotation.Nullable;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
@ -1100,10 +1100,10 @@ index 42f37df..2b82312 100644
|
||||
- public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getTileEntityTimings(this); // Spigot
|
||||
+ public Timing tickTimer = MinecraftTimings.getTileEntityTimings(this); // Paper
|
||||
private static final Logger a = LogManager.getLogger();
|
||||
private static final Map<String, Class<? extends TileEntity>> f = Maps.newHashMap();
|
||||
private static final Map<Class<? extends TileEntity>, String> g = Maps.newHashMap();
|
||||
private static final RegistryMaterials<MinecraftKey, Class<? extends TileEntity>> f = new RegistryMaterials();
|
||||
protected World world;
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index e649435..b73f64e 100644
|
||||
index 8bd0250..78b5a3c 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -18,11 +18,11 @@ import com.google.common.collect.Maps;
|
||||
@ -1137,7 +1137,7 @@ index e649435..b73f64e 100644
|
||||
this.entityLimiter = new org.spigotmc.TickLimiter(spigotConfig.entityMaxTickTime);
|
||||
this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime);
|
||||
}
|
||||
@@ -1379,6 +1379,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1402,6 +1402,7 @@ public abstract class World implements IBlockAccess {
|
||||
}
|
||||
|
||||
this.methodProfiler.c("remove");
|
||||
@ -1145,7 +1145,7 @@ index e649435..b73f64e 100644
|
||||
this.entityList.removeAll(this.f);
|
||||
|
||||
int j;
|
||||
@@ -1399,6 +1400,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1422,6 +1423,7 @@ public abstract class World implements IBlockAccess {
|
||||
|
||||
this.f.clear();
|
||||
this.l();
|
||||
@ -1153,7 +1153,7 @@ index e649435..b73f64e 100644
|
||||
this.methodProfiler.c("regular");
|
||||
|
||||
CrashReportSystemDetails crashreportsystemdetails1;
|
||||
@@ -1408,6 +1410,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1431,6 +1433,7 @@ public abstract class World implements IBlockAccess {
|
||||
timings.entityTick.startTiming(); // Spigot
|
||||
guardEntityList = true; // Spigot
|
||||
// CraftBukkit start - Use field for loop variable
|
||||
@ -1161,7 +1161,7 @@ index e649435..b73f64e 100644
|
||||
int entitiesThisCycle = 0;
|
||||
if (tickPosition < 0) tickPosition = 0;
|
||||
for (entityLimiter.initTick();
|
||||
@@ -1429,10 +1432,11 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1452,10 +1455,11 @@ public abstract class World implements IBlockAccess {
|
||||
this.methodProfiler.a("tick");
|
||||
if (!entity.dead && !(entity instanceof EntityPlayer)) {
|
||||
try {
|
||||
@ -1175,7 +1175,7 @@ index e649435..b73f64e 100644
|
||||
crashreport1 = CrashReport.a(throwable1, "Ticking entity");
|
||||
crashreportsystemdetails1 = crashreport1.a("Entity being ticked");
|
||||
entity.appendEntityCrashDetails(crashreportsystemdetails1);
|
||||
@@ -1565,6 +1569,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1588,6 +1592,7 @@ public abstract class World implements IBlockAccess {
|
||||
}
|
||||
|
||||
timings.tileEntityPending.stopTiming(); // Spigot
|
||||
@ -1183,7 +1183,7 @@ index e649435..b73f64e 100644
|
||||
this.methodProfiler.b();
|
||||
this.methodProfiler.b();
|
||||
}
|
||||
@@ -1617,7 +1622,6 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1640,7 +1645,6 @@ public abstract class World implements IBlockAccess {
|
||||
entity.ticksLived++;
|
||||
entity.inactiveTick();
|
||||
} else {
|
||||
@ -1191,15 +1191,15 @@ index e649435..b73f64e 100644
|
||||
// CraftBukkit end
|
||||
entity.M = entity.locX;
|
||||
entity.N = entity.locY;
|
||||
@@ -1626,6 +1630,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1649,6 +1653,7 @@ public abstract class World implements IBlockAccess {
|
||||
entity.lastPitch = entity.pitch;
|
||||
if (flag && entity.ab) {
|
||||
if (flag && entity.aa) {
|
||||
++entity.ticksLived;
|
||||
+ ++co.aikar.timings.TimingHistory.activatedEntityTicks; // Paper
|
||||
if (entity.isPassenger()) {
|
||||
entity.aw();
|
||||
} else {
|
||||
@@ -1684,8 +1689,6 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1707,8 +1712,6 @@ public abstract class World implements IBlockAccess {
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1209,7 +1209,7 @@ index e649435..b73f64e 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 50fad7c..3d98392 100644
|
||||
index 695bb42..6afcf7c 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -246,13 +246,13 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@ -1230,7 +1230,7 @@ index 50fad7c..3d98392 100644
|
||||
this.methodProfiler.c("chunkMap");
|
||||
timings.doChunkMap.startTiming(); // Spigot
|
||||
this.manager.flush();
|
||||
@@ -484,7 +484,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@@ -486,7 +486,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
}
|
||||
}
|
||||
|
||||
@ -1239,7 +1239,7 @@ index 50fad7c..3d98392 100644
|
||||
if (i > 0) {
|
||||
ChunkSection[] achunksection = chunk.getSections();
|
||||
int i1 = achunksection.length;
|
||||
@@ -512,6 +512,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@@ -514,6 +514,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1247,7 +1247,7 @@ index 50fad7c..3d98392 100644
|
||||
}
|
||||
|
||||
this.methodProfiler.b();
|
||||
@@ -707,6 +708,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@@ -709,6 +710,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
|
||||
this.methodProfiler.a("cleaning");
|
||||
|
||||
@ -1255,7 +1255,7 @@ index 50fad7c..3d98392 100644
|
||||
NextTickListEntry nextticklistentry;
|
||||
|
||||
for (int j = 0; j < i; ++j) {
|
||||
@@ -720,9 +722,11 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@@ -722,9 +724,11 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
// this.nextTickListHash.remove(nextticklistentry);
|
||||
this.U.add(nextticklistentry);
|
||||
}
|
||||
@ -1267,7 +1267,7 @@ index 50fad7c..3d98392 100644
|
||||
Iterator iterator = this.U.iterator();
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
@@ -732,6 +736,8 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@@ -734,6 +738,8 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
|
||||
if (this.areChunksLoadedBetween(nextticklistentry.a.a(0, 0, 0), nextticklistentry.a.a(0, 0, 0))) {
|
||||
IBlockData iblockdata = this.getType(nextticklistentry.a);
|
||||
@ -1276,7 +1276,7 @@ index 50fad7c..3d98392 100644
|
||||
|
||||
if (iblockdata.getMaterial() != Material.AIR && Block.a(iblockdata.getBlock(), nextticklistentry.a())) {
|
||||
try {
|
||||
@@ -744,10 +750,12 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@@ -746,10 +752,12 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
throw new ReportedException(crashreport);
|
||||
}
|
||||
}
|
||||
@ -1289,7 +1289,7 @@ index 50fad7c..3d98392 100644
|
||||
|
||||
this.methodProfiler.b();
|
||||
this.U.clear();
|
||||
@@ -843,7 +851,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@@ -845,7 +853,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
gen = new org.bukkit.craftbukkit.generator.NormalChunkGenerator(this, this.getSeed());
|
||||
}
|
||||
|
||||
@ -1298,7 +1298,7 @@ index 50fad7c..3d98392 100644
|
||||
// CraftBukkit end
|
||||
}
|
||||
|
||||
@@ -1007,6 +1015,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@@ -1010,6 +1018,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
|
||||
if (chunkproviderserver.e()) {
|
||||
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
|
||||
@ -1306,7 +1306,7 @@ index 50fad7c..3d98392 100644
|
||||
if (iprogressupdate != null) {
|
||||
iprogressupdate.a("Saving level");
|
||||
}
|
||||
@@ -1016,7 +1025,9 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@@ -1019,7 +1028,9 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
iprogressupdate.c("Saving chunks");
|
||||
}
|
||||
|
||||
@ -1316,7 +1316,7 @@ index 50fad7c..3d98392 100644
|
||||
// CraftBukkit - ArrayList -> Collection
|
||||
Collection arraylist = chunkproviderserver.a();
|
||||
Iterator iterator = arraylist.iterator();
|
||||
@@ -1028,7 +1039,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@@ -1031,7 +1042,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
chunkproviderserver.unload(chunk);
|
||||
}
|
||||
}
|
||||
@ -1325,7 +1325,7 @@ index 50fad7c..3d98392 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1041,6 +1052,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@@ -1044,6 +1055,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
}
|
||||
|
||||
protected void a() throws ExceptionWorldConflict {
|
||||
@ -1333,7 +1333,7 @@ index 50fad7c..3d98392 100644
|
||||
this.checkSession();
|
||||
WorldServer[] aworldserver = this.server.worldServer;
|
||||
int i = aworldserver.length;
|
||||
@@ -1070,6 +1082,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@@ -1073,6 +1085,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
this.worldData.e(this.getWorldBorder().i());
|
||||
this.dataManager.saveWorldData(this.worldData, this.server.getPlayerList().t());
|
||||
this.worldMaps.a();
|
||||
@ -1342,10 +1342,10 @@ index 50fad7c..3d98392 100644
|
||||
|
||||
// CraftBukkit start
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index e7e9941..5f2a9b0 100644
|
||||
index d306f62..9460486 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1727,6 +1727,7 @@ public final class CraftServer implements Server {
|
||||
@@ -1722,6 +1722,7 @@ public final class CraftServer implements Server {
|
||||
private final Spigot spigot = new Spigot()
|
||||
{
|
||||
|
||||
@ -1353,7 +1353,7 @@ index e7e9941..5f2a9b0 100644
|
||||
@Override
|
||||
public YamlConfiguration getConfig()
|
||||
{
|
||||
@@ -1734,6 +1735,24 @@ public final class CraftServer implements Server {
|
||||
@@ -1729,6 +1730,24 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -1602,7 +1602,7 @@ index 3a95b44..b5efb9c 100644
|
||||
|
||||
public void callStage3(QueuedChunk queuedChunk, Chunk chunk, Runnable runnable) throws RuntimeException {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 4e3b8fc..8ee4fc4 100644
|
||||
index e83f56f..3784c32 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -37,15 +37,9 @@ import org.bukkit.configuration.serialization.DelegateDeserialization;
|
||||
@ -1771,7 +1771,7 @@ index e52ef47..3d90b34 100644
|
||||
this.value = value;
|
||||
}
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index 30efc99..eb30abe 100644
|
||||
index c32d44d..5c2fb00 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -29,7 +29,7 @@ import net.minecraft.server.EntityWither;
|
||||
@ -1818,8 +1818,8 @@ index 30efc99..eb30abe 100644
|
||||
{
|
||||
- SpigotTimings.checkIfActiveTimer.startTiming();
|
||||
// Never safe to skip fireworks or entities not yet added to chunk
|
||||
// PAIL: inChunk
|
||||
if ( !entity.ab || entity instanceof EntityFireworks ) {
|
||||
// PAIL: inChunk - boolean under datawatchers
|
||||
if ( !entity.aa || entity instanceof EntityFireworks ) {
|
||||
- SpigotTimings.checkIfActiveTimer.stopTiming();
|
||||
return true;
|
||||
}
|
||||
@ -1833,5 +1833,5 @@ index 30efc99..eb30abe 100644
|
||||
}
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
From e5ce005823f066b5c88dfc06184f878f7d301501 Mon Sep 17 00:00:00 2001
|
||||
From 70093c6d868924d6d2947cd7a5e952144c9cb44d Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Mon, 29 Feb 2016 21:20:21 -0600
|
||||
Subject: [PATCH] Vanished players don't have rights
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java
|
||||
index 8d52140..ccbf47e 100644
|
||||
index ca84d92..287566c 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityArrow.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityArrow.java
|
||||
@@ -189,6 +189,14 @@ public abstract class EntityArrow extends Entity implements IProjectile {
|
||||
@@ -190,6 +190,14 @@ public abstract class EntityArrow extends Entity implements IProjectile {
|
||||
}
|
||||
}
|
||||
|
||||
@ -24,26 +24,27 @@ index 8d52140..ccbf47e 100644
|
||||
this.a(movingobjectposition);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java
|
||||
index 5a62881..da4eaf1 100644
|
||||
index 0b28c88..91702f2 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityFishingHook.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
|
||||
@@ -198,6 +198,14 @@ public class EntityFishingHook extends Entity {
|
||||
movingobjectposition = new MovingObjectPosition(entity);
|
||||
}
|
||||
@@ -224,6 +224,15 @@ public class EntityFishingHook extends Entity {
|
||||
|
||||
+ // Paper start - Allow fishing hooks to fly through vanished players the shooter can't see
|
||||
+ if (movingobjectposition != null && movingobjectposition.entity instanceof EntityPlayer && owner != null && owner instanceof EntityPlayer) {
|
||||
+ if (!((EntityPlayer) owner).getBukkitEntity().canSee(((EntityPlayer) movingobjectposition.entity).getBukkitEntity())) {
|
||||
+ movingobjectposition = null;
|
||||
+ }
|
||||
+ }
|
||||
+ // Paper end
|
||||
vec3d = new Vec3D(this.locX, this.locY, this.locZ);
|
||||
vec3d1 = new Vec3D(this.locX + this.motX, this.locY + this.motY, this.locZ + this.motZ);
|
||||
+
|
||||
if (movingobjectposition != null) {
|
||||
org.bukkit.craftbukkit.event.CraftEventFactory.callProjectileHitEvent(this); // Craftbukkit - Call event
|
||||
if (movingobjectposition.entity != null) {
|
||||
+ // Paper start - Allow fishing hooks to fly through vanished players the shooter can't see
|
||||
+ if (movingobjectposition != null && movingobjectposition.entity instanceof EntityPlayer && owner != null && owner instanceof EntityPlayer) {
|
||||
+ if (!((EntityPlayer) owner).getBukkitEntity().canSee(((EntityPlayer) movingobjectposition.entity).getBukkitEntity())) {
|
||||
+ movingobjectposition = null;
|
||||
+ }
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
if (movingobjectposition != null) {
|
||||
org.bukkit.craftbukkit.event.CraftEventFactory.callProjectileHitEvent(this); // Craftbukkit - Call event
|
||||
vec3d1 = new Vec3D(movingobjectposition.pos.x, movingobjectposition.pos.y, movingobjectposition.pos.z);
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java
|
||||
index 07dc5cc..770f130 100644
|
||||
index 40ac335..3d5548f 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityProjectile.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityProjectile.java
|
||||
@@ -160,6 +160,14 @@ public abstract class EntityProjectile extends Entity implements IProjectile {
|
||||
@ -62,23 +63,23 @@ index 07dc5cc..770f130 100644
|
||||
if (movingobjectposition.type == MovingObjectPosition.EnumMovingObjectType.BLOCK && this.world.getType(movingobjectposition.a()).getBlock() == Blocks.PORTAL) {
|
||||
this.e(movingobjectposition.a());
|
||||
diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java
|
||||
index 3b6feb7..1450483 100644
|
||||
index eb32871..58ec8b5 100644
|
||||
--- a/src/main/java/net/minecraft/server/ItemBlock.java
|
||||
+++ b/src/main/java/net/minecraft/server/ItemBlock.java
|
||||
@@ -23,7 +23,7 @@ public class ItemBlock extends Item {
|
||||
blockposition = blockposition.shift(enumdirection);
|
||||
}
|
||||
@@ -20,7 +20,7 @@ public class ItemBlock extends Item {
|
||||
|
||||
- if (itemstack.count != 0 && entityhuman.a(blockposition, enumdirection, itemstack) && world.a(this.a, blockposition, false, enumdirection, (Entity) null, itemstack)) {
|
||||
+ if (itemstack.count != 0 && entityhuman.a(blockposition, enumdirection, itemstack) && world.a(this.a, blockposition, false, enumdirection, entityhuman, itemstack)) { // Paper - Pass entityhuman instead of null
|
||||
ItemStack itemstack = entityhuman.b(enumhand);
|
||||
|
||||
- if (!itemstack.isEmpty() && entityhuman.a(blockposition, enumdirection, itemstack) && world.a(this.a, blockposition, false, enumdirection, (Entity) null)) {
|
||||
+ if (!itemstack.isEmpty() && entityhuman.a(blockposition, enumdirection, itemstack) && world.a(this.a, blockposition, false, enumdirection, entityhuman)) { // Paper - Pass entityhuman instead of null
|
||||
int i = this.filterData(itemstack.getData());
|
||||
IBlockData iblockdata1 = this.a.getPlacedState(world, blockposition, enumdirection, f, f1, f2, i, entityhuman);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index b73f64e..932e826 100644
|
||||
index 78b5a3c..2a38b1c 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1702,6 +1702,14 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1725,6 +1725,14 @@ public abstract class World implements IBlockAccess {
|
||||
for (int i = 0; i < list.size(); ++i) {
|
||||
Entity entity1 = (Entity) list.get(i);
|
||||
|
||||
@ -94,5 +95,5 @@ index b73f64e..932e826 100644
|
||||
return false;
|
||||
}
|
||||
--
|
||||
2.9.0
|
||||
2.10.2
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d28a7aa05ce6180aeb5248aeb987ba08a6ab42b7 Mon Sep 17 00:00:00 2001
|
||||
From e460bd961a9d020f64b2e0cb59b9e0991e1361e9 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Tue, 1 Mar 2016 12:45:11 -0600
|
||||
Subject: [PATCH] Configurable squid spawn ranges
|
||||
@ -22,19 +22,18 @@ index dae60dc..c74c8a7 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java
|
||||
index c5ac670..85aebc0 100644
|
||||
index 9f88e44..56f7ca8 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntitySquid.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntitySquid.java
|
||||
@@ -145,7 +145,8 @@ public class EntitySquid extends EntityWaterAnimal {
|
||||
@@ -141,7 +141,7 @@ public class EntitySquid extends EntityWaterAnimal {
|
||||
}
|
||||
|
||||
public boolean cK() {
|
||||
- return this.locY > 45.0D && this.locY < (double) this.world.K() && super.cK();
|
||||
+ // Paper - Configurable squid spawn height range
|
||||
+ return this.locY > world.paperConfig.squidMinSpawnHeight && this.locY < world.paperConfig.squidMaxSpawnHeight && super.cK();
|
||||
public boolean cM() {
|
||||
- return this.locY > 45.0D && this.locY < (double) this.world.K() && super.cM();
|
||||
+ return this.locY > world.paperConfig.squidMinSpawnHeight && this.locY < world.paperConfig.squidMaxSpawnHeight && super.cM(); // Paper - Configurable squid spawn height range
|
||||
}
|
||||
|
||||
public void b(float f, float f1, float f2) {
|
||||
--
|
||||
2.8.3
|
||||
2.10.2
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f88c8fd4582df133bd04083eda03b8015e62db30 Mon Sep 17 00:00:00 2001
|
||||
From 4913d3438af4ad594d6c8022d5e343ec0f03bcc7 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Tue, 1 Mar 2016 13:09:16 -0600
|
||||
Subject: [PATCH] Configurable baby zombie movement speed
|
||||
@ -20,7 +20,7 @@ index 8d9c322..ae3d0e4 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
index c2913d6..3145bdc 100644
|
||||
index 497d559..897882c 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
@@ -16,7 +16,7 @@ public class EntityZombie extends EntityMonster {
|
||||
@ -29,10 +29,10 @@ index c2913d6..3145bdc 100644
|
||||
private static final UUID b = UUID.fromString("B9766B59-9566-4402-BC1F-2EE2A276D836");
|
||||
- private static final AttributeModifier c = new AttributeModifier(EntityZombie.b, "Baby speed boost", 0.5D, 1);
|
||||
+ private final AttributeModifier c = new AttributeModifier(EntityZombie.b, "Baby speed boost", world.paperConfig.babyZombieMovementSpeed, 1); // Paper - Remove static - Make baby speed configurable
|
||||
private static final DataWatcherObject<Boolean> bx = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.h);
|
||||
private static final DataWatcherObject<Integer> by = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.b);
|
||||
private static final DataWatcherObject<Boolean> bz = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.h);
|
||||
@@ -106,9 +106,9 @@ public class EntityZombie extends EntityMonster {
|
||||
private static final DataWatcherObject<Boolean> bw = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.h);
|
||||
private static final DataWatcherObject<Integer> bx = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.b);
|
||||
private static final DataWatcherObject<Boolean> by = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.h);
|
||||
@@ -102,9 +102,9 @@ public class EntityZombie extends EntityMonster {
|
||||
if (this.world != null && !this.world.isClientSide) {
|
||||
AttributeInstance attributeinstance = this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED);
|
||||
|
||||
@ -45,5 +45,5 @@ index c2913d6..3145bdc 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.8.3
|
||||
2.10.2
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
From 34e9632195c39d7e3a6e49b75c945b67b5f92cae Mon Sep 17 00:00:00 2001
|
||||
From d1e7170b9d3d73895ed986db6751a0897443c488 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Tue, 1 Mar 2016 13:14:11 -0600
|
||||
Subject: [PATCH] Configurable fishing time ranges
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index ae3d0e4..9a72ef7 100644
|
||||
index ae3d0e4..7b2b95d 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -92,4 +92,12 @@ public class PaperWorldConfig {
|
||||
@ -17,23 +17,23 @@ index ae3d0e4..9a72ef7 100644
|
||||
+ public int fishingMaxTicks;
|
||||
+ private void fishingTickRange() {
|
||||
+ fishingMinTicks = getInt("fishing-time-range.MinimumTicks", 100);
|
||||
+ fishingMaxTicks = getInt("fishing-time-range.MaximumTicks", 900);
|
||||
+ fishingMaxTicks = getInt("fishing-time-range.MaximumTicks", 600);
|
||||
+ log("Fishing time ranges are between " + fishingMinTicks +" and " + fishingMaxTicks + " ticks");
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java
|
||||
index da4eaf1..9b71cdd 100644
|
||||
index 91702f2..e0475ce 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityFishingHook.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
|
||||
@@ -359,7 +359,7 @@ public class EntityFishingHook extends Entity {
|
||||
this.aw = MathHelper.nextInt(this.random, 20, 80);
|
||||
}
|
||||
} else {
|
||||
- this.av = MathHelper.nextInt(this.random, 100, 900);
|
||||
+ this.av = MathHelper.nextInt(this.random, world.paperConfig.fishingMinTicks, world.paperConfig.fishingMaxTicks); // Paper - Configurable fishing time range
|
||||
this.av -= EnchantmentManager.g(this.owner) * 20 * 5;
|
||||
}
|
||||
}
|
||||
@@ -380,7 +380,7 @@ public class EntityFishingHook extends Entity {
|
||||
this.at = MathHelper.nextInt(this.random, 20, 80);
|
||||
}
|
||||
} else {
|
||||
- this.h = MathHelper.nextInt(this.random, 100, 600);
|
||||
+ this.h = MathHelper.nextInt(this.random, world.paperConfig.fishingMinTicks, world.paperConfig.fishingMaxTicks); // Paper - Configurable fishing time range
|
||||
this.h -= EnchantmentManager.g(this.owner) * 20 * 5;
|
||||
}
|
||||
}
|
||||
--
|
||||
2.8.3
|
||||
2.10.2
|
||||
|
||||
|
@ -1,15 +1,15 @@
|
||||
From 61f10185ed47a235d07f9c59ff107cc23818d2cc Mon Sep 17 00:00:00 2001
|
||||
From 910207ffbebc1c4e2b75815e1be168f7379a0233 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Tue, 1 Mar 2016 13:24:16 -0600
|
||||
Subject: [PATCH] Allow nerfed mobs to jump
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 9a72ef7..a44bbed 100644
|
||||
index 7b2b95d..021c01b 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -100,4 +100,9 @@ public class PaperWorldConfig {
|
||||
fishingMaxTicks = getInt("fishing-time-range.MaximumTicks", 900);
|
||||
fishingMaxTicks = getInt("fishing-time-range.MaximumTicks", 600);
|
||||
log("Fishing time ranges are between " + fishingMinTicks +" and " + fishingMaxTicks + " ticks");
|
||||
}
|
||||
+
|
||||
@ -19,18 +19,19 @@ index 9a72ef7..a44bbed 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index d600fd7..bbf7f02 100644
|
||||
index 0dabbaa..50b29c0 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -44,6 +44,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
private boolean bE;
|
||||
@@ -44,6 +44,8 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
private boolean bD;
|
||||
private Entity leashHolder;
|
||||
private NBTTagCompound bG;
|
||||
private NBTTagCompound bF;
|
||||
+ private NBTTagCompound bG;
|
||||
+ public PathfinderGoalFloat goalFloat; // Paper
|
||||
|
||||
public EntityInsentient(World world) {
|
||||
super(world);
|
||||
@@ -654,6 +655,12 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -643,6 +645,12 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
// Spigot Start
|
||||
if ( this.fromMobSpawner )
|
||||
{
|
||||
@ -56,5 +57,5 @@ index e3b4058..c16ad2c 100644
|
||||
((Navigation) entityinsentient.getNavigation()).c(true);
|
||||
}
|
||||
--
|
||||
2.8.3
|
||||
2.10.2
|
||||
|
||||
|
@ -1,16 +1,16 @@
|
||||
From 0765aaedfd591133840b85dd8399cedb173a3b46 Mon Sep 17 00:00:00 2001
|
||||
From c44fba6cdb89433a896e92ea32ab56a25ab58a20 Mon Sep 17 00:00:00 2001
|
||||
From: Suddenly <suddenly@suddenly.coffee>
|
||||
Date: Tue, 1 Mar 2016 13:51:54 -0600
|
||||
Subject: [PATCH] Add configurable despawn distances for living entities
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index b1d712f..402dbe7 100644
|
||||
index 021c01b..92f38a4 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -114,4 +114,20 @@ public class PaperWorldConfig {
|
||||
log("Player exhaustion penalty for breaking blocks is " + blockBreakExhaustion);
|
||||
log("Player exhaustion penalty for swimming is " + playerSwimmingExhaustion);
|
||||
@@ -105,4 +105,20 @@ public class PaperWorldConfig {
|
||||
private void nerfedMobsShouldJump() {
|
||||
nerfedMobsShouldJump = getBoolean("spawner-nerfed-mobs-should-jump", false);
|
||||
}
|
||||
+
|
||||
+ public int softDespawnDistance;
|
||||
@ -30,10 +30,10 @@ index b1d712f..402dbe7 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index bbf7f02..85d4b81 100644
|
||||
index 50b29c0..3f7eae1 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -633,13 +633,13 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -623,13 +623,13 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
double d2 = entityhuman.locZ - this.locZ;
|
||||
double d3 = d0 * d0 + d1 * d1 + d2 * d2;
|
||||
|
||||
@ -51,5 +51,5 @@ index bbf7f02..85d4b81 100644
|
||||
}
|
||||
}
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,60 +0,0 @@
|
||||
From da91460fe9c232759f9523b67a9f656cf4a2a854 Mon Sep 17 00:00:00 2001
|
||||
From: gsand <gsandowns@gmail.com>
|
||||
Date: Tue, 1 Mar 2016 13:43:16 -0600
|
||||
Subject: [PATCH] Player Exhaustion Multipliers
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index a44bbed..b1d712f 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -105,4 +105,13 @@ public class PaperWorldConfig {
|
||||
private void nerfedMobsShouldJump() {
|
||||
nerfedMobsShouldJump = getBoolean("spawner-nerfed-mobs-should-jump", false);
|
||||
}
|
||||
+
|
||||
+ public float blockBreakExhaustion;
|
||||
+ public float playerSwimmingExhaustion;
|
||||
+ public void exhaustionValues() {
|
||||
+ blockBreakExhaustion = getFloat("player-exhaustion.block-break", 0.025F);
|
||||
+ playerSwimmingExhaustion = getFloat("player-exhaustion.swimming", 0.015F);
|
||||
+ log("Player exhaustion penalty for breaking blocks is " + blockBreakExhaustion);
|
||||
+ log("Player exhaustion penalty for swimming is " + playerSwimmingExhaustion);
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
|
||||
index d17160a..f7cf12f 100644
|
||||
--- a/src/main/java/net/minecraft/server/Block.java
|
||||
+++ b/src/main/java/net/minecraft/server/Block.java
|
||||
@@ -455,7 +455,7 @@ public class Block {
|
||||
|
||||
public void a(World world, EntityHuman entityhuman, BlockPosition blockposition, IBlockData iblockdata, @Nullable TileEntity tileentity, @Nullable ItemStack itemstack) {
|
||||
entityhuman.b(StatisticList.a(this));
|
||||
- entityhuman.applyExhaustion(0.025F);
|
||||
+ entityhuman.applyExhaustion(world.paperConfig.blockBreakExhaustion); // Paper - Configurable block break exhaustion
|
||||
if (this.o() && EnchantmentManager.getEnchantmentLevel(Enchantments.SILK_TOUCH, itemstack) > 0) {
|
||||
ItemStack itemstack1 = this.u(iblockdata);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index 30c5116..ffcc235 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -1464,13 +1464,13 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
i = Math.round(MathHelper.sqrt(d0 * d0 + d1 * d1 + d2 * d2) * 100.0F);
|
||||
if (i > 0) {
|
||||
this.a(StatisticList.q, i);
|
||||
- this.applyExhaustion(0.015F * (float) i * 0.01F);
|
||||
+ this.applyExhaustion(world.paperConfig.playerSwimmingExhaustion); // Paper - Configurable swimming exhaustion
|
||||
}
|
||||
} else if (this.isInWater()) {
|
||||
i = Math.round(MathHelper.sqrt(d0 * d0 + d2 * d2) * 100.0F);
|
||||
if (i > 0) {
|
||||
this.a(StatisticList.m, i);
|
||||
- this.applyExhaustion(0.015F * (float) i * 0.01F);
|
||||
+ this.applyExhaustion(world.paperConfig.playerSwimmingExhaustion); // Paper - Configurable swimming exhaustion
|
||||
}
|
||||
} else if (this.m_()) {
|
||||
if (d1 > 0.0D) {
|
||||
--
|
||||
2.10.0.windows.1
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 2a60bdf1a9f93a1969dfe37d9e6a73fd27dddb2f Mon Sep 17 00:00:00 2001
|
||||
From c445404785a2d57072675ac79855742923a32331 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Thu, 3 Mar 2016 03:53:43 -0600
|
||||
Subject: [PATCH] Allow for toggling of spawn chunks
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 402dbe7..78dcf26 100644
|
||||
index 92f38a4..c2c488a 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -130,4 +130,10 @@ public class PaperWorldConfig {
|
||||
@@ -121,4 +121,10 @@ public class PaperWorldConfig {
|
||||
softDespawnDistance = softDespawnDistance*softDespawnDistance;
|
||||
hardDespawnDistance = hardDespawnDistance*hardDespawnDistance;
|
||||
}
|
||||
@ -20,7 +20,7 @@ index 402dbe7..78dcf26 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 932e826..3e79e02 100644
|
||||
index 2a38b1c..52171a3 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -198,6 +198,7 @@ public abstract class World implements IBlockAccess {
|
||||
@ -32,5 +32,5 @@ index 932e826..3e79e02 100644
|
||||
this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime);
|
||||
}
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 2180a0f774d1077f684fbee8360b9f9db2c84be2 Mon Sep 17 00:00:00 2001
|
||||
From 93b9b2bae96d5f54b99cfd0765ec3ce98b413cbd Mon Sep 17 00:00:00 2001
|
||||
From: Byteflux <byte@byteflux.net>
|
||||
Date: Tue, 1 Mar 2016 14:14:15 -0600
|
||||
Subject: [PATCH] Drop falling block and tnt entities at the specified height
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 78dcf26..f19ae97 100644
|
||||
index c2c488a..d44fdae 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -136,4 +136,14 @@ public class PaperWorldConfig {
|
||||
@@ -127,4 +127,14 @@ public class PaperWorldConfig {
|
||||
keepSpawnInMemory = getBoolean("keep-spawn-loaded", true);
|
||||
log("Keep spawn chunk loaded: " + keepSpawnInMemory);
|
||||
}
|
||||
@ -24,13 +24,13 @@ index 78dcf26..f19ae97 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
|
||||
index b8449fe..dbcda27 100644
|
||||
index bce4c3c..2ed1fb1 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
|
||||
@@ -80,6 +80,17 @@ public class EntityFallingBlock extends Entity {
|
||||
@@ -80,6 +80,16 @@ public class EntityFallingBlock extends Entity {
|
||||
}
|
||||
|
||||
this.move(this.motX, this.motY, this.motZ);
|
||||
this.move(EnumMoveType.SELF, this.motX, this.motY, this.motZ);
|
||||
+
|
||||
+ // Paper start - Configurable EntityFallingBlock height nerf
|
||||
+ if (this.world.paperConfig.fallingBlockHeightNerf != 0 && this.locY > this.world.paperConfig.fallingBlockHeightNerf) {
|
||||
@ -41,18 +41,17 @@ index b8449fe..dbcda27 100644
|
||||
+ this.die();
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
this.motX *= 0.9800000190734863D;
|
||||
this.motY *= 0.9800000190734863D;
|
||||
this.motZ *= 0.9800000190734863D;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
|
||||
index 0ed3f89..2745c49 100644
|
||||
index 0fbdbd6..fd07356 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
|
||||
@@ -54,6 +54,13 @@ public class EntityTNTPrimed extends Entity {
|
||||
@@ -56,6 +56,13 @@ public class EntityTNTPrimed extends Entity {
|
||||
}
|
||||
|
||||
this.move(this.motX, this.motY, this.motZ);
|
||||
this.move(EnumMoveType.SELF, this.motX, this.motY, this.motZ);
|
||||
+
|
||||
+ // Paper start - Configurable TNT entity height nerf
|
||||
+ if (this.world.paperConfig.entityTNTHeightNerf != 0 && this.locY > this.world.paperConfig.entityTNTHeightNerf) {
|
||||
@ -64,5 +63,5 @@ index 0ed3f89..2745c49 100644
|
||||
this.motY *= 0.9800000190734863D;
|
||||
this.motZ *= 0.9800000190734863D;
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 1cf26e0671905c3572a05a55b68d4c04d934fb4b Mon Sep 17 00:00:00 2001
|
||||
From eac74f310db6273e941e40504ba31fab0bbad29c Mon Sep 17 00:00:00 2001
|
||||
From: Byteflux <byte@byteflux.net>
|
||||
Date: Tue, 1 Mar 2016 14:27:13 -0600
|
||||
Subject: [PATCH] Configurable speed for water flowing over lava
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index f19ae97..8fc2f6c 100644
|
||||
index d44fdae..06d1527 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -146,4 +146,10 @@ public class PaperWorldConfig {
|
||||
@@ -137,4 +137,10 @@ public class PaperWorldConfig {
|
||||
if (fallingBlockHeightNerf != 0) log("Falling Block Height Limit set to Y: " + fallingBlockHeightNerf);
|
||||
if (entityTNTHeightNerf != 0) log("TNT Entity Height Limit set to Y: " + entityTNTHeightNerf);
|
||||
}
|
||||
@ -20,7 +20,7 @@ index f19ae97..8fc2f6c 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockFlowing.java b/src/main/java/net/minecraft/server/BlockFlowing.java
|
||||
index c0f4961..b00865e 100644
|
||||
index 40c7b55..e9f73cd 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockFlowing.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockFlowing.java
|
||||
@@ -35,7 +35,7 @@ public class BlockFlowing extends BlockFluids {
|
||||
@ -57,5 +57,5 @@ index c0f4961..b00865e 100644
|
||||
+ }
|
||||
}
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c7b09e1fe02118a64de6d2a35558912e0278aea1 Mon Sep 17 00:00:00 2001
|
||||
From 6c8a2f785dd53582ad864a4413e44c2ac8564f18 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Tue, 1 Mar 2016 14:32:43 -0600
|
||||
Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang
|
||||
@ -20,10 +20,10 @@ index a8b5079..ebbc1fc 100644
|
||||
EULA.a.warn("Failed to save {}", new Object[] { this.b, exception});
|
||||
} finally {
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 4814643..41f560f 100644
|
||||
index 81a69e8..c8c6959 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1028,7 +1028,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
@@ -1035,7 +1035,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
}
|
||||
|
||||
public String getServerModName() {
|
||||
@ -33,7 +33,7 @@ index 4814643..41f560f 100644
|
||||
|
||||
public CrashReport b(CrashReport crashreport) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 5f2a9b0..4ac573f 100644
|
||||
index 9460486..e782a80 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -132,7 +132,7 @@ import net.md_5.bungee.api.chat.BaseComponent;
|
||||
@ -80,5 +80,5 @@ index 94a3d42..3ed983c 100644
|
||||
log.log( Level.SEVERE, "------------------------------" );
|
||||
//
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
75
Spigot-Server-Patches/0017-Player-affects-spawning-API.patch
Normale Datei
75
Spigot-Server-Patches/0017-Player-affects-spawning-API.patch
Normale Datei
@ -0,0 +1,75 @@
|
||||
From 3c03eaa436c6bba260c5bde3eb2acaf58476e1ef Mon Sep 17 00:00:00 2001
|
||||
From: Jedediah Smith <jedediah@silencegreys.com>
|
||||
Date: Tue, 1 Mar 2016 14:47:52 -0600
|
||||
Subject: [PATCH] Player affects spawning API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index 9f115d1..ae86ebc 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -63,6 +63,7 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
private final ItemCooldown bV;
|
||||
@Nullable
|
||||
public EntityFishingHook hookedFish;
|
||||
+ public boolean affectsSpawning = true; // Paper - AffectsSpawning API
|
||||
|
||||
// CraftBukkit start
|
||||
public boolean fauxSleeping;
|
||||
diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java
|
||||
index dc0ffd8..f04aecb 100644
|
||||
--- a/src/main/java/net/minecraft/server/IEntitySelector.java
|
||||
+++ b/src/main/java/net/minecraft/server/IEntitySelector.java
|
||||
@@ -44,13 +44,14 @@ public final class IEntitySelector {
|
||||
};
|
||||
public static final Predicate<Entity> e = new Predicate() {
|
||||
public boolean a(@Nullable Entity entity) {
|
||||
- return !(entity instanceof EntityHuman) || !((EntityHuman) entity).isSpectator();
|
||||
+ return !(entity instanceof EntityHuman) || !((EntityHuman) entity).isSpectator() || !((EntityHuman) entity).affectsSpawning; // Paper - Affects Spawning API
|
||||
}
|
||||
|
||||
public boolean apply(@Nullable Object object) {
|
||||
return this.a((Entity) object);
|
||||
}
|
||||
};
|
||||
+ public static final Predicate<Entity> CAN_MOBS_TARGET = e; // Paper - OBFHELPER
|
||||
|
||||
public static <T extends Entity> Predicate<T> a(final double d0, final double d1, final double d2, double d3) {
|
||||
final double d4 = d3 * d3;
|
||||
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
index bec25e4..171410e 100644
|
||||
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
@@ -52,7 +52,7 @@ public final class SpawnerCreature {
|
||||
while (iterator.hasNext()) {
|
||||
EntityHuman entityhuman = (EntityHuman) iterator.next();
|
||||
|
||||
- if (!entityhuman.isSpectator()) {
|
||||
+ if (!entityhuman.isSpectator() && entityhuman.affectsSpawning) { // Paper - AffectsSpawning API
|
||||
int l = MathHelper.floor(entityhuman.locX / 16.0D);
|
||||
|
||||
j = MathHelper.floor(entityhuman.locZ / 16.0D);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 3784c32..3bda255 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1427,6 +1427,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
}
|
||||
|
||||
+ @Override
|
||||
+ public void setAffectsSpawning(boolean affects) {
|
||||
+ this.getHandle().affectsSpawning = affects;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean getAffectsSpawning() {
|
||||
+ return this.getHandle().affectsSpawning;
|
||||
+ }
|
||||
+
|
||||
// Spigot start
|
||||
private final Player.Spigot spigot = new Player.Spigot()
|
||||
{
|
||||
--
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d8a42f222d0f8146e852a3895d3a7eb0e9c267c2 Mon Sep 17 00:00:00 2001
|
||||
From 1764a472a3a6830464ebe4136e6c8ebb9b3b4b1f Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Tue, 1 Mar 2016 14:54:32 -0600
|
||||
Subject: [PATCH] Metrics
|
||||
@ -18,5 +18,5 @@ index a5fd59d..680283c 100644
|
||||
String pluginVersion = (Metrics.class.getPackage().getImplementationVersion() != null) ? Metrics.class.getPackage().getImplementationVersion() : "unknown";
|
||||
String serverVersion = Bukkit.getVersion();
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,209 +0,0 @@
|
||||
From 97bbce71d023974e57cfae01c96b05e7086e2d77 Mon Sep 17 00:00:00 2001
|
||||
From: Jedediah Smith <jedediah@silencegreys.com>
|
||||
Date: Tue, 1 Mar 2016 14:47:52 -0600
|
||||
Subject: [PATCH] Player affects spawning API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index ffcc235..35f4647 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -1,6 +1,7 @@
|
||||
package net.minecraft.server;
|
||||
|
||||
import com.google.common.base.Charsets;
|
||||
+import com.google.common.base.Predicate; // Paper
|
||||
import com.google.common.collect.Lists;
|
||||
import com.mojang.authlib.GameProfile;
|
||||
import java.util.Arrays;
|
||||
@@ -65,6 +66,19 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
private final ItemCooldown bW = this.l();
|
||||
public EntityFishingHook hookedFish;
|
||||
|
||||
+ // Paper start - affectsSpawning API
|
||||
+ public boolean affectsSpawning = true;
|
||||
+
|
||||
+ public static Predicate<EntityHuman> affectsSpawningFilter() {
|
||||
+ return new Predicate<EntityHuman>() {
|
||||
+ @Override
|
||||
+ public boolean apply(EntityHuman entityHuman) {
|
||||
+ return entityHuman.affectsSpawning;
|
||||
+ }
|
||||
+ };
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
// CraftBukkit start
|
||||
public boolean fauxSleeping;
|
||||
public String spawnWorld = "";
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index 85d4b81..74aaba2 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -625,7 +625,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
if (this.persistent) {
|
||||
this.ticksFarFromPlayer = 0;
|
||||
} else {
|
||||
- EntityHuman entityhuman = this.world.findNearbyPlayer(this, -1.0D);
|
||||
+ EntityHuman entityhuman = this.world.findNearbyPlayer(this, -1.0D, EntityHuman.affectsSpawningFilter()); // Paper - affectsSpawning filter
|
||||
|
||||
if (entityhuman != null) {
|
||||
double d0 = entityhuman.locX - this.locX;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java
|
||||
index 78dbf79..e4d3ba4 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntitySilverfish.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntitySilverfish.java
|
||||
@@ -93,7 +93,7 @@ public class EntitySilverfish extends EntityMonster {
|
||||
|
||||
public boolean cK() {
|
||||
if (super.cK()) {
|
||||
- EntityHuman entityhuman = this.world.b(this, 5.0D);
|
||||
+ EntityHuman entityhuman = this.world.findNearbyPlayerNotInCreativeMode(this, 5.0D, EntityHuman.affectsSpawningFilter()); // Paper - affectsSpawning filter
|
||||
|
||||
return entityhuman == null;
|
||||
} else {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
index 3145bdc..6981185 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
@@ -197,7 +197,7 @@ public class EntityZombie extends EntityMonster {
|
||||
|
||||
if (this.world.getType(new BlockPosition(i1, j1 - 1, k1)).q() && this.world.getLightLevel(new BlockPosition(i1, j1, k1)) < 10) {
|
||||
entityzombie.setPosition((double) i1, (double) j1, (double) k1);
|
||||
- if (!this.world.isPlayerNearby((double) i1, (double) j1, (double) k1, 7.0D) && this.world.a(entityzombie.getBoundingBox(), (Entity) entityzombie) && this.world.getCubes(entityzombie, entityzombie.getBoundingBox()).isEmpty() && !this.world.containsLiquid(entityzombie.getBoundingBox())) {
|
||||
+ if (!this.world.isPlayerNearby((double) i1, (double) j1, (double) k1, 7.0D, EntityHuman.affectsSpawningFilter()) && this.world.a(entityzombie.getBoundingBox(), (Entity) entityzombie) && this.world.getCubes(entityzombie, entityzombie.getBoundingBox()).isEmpty() && !this.world.containsLiquid(entityzombie.getBoundingBox())) { // Paper - affectsSpawning filter
|
||||
this.world.addEntity(entityzombie, CreatureSpawnEvent.SpawnReason.REINFORCEMENTS); // CraftBukkit
|
||||
entityzombie.setGoalTarget(entityliving, EntityTargetEvent.TargetReason.REINFORCEMENT_TARGET, true);
|
||||
entityzombie.prepare(this.world.D(new BlockPosition(entityzombie)), (GroupDataEntity) null);
|
||||
diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
|
||||
index 7bae42a..f040775 100644
|
||||
--- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
|
||||
@@ -32,7 +32,7 @@ public abstract class MobSpawnerAbstract {
|
||||
private boolean h() {
|
||||
BlockPosition blockposition = this.b();
|
||||
|
||||
- return this.a().isPlayerNearby((double) blockposition.getX() + 0.5D, (double) blockposition.getY() + 0.5D, (double) blockposition.getZ() + 0.5D, (double) this.requiredPlayerRange);
|
||||
+ return this.a().isPlayerNearby((double) blockposition.getX() + 0.5D, (double) blockposition.getY() + 0.5D, (double) blockposition.getZ() + 0.5D, (double) this.requiredPlayerRange, EntityHuman.affectsSpawningFilter()); // Paper - affectsSpawning filter
|
||||
}
|
||||
|
||||
public void c() {
|
||||
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
index 9e86aa2..fb0830d 100644
|
||||
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
@@ -52,6 +52,8 @@ public final class SpawnerCreature {
|
||||
while (iterator.hasNext()) {
|
||||
EntityHuman entityhuman = (EntityHuman) iterator.next();
|
||||
|
||||
+ if (!entityhuman.affectsSpawning) continue; // Paper - affectsSpawning check
|
||||
+
|
||||
if (!entityhuman.isSpectator()) {
|
||||
int l = MathHelper.floor(entityhuman.locX / 16.0D);
|
||||
|
||||
@@ -162,7 +164,7 @@ public final class SpawnerCreature {
|
||||
float f = (float) j3 + 0.5F;
|
||||
float f1 = (float) l3 + 0.5F;
|
||||
|
||||
- if (!worldserver.isPlayerNearby((double) f, (double) k3, (double) f1, 24.0D) && blockposition.distanceSquared((double) f, (double) k3, (double) f1) >= 576.0D) {
|
||||
+ if (!worldserver.isPlayerNearby((double) f, (double) k3, (double) f1, 24.0D, EntityHuman.affectsSpawningFilter()) && blockposition.distanceSquared((double) f, (double) k3, (double) f1) >= 576.0D) { // Paper - affectsSpawning filter
|
||||
if (biomebase_biomemeta == null) {
|
||||
biomebase_biomemeta = worldserver.a(enumcreaturetype, (BlockPosition) blockposition_mutableblockposition);
|
||||
if (biomebase_biomemeta == null) {
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 3e79e02..e3d971c 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -3,6 +3,7 @@
|
||||
import com.google.common.base.Function;
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.base.Predicate;
|
||||
+import com.google.common.base.Predicates; // Paper
|
||||
import com.google.common.collect.Lists;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
@@ -2713,16 +2714,31 @@ public abstract class World implements IBlockAccess {
|
||||
|
||||
@Nullable
|
||||
public EntityHuman findNearbyPlayer(Entity entity, double d0) {
|
||||
- return this.a(entity.locX, entity.locY, entity.locZ, d0, false);
|
||||
+ // Paper start - Add filter parameter
|
||||
+ return findNearbyPlayer(entity, d0, Predicates.<EntityHuman>alwaysTrue());
|
||||
+ }
|
||||
+
|
||||
+ public EntityHuman findNearbyPlayer(Entity entity, double d0, Predicate<EntityHuman> filter) {
|
||||
+ return this.findNearbyPlayer(entity.locX, entity.locY, entity.locZ, d0, false, filter);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public EntityHuman b(Entity entity, double d0) {
|
||||
- return this.a(entity.locX, entity.locY, entity.locZ, d0, true);
|
||||
+ return this.findNearbyPlayerNotInCreativeMode(entity, d0, Predicates.<EntityHuman>alwaysTrue());
|
||||
+ }
|
||||
+
|
||||
+ public EntityHuman findNearbyPlayerNotInCreativeMode(Entity entity, double d0, Predicate<EntityHuman> filter) {
|
||||
+ return this.findNearbyPlayer(entity.locX, entity.locY, entity.locZ, d0, true, filter);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public EntityHuman a(double d0, double d1, double d2, double d3, boolean flag) {
|
||||
+ return findNearbyPlayer(d0, d1, d2, d3, flag, Predicates.<EntityHuman>alwaysTrue());
|
||||
+ }
|
||||
+
|
||||
+ public EntityHuman findNearbyPlayer(double d0, double d1, double d2, double d3, boolean flag, Predicate<EntityHuman> filter) {
|
||||
+ // FYI the flag means "exclude creative mode players"
|
||||
+ // Paper end
|
||||
double d4 = -1.0D;
|
||||
EntityHuman entityhuman = null;
|
||||
|
||||
@@ -2734,6 +2750,8 @@ public abstract class World implements IBlockAccess {
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
+ if (!filter.apply(entityhuman1)) continue; // Paper - check filter
|
||||
+
|
||||
if ((IEntitySelector.d.apply(entityhuman1) || !flag) && (IEntitySelector.e.apply(entityhuman1) || flag)) {
|
||||
double d5 = entityhuman1.e(d0, d1, d2);
|
||||
|
||||
@@ -2748,9 +2766,17 @@ public abstract class World implements IBlockAccess {
|
||||
}
|
||||
|
||||
public boolean isPlayerNearby(double d0, double d1, double d2, double d3) {
|
||||
+ // Paper start - add filter parameter
|
||||
+ return isPlayerNearby(d0, d1, d2, d3, Predicates.<EntityHuman>alwaysTrue());
|
||||
+ }
|
||||
+
|
||||
+ public boolean isPlayerNearby(double d0, double d1, double d2, double d3, Predicate<EntityHuman> filter) {
|
||||
+ // Paper end
|
||||
for (int i = 0; i < this.players.size(); ++i) {
|
||||
EntityHuman entityhuman = (EntityHuman) this.players.get(i);
|
||||
|
||||
+ if (!filter.apply(entityhuman)) continue; // Paper - check filter
|
||||
+
|
||||
if (IEntitySelector.e.apply(entityhuman)) {
|
||||
double d4 = entityhuman.e(d0, d1, d2);
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 5874554..95cdbab 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1427,6 +1427,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
}
|
||||
|
||||
+ @Override
|
||||
+ public void setAffectsSpawning(boolean affects) {
|
||||
+ this.getHandle().affectsSpawning = affects;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean getAffectsSpawning() {
|
||||
+ return this.getHandle().affectsSpawning;
|
||||
+ }
|
||||
+
|
||||
// Spigot start
|
||||
private final Player.Spigot spigot = new Player.Spigot()
|
||||
{
|
||||
--
|
||||
2.10.0.windows.1
|
||||
|
@ -1,15 +1,15 @@
|
||||
From f4ee8852de88f04a10452efeadde65721090b7a2 Mon Sep 17 00:00:00 2001
|
||||
From 6fa172fd0c691f25c4f2bde7223513232b35ab32 Mon Sep 17 00:00:00 2001
|
||||
From: Byteflux <byte@byteflux.net>
|
||||
Date: Tue, 1 Mar 2016 15:08:03 -0600
|
||||
Subject: [PATCH] Remove invalid mob spawner tile entities
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 5807bb8..445419f 100644
|
||||
index bd3b160..1c0108e 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -722,6 +722,10 @@ public class Chunk {
|
||||
tileentity.z();
|
||||
tileentity.A();
|
||||
this.tileEntities.put(blockposition, tileentity);
|
||||
// CraftBukkit start
|
||||
+ // Paper start - Remove invalid mob spawner tile entities
|
||||
@ -20,5 +20,5 @@ index 5807bb8..445419f 100644
|
||||
System.out.println("Attempted to place a tile entity (" + tileentity + ") at " + tileentity.position.getX() + "," + tileentity.position.getY() + "," + tileentity.position.getZ()
|
||||
+ " (" + org.bukkit.craftbukkit.util.CraftMagicNumbers.getMaterial(getBlockData(blockposition).getBlock()) + ") where there was no entity tile!");
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,21 +1,21 @@
|
||||
From acf62d273a781fa52762156b98d76d0f27e28a4d Mon Sep 17 00:00:00 2001
|
||||
From f2bbe33ed075142f13f0c6d51b67f5e2d62f7a31 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Tue, 1 Mar 2016 22:01:19 -0600
|
||||
Subject: [PATCH] Optimize TileEntity Ticking
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java
|
||||
index 5014903..81db929 100644
|
||||
index 28a514a..60452e8 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntityChest.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntityChest.java
|
||||
@@ -9,17 +9,17 @@ import org.bukkit.craftbukkit.entity.CraftHumanEntity;
|
||||
@@ -8,17 +8,17 @@ import org.bukkit.craftbukkit.entity.CraftHumanEntity;
|
||||
import org.bukkit.entity.HumanEntity;
|
||||
// CraftBukkit end
|
||||
|
||||
-public class TileEntityChest extends TileEntityLootable implements ITickable, IInventory {
|
||||
+public class TileEntityChest extends TileEntityLootable implements IInventory { // Paper - Remove ITickable
|
||||
-public class TileEntityChest extends TileEntityLootable implements ITickable {
|
||||
+public class TileEntityChest extends TileEntityLootable { // Paper - Remove ITickable
|
||||
|
||||
private ItemStack[] items = new ItemStack[27];
|
||||
private NonNullList<ItemStack> items;
|
||||
public boolean a;
|
||||
- public TileEntityChest f;
|
||||
- public TileEntityChest g;
|
||||
@ -30,19 +30,19 @@ index 5014903..81db929 100644
|
||||
public float k;
|
||||
- public int l;
|
||||
+ public int l; // Paper - Number of viewers
|
||||
private int p;
|
||||
private BlockChest.Type q;
|
||||
private String r;
|
||||
@@ -241,6 +241,8 @@ public class TileEntityChest extends TileEntityLootable implements ITickable, II
|
||||
private int q;
|
||||
private BlockChest.Type r;
|
||||
|
||||
@@ -190,6 +190,8 @@ public class TileEntityChest extends TileEntityLootable implements ITickable {
|
||||
}
|
||||
|
||||
public void E_() {
|
||||
public void F_() {
|
||||
+ // Paper - Disable all of this, just in case this does get ticked
|
||||
+ /*
|
||||
this.m();
|
||||
this.o();
|
||||
int i = this.position.getX();
|
||||
int j = this.position.getY();
|
||||
@@ -321,7 +323,8 @@ public class TileEntityChest extends TileEntityLootable implements ITickable, II
|
||||
@@ -270,7 +272,8 @@ public class TileEntityChest extends TileEntityLootable implements ITickable {
|
||||
this.j = 0.0F;
|
||||
}
|
||||
}
|
||||
@ -52,13 +52,13 @@ index 5014903..81db929 100644
|
||||
}
|
||||
|
||||
public boolean c(int i, int j) {
|
||||
@@ -341,6 +344,28 @@ public class TileEntityChest extends TileEntityLootable implements ITickable, II
|
||||
@@ -290,6 +293,28 @@ public class TileEntityChest extends TileEntityLootable implements ITickable {
|
||||
int oldPower = Math.max(0, Math.min(15, this.l)); // CraftBukkit - Get power before new viewer is added
|
||||
|
||||
++this.l;
|
||||
+
|
||||
+ // Paper start - Move chest open sound out of the tick loop
|
||||
+ this.m();
|
||||
+ this.o();
|
||||
+
|
||||
+ if (this.l > 0 && this.j == 0.0F && this.f == null && this.h == null) {
|
||||
+ this.j = 0.7F;
|
||||
@ -74,17 +74,17 @@ index 5014903..81db929 100644
|
||||
+ d1 += 0.5D;
|
||||
+ }
|
||||
+
|
||||
+ this.world.a((EntityHuman) null, d1, (double) this.position.getY() + 0.5D, d0, SoundEffects.X, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F);
|
||||
+ this.world.a((EntityHuman) null, d1, (double) this.position.getY() + 0.5D, d0, SoundEffects.Z, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F);
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
if (this.world == null) return; // CraftBukkit
|
||||
this.world.playBlockAction(this.position, this.getBlock(), 1, this.l);
|
||||
|
||||
@@ -364,6 +389,34 @@ public class TileEntityChest extends TileEntityLootable implements ITickable, II
|
||||
@@ -314,6 +339,34 @@ public class TileEntityChest extends TileEntityLootable implements ITickable {
|
||||
if (!entityhuman.isSpectator() && this.getBlock() instanceof BlockChest) {
|
||||
int oldPower = Math.max(0, Math.min(15, this.l)); // CraftBukkit - Get power before new viewer is added
|
||||
--this.l;
|
||||
if (this.world == null) return; // CraftBukkit
|
||||
+
|
||||
+ // Paper start - Move chest close sound out of the tick loop
|
||||
+ if (this.l == 0 && this.j > 0.0F || this.l > 0 && this.j < 1.0F) {
|
||||
@ -108,16 +108,16 @@ index 5014903..81db929 100644
|
||||
+ d0 += 0.5D;
|
||||
+ }
|
||||
+
|
||||
+ this.world.a((EntityHuman) null, d0, (double) yLoc + 0.5D, d2, SoundEffects.V, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F);
|
||||
+ this.world.a((EntityHuman) null, d0, (double) yLoc + 0.5D, d2, SoundEffects.X, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F);
|
||||
+ this.j = 0.0F;
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
this.world.playBlockAction(this.position, this.getBlock(), 1, this.l);
|
||||
this.world.applyPhysics(this.position, this.getBlock(), false);
|
||||
|
||||
// CraftBukkit start - Call redstone event
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntityEnderChest.java b/src/main/java/net/minecraft/server/TileEntityEnderChest.java
|
||||
index d5f0d61..b257bc4 100644
|
||||
index 3d61c2d..586ceaa 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntityEnderChest.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntityEnderChest.java
|
||||
@@ -1,15 +1,17 @@
|
||||
@ -135,7 +135,7 @@ index d5f0d61..b257bc4 100644
|
||||
|
||||
public TileEntityEnderChest() {}
|
||||
|
||||
public void E_() {
|
||||
public void F_() {
|
||||
+ // Paper start - Disable all of this, just in case this does get ticked
|
||||
+ /*
|
||||
if (++this.h % 20 * 4 == 0) {
|
||||
@ -152,7 +152,7 @@ index d5f0d61..b257bc4 100644
|
||||
|
||||
@@ -73,11 +77,34 @@ public class TileEntityEnderChest extends TileEntity implements ITickable {
|
||||
|
||||
public void d() {
|
||||
public void a() {
|
||||
++this.g;
|
||||
+
|
||||
+ // Paper start - Move enderchest open sounds out of the tick loop
|
||||
@ -162,7 +162,7 @@ index d5f0d61..b257bc4 100644
|
||||
+ double d1 = (double) this.getPosition().getX() + 0.5D;
|
||||
+ double d0 = (double) this.getPosition().getZ() + 0.5D;
|
||||
+
|
||||
+ this.world.a((EntityHuman) null, d1, (double) this.getPosition().getY() + 0.5D, d0, SoundEffects.aN, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F);
|
||||
+ this.world.a((EntityHuman) null, d1, (double) this.getPosition().getY() + 0.5D, d0, SoundEffects.aQ, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F);
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
@ -177,7 +177,7 @@ index d5f0d61..b257bc4 100644
|
||||
+ double d0 = (double) this.getPosition().getX() + 0.5D;
|
||||
+ double d2 = (double) this.getPosition().getZ() + 0.5D;
|
||||
+
|
||||
+ this.world.a((EntityHuman) null, d0, (double) this.getPosition().getY() + 0.5D, d2, SoundEffects.aM, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F);
|
||||
+ this.world.a((EntityHuman) null, d0, (double) this.getPosition().getY() + 0.5D, d2, SoundEffects.aP, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F);
|
||||
+ this.a = 0.0F;
|
||||
+ }
|
||||
+ // Paper end
|
||||
@ -186,5 +186,5 @@ index d5f0d61..b257bc4 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 01d6f991f6f4b263e38da7878cad63b7a7cd7b1b Mon Sep 17 00:00:00 2001
|
||||
From 5cb731aebea389dbd75eaf4cb77841f9672baa62 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 1 Mar 2016 23:09:29 -0600
|
||||
Subject: [PATCH] Further improve server tick loop
|
||||
@ -12,10 +12,10 @@ Previous implementation did not calculate TPS correctly.
|
||||
Switch to a realistic rolling average and factor in std deviation as an extra reporting variable
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 062cfd6..1363472 100644
|
||||
index c8c6959..127d11c 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -109,17 +109,11 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
@@ -112,17 +112,11 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
public org.bukkit.command.ConsoleCommandSender console;
|
||||
public org.bukkit.command.RemoteConsoleCommandSender remoteConsole;
|
||||
public ConsoleReader reader;
|
||||
@ -34,7 +34,7 @@ index 062cfd6..1363472 100644
|
||||
|
||||
public MinecraftServer(OptionSet options, Proxy proxy, DataConverterManager dataconvertermanager, YggdrasilAuthenticationService yggdrasilauthenticationservice, MinecraftSessionService minecraftsessionservice, GameProfileRepository gameprofilerepository, UserCache usercache) {
|
||||
io.netty.util.ResourceLeakDetector.setEnabled( false ); // Spigot - disable
|
||||
@@ -524,12 +518,54 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
@@ -531,12 +525,54 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
this.isRunning = false;
|
||||
}
|
||||
|
||||
@ -94,7 +94,7 @@ index 062cfd6..1363472 100644
|
||||
|
||||
public void run() {
|
||||
try {
|
||||
@@ -543,24 +579,41 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
@@ -550,24 +586,41 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
|
||||
// Spigot start
|
||||
Arrays.fill( recentTps, 20 );
|
||||
@ -148,10 +148,10 @@ index 062cfd6..1363472 100644
|
||||
}
|
||||
lastTick = curTime;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 4ac573f..b5132cd 100644
|
||||
index e782a80..494c61a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1724,6 +1724,17 @@ public final class CraftServer implements Server {
|
||||
@@ -1719,6 +1719,17 @@ public final class CraftServer implements Server {
|
||||
return CraftMagicNumbers.INSTANCE;
|
||||
}
|
||||
|
||||
@ -211,5 +211,5 @@ index be2e31d..6d21c32 100644
|
||||
return ( ( tps > 18.0 ) ? ChatColor.GREEN : ( tps > 16.0 ) ? ChatColor.YELLOW : ChatColor.RED ).toString()
|
||||
+ ( ( tps > 20.0 ) ? "*" : "" ) + Math.min( Math.round( tps * 100.0 ) / 100.0, 20.0 );
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,11 +1,11 @@
|
||||
From 52edc592b137c32d87f8ead08ea7b011614b406e Mon Sep 17 00:00:00 2001
|
||||
From b9c6bdb7d61d314397dc9f1426d80b23b8f43eee Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Tue, 1 Mar 2016 23:12:03 -0600
|
||||
Subject: [PATCH] Only refresh abilities if needed
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 95cdbab..3b0e58b 100644
|
||||
index 3bda255..0267e50 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1151,12 +1151,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@ -24,5 +24,5 @@ index 95cdbab..3b0e58b 100644
|
||||
|
||||
@Override
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,11 +1,11 @@
|
||||
From c4f8d2a04dc43344dc465aeee0ad81a67677ea1e Mon Sep 17 00:00:00 2001
|
||||
From 72530f8a0121d4f72bd4b24f9164512ed285288f Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Tue, 1 Mar 2016 23:19:01 -0600
|
||||
Subject: [PATCH] Add async chunk load API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index b1e4026..9ef8fc1 100644
|
||||
index bc214af..c507858 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -125,6 +125,26 @@ public class CraftWorld implements World {
|
||||
@ -36,5 +36,5 @@ index b1e4026..9ef8fc1 100644
|
||||
return this.world.getChunkProviderServer().getChunkAt(x, z).bukkitChunk;
|
||||
}
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 3febea393a161f09bef588e1b62c721860f1b0ec Mon Sep 17 00:00:00 2001
|
||||
From d67a5caa6bb6004252668cda3001ccd9180c5e5a Mon Sep 17 00:00:00 2001
|
||||
From: Byteflux <byte@byteflux.net>
|
||||
Date: Tue, 1 Mar 2016 23:45:08 -0600
|
||||
Subject: [PATCH] Entity Origin API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 1409faa..cf08a0e 100644
|
||||
index e0276a6..6766166 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -145,6 +145,7 @@ public abstract class Entity implements ICommandListener {
|
||||
@@ -144,6 +144,7 @@ public abstract class Entity implements ICommandListener {
|
||||
public org.bukkit.projectiles.ProjectileSource projectileSource; // CraftBukkit - For projectiles only
|
||||
public boolean forceExplosionKnockback; // CraftBukkit - SPIGOT-949
|
||||
public Timing tickTimer = MinecraftTimings.getEntityTimings(this); // Paper
|
||||
@ -16,7 +16,7 @@ index 1409faa..cf08a0e 100644
|
||||
// Spigot start
|
||||
public final byte activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this);
|
||||
public final boolean defaultActivationState;
|
||||
@@ -1373,6 +1374,11 @@ public abstract class Entity implements ICommandListener {
|
||||
@@ -1416,6 +1417,11 @@ public abstract class Entity implements ICommandListener {
|
||||
}
|
||||
}
|
||||
|
||||
@ -28,7 +28,7 @@ index 1409faa..cf08a0e 100644
|
||||
return nbttagcompound;
|
||||
} catch (Throwable throwable) {
|
||||
CrashReport crashreport = CrashReport.a(throwable, "Saving entity NBT");
|
||||
@@ -1517,6 +1523,13 @@ public abstract class Entity implements ICommandListener {
|
||||
@@ -1560,6 +1566,13 @@ public abstract class Entity implements ICommandListener {
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@ -42,7 +42,7 @@ index 1409faa..cf08a0e 100644
|
||||
} catch (Throwable throwable) {
|
||||
CrashReport crashreport = CrashReport.a(throwable, "Loading entity NBT");
|
||||
CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being loaded");
|
||||
@@ -1538,6 +1551,7 @@ public abstract class Entity implements ICommandListener {
|
||||
@@ -1584,6 +1597,7 @@ public abstract class Entity implements ICommandListener {
|
||||
|
||||
protected abstract void b(NBTTagCompound nbttagcompound);
|
||||
|
||||
@ -51,10 +51,10 @@ index 1409faa..cf08a0e 100644
|
||||
NBTTagList nbttaglist = new NBTTagList();
|
||||
double[] adouble1 = adouble;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
|
||||
index dbcda27..a1392d6 100644
|
||||
index 2ed1fb1..042670b 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
|
||||
@@ -246,6 +246,14 @@ public class EntityFallingBlock extends Entity {
|
||||
@@ -247,6 +247,14 @@ public class EntityFallingBlock extends Entity {
|
||||
this.block = Blocks.SAND.getBlockData();
|
||||
}
|
||||
|
||||
@ -70,10 +70,10 @@ index dbcda27..a1392d6 100644
|
||||
|
||||
public void a(boolean flag) {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
|
||||
index 2745c49..86f3f1f 100644
|
||||
index fd07356..25e471d 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
|
||||
@@ -107,6 +107,14 @@ public class EntityTNTPrimed extends Entity {
|
||||
@@ -108,6 +108,14 @@ public class EntityTNTPrimed extends Entity {
|
||||
|
||||
protected void a(NBTTagCompound nbttagcompound) {
|
||||
this.setFuseTicks(nbttagcompound.getShort("Fuse"));
|
||||
@ -87,12 +87,12 @@ index 2745c49..86f3f1f 100644
|
||||
+ // Paper end
|
||||
}
|
||||
|
||||
public EntityLiving getSource() {
|
||||
@Nullable
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index e3d971c..5b3e50c 100644
|
||||
index 52171a3..4db969b 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -962,6 +962,12 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1021,6 +1021,12 @@ public abstract class World implements IBlockAccess {
|
||||
int j = MathHelper.floor(entity.locZ / 16.0D);
|
||||
boolean flag = entity.attachedToPlayer;
|
||||
|
||||
@ -106,10 +106,10 @@ index e3d971c..5b3e50c 100644
|
||||
flag = true;
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 09523de..a24efd9 100644
|
||||
index 72fd019..f8aabe2 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -650,4 +650,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -672,4 +672,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return spigot;
|
||||
}
|
||||
// Spigot end
|
||||
@ -122,11 +122,11 @@ index 09523de..a24efd9 100644
|
||||
+ }
|
||||
+ // Paper end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingSand.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingSand.java
|
||||
index ad4eb39..f6dad02 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingSand.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingSand.java
|
||||
@@ -65,4 +65,11 @@ public class CraftFallingSand extends CraftEntity implements FallingSand {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java
|
||||
index b0a7f63..56666f1 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFallingBlock.java
|
||||
@@ -65,4 +65,11 @@ public class CraftFallingBlock extends CraftEntity implements FallingBlock {
|
||||
// Second field for EntityFallingBlock
|
||||
getHandle().ticksLived = value;
|
||||
}
|
@ -1,32 +1,32 @@
|
||||
From 9180cb4c79c197a377028ff0066f36a57010f7e3 Mon Sep 17 00:00:00 2001
|
||||
From 7fbd0b2351a7a6e38cf85611cbcb5caa1fc5cbf0 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 1 Mar 2016 23:52:34 -0600
|
||||
Subject: [PATCH] Prevent tile entity and entity crashes
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
|
||||
index 2b82312..9fa93ed 100644
|
||||
index 0f505ed..1f3e89b 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntity.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntity.java
|
||||
@@ -177,7 +177,12 @@ public abstract class TileEntity {
|
||||
@@ -175,7 +175,12 @@ public abstract class TileEntity {
|
||||
}
|
||||
});
|
||||
if (this.world != null) {
|
||||
- CrashReportSystemDetails.a(crashreportsystemdetails, this.position, this.getBlock(), this.u());
|
||||
- CrashReportSystemDetails.a(crashreportsystemdetails, this.position, this.getBlock(), this.v());
|
||||
+ // Paper start - Prevent TileEntity and Entity crashes
|
||||
+ Block block = this.getBlock();
|
||||
+ if (block != null) {
|
||||
+ CrashReportSystemDetails.a(crashreportsystemdetails, this.position, block, this.u());
|
||||
+ CrashReportSystemDetails.a(crashreportsystemdetails, this.position, this.getBlock(), this.v());
|
||||
+ }
|
||||
+ // Paper end
|
||||
crashreportsystemdetails.a("Actual block type", new CrashReportCallable() {
|
||||
public String a() throws Exception {
|
||||
int i = Block.getId(TileEntity.this.world.getType(TileEntity.this.position).getBlock());
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 5b3e50c..8fb8176 100644
|
||||
index 4db969b..20cc5ff 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1445,10 +1445,12 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1467,10 +1467,12 @@ public abstract class World implements IBlockAccess {
|
||||
entity.tickTimer.stopTiming(); // Paper
|
||||
} catch (Throwable throwable1) {
|
||||
entity.tickTimer.stopTiming();
|
||||
@ -43,8 +43,8 @@ index 5b3e50c..8fb8176 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1511,10 +1513,13 @@ public abstract class World implements IBlockAccess {
|
||||
((ITickable) tileentity).E_();
|
||||
@@ -1533,10 +1535,13 @@ public abstract class World implements IBlockAccess {
|
||||
((ITickable) tileentity).F_();
|
||||
this.methodProfiler.b();
|
||||
} catch (Throwable throwable2) {
|
||||
- crashreport1 = CrashReport.a(throwable2, "Ticking block entity");
|
||||
@ -62,5 +62,5 @@ index 5b3e50c..8fb8176 100644
|
||||
// Spigot start
|
||||
finally {
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From a926366fca50262a094af3fe90e733f386d83b7c Mon Sep 17 00:00:00 2001
|
||||
From 94a01cae0a4766334b1efdb05a4410a02a84a401 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Tue, 1 Mar 2016 23:58:50 -0600
|
||||
Subject: [PATCH] Configurable top of nether void damage
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 8fc2f6c..d78b688 100644
|
||||
index 06d1527..2767ffb 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -152,4 +152,10 @@ public class PaperWorldConfig {
|
||||
@@ -143,4 +143,10 @@ public class PaperWorldConfig {
|
||||
waterOverLavaFlowSpeed = getInt("water-over-lava-flow-speed", 5);
|
||||
log("Water over lava flow speed: " + waterOverLavaFlowSpeed);
|
||||
}
|
||||
@ -20,10 +20,10 @@ index 8fc2f6c..d78b688 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 38df1c6..fd51ecb 100644
|
||||
index 6766166..40398ca 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -386,9 +386,15 @@ public abstract class Entity implements ICommandListener {
|
||||
@@ -390,9 +390,15 @@ public abstract class Entity implements ICommandListener {
|
||||
this.fallDistance *= 0.5F;
|
||||
}
|
||||
|
||||
@ -39,7 +39,7 @@ index 38df1c6..fd51ecb 100644
|
||||
|
||||
if (!this.world.isClientSide) {
|
||||
this.setFlag(0, this.fireTicks > 0);
|
||||
@@ -398,6 +404,18 @@ public abstract class Entity implements ICommandListener {
|
||||
@@ -402,6 +408,18 @@ public abstract class Entity implements ICommandListener {
|
||||
this.world.methodProfiler.b();
|
||||
}
|
||||
|
||||
@ -58,7 +58,7 @@ index 38df1c6..fd51ecb 100644
|
||||
protected void H() {
|
||||
if (this.portalCooldown > 0) {
|
||||
--this.portalCooldown;
|
||||
@@ -454,6 +472,7 @@ public abstract class Entity implements ICommandListener {
|
||||
@@ -458,6 +476,7 @@ public abstract class Entity implements ICommandListener {
|
||||
this.fireTicks = 0;
|
||||
}
|
||||
|
||||
@ -67,10 +67,10 @@ index 38df1c6..fd51ecb 100644
|
||||
this.die();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
|
||||
index 36ef2da..4438d83 100644
|
||||
index fdacb6d..ec75bab 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
|
||||
@@ -210,9 +210,15 @@ public abstract class EntityMinecartAbstract extends Entity implements INamableT
|
||||
@@ -206,9 +206,15 @@ public abstract class EntityMinecartAbstract extends Entity implements INamableT
|
||||
this.setDamage(this.getDamage() - 1.0F);
|
||||
}
|
||||
|
||||
@ -87,5 +87,5 @@ index 36ef2da..4438d83 100644
|
||||
int i;
|
||||
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 1f849507582b5b1dae133b05b73c29aa78ef9d14 Mon Sep 17 00:00:00 2001
|
||||
From 44c07ef0621492638973ef6e53b42a04e87c7bee Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Wed, 2 Mar 2016 00:03:55 -0600
|
||||
Subject: [PATCH] Check online mode before converting and renaming player data
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldNBTStorage.java b/src/main/java/net/minecraft/server/WorldNBTStorage.java
|
||||
index 75e2338..f077398 100644
|
||||
index b6cb918..7c4c599 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldNBTStorage.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldNBTStorage.java
|
||||
@@ -165,7 +165,7 @@ public class WorldNBTStorage implements IDataManager, IPlayerFileData {
|
||||
@@ -166,7 +166,7 @@ public class WorldNBTStorage implements IDataManager, IPlayerFileData {
|
||||
File file = new File(this.playerDir, entityhuman.bf() + ".dat");
|
||||
// Spigot Start
|
||||
boolean usingWrongFile = false;
|
||||
@ -18,5 +18,5 @@ index 75e2338..f077398 100644
|
||||
file = new File( this.playerDir, UUID.nameUUIDFromBytes( ( "OfflinePlayer:" + entityhuman.getName() ).getBytes( "UTF-8" ) ).toString() + ".dat");
|
||||
if ( file.exists() )
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,11 +1,11 @@
|
||||
From 67763518c9084c592b734afd2bd4118da9127b92 Mon Sep 17 00:00:00 2001
|
||||
From 2a837acc0906c9c21810efbe5aa68b66d4866d3a Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Wed, 2 Mar 2016 00:32:25 -0600
|
||||
Subject: [PATCH] Always tick falling blocks
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index eb30abe..c4ed64a 100644
|
||||
index 5c2fb00..c411ce8 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -13,6 +13,7 @@ import net.minecraft.server.EntityCreature;
|
||||
@ -25,5 +25,5 @@ index eb30abe..c4ed64a 100644
|
||||
|| entity instanceof EntityFireworks )
|
||||
{
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From fa2e0c1e868ffb94b3748ffbd75b60a5b6ce38fc Mon Sep 17 00:00:00 2001
|
||||
From de8891c221aadfd9a15b896d964d0d41367c5c44 Mon Sep 17 00:00:00 2001
|
||||
From: Byteflux <byte@byteflux.net>
|
||||
Date: Wed, 2 Mar 2016 00:52:31 -0600
|
||||
Subject: [PATCH] Lighting Queue
|
||||
@ -27,10 +27,10 @@ index e778911..f90f5bf 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index d78b688..158db3a 100644
|
||||
index 2767ffb..f7a0c18 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -158,4 +158,10 @@ public class PaperWorldConfig {
|
||||
@@ -149,4 +149,10 @@ public class PaperWorldConfig {
|
||||
netherVoidTopDamage = getBoolean( "nether-ceiling-void-damage", false );
|
||||
log("Top of the nether void damage: " + netherVoidTopDamage);
|
||||
}
|
||||
@ -42,7 +42,7 @@ index d78b688..158db3a 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 445419f..76130c9 100644
|
||||
index 1c0108e..b80f951 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -33,6 +33,7 @@ public class Chunk {
|
||||
@ -85,10 +85,10 @@ index 445419f..76130c9 100644
|
||||
|
||||
TileEntity tileentity;
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 1380815..466cd49 100644
|
||||
index 17d39bb..df3ce72 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -279,6 +279,7 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||
@@ -280,6 +280,7 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||
return false;
|
||||
}
|
||||
save = event.isSaveChunk();
|
||||
@ -97,10 +97,10 @@ index 1380815..466cd49 100644
|
||||
// Update neighbor counts
|
||||
for (int x = -2; x < 3; x++) {
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 029a6c3..f0dcb9f 100644
|
||||
index 127d11c..2e72b8c 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -709,7 +709,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
@@ -716,7 +716,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
|
||||
protected void C() throws ExceptionWorldConflict { // CraftBukkit - added throws
|
||||
co.aikar.timings.TimingsManager.FULL_SERVER_TICK.startTiming(); // Paper
|
||||
@ -108,8 +108,8 @@ index 029a6c3..f0dcb9f 100644
|
||||
+ long i = System.nanoTime(); long startTime = i; // Paper
|
||||
|
||||
++this.ticks;
|
||||
if (this.S) {
|
||||
@@ -767,6 +767,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
if (this.T) {
|
||||
@@ -774,6 +774,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
this.methodProfiler.b();
|
||||
|
||||
org.spigotmc.WatchdogThread.tick(); // Spigot
|
||||
@ -222,10 +222,10 @@ index 0000000..2350fe3
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 8fb8176..672167a 100644
|
||||
index 20cc5ff..abe11ad 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -384,7 +384,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -387,7 +387,7 @@ public abstract class World implements IBlockAccess {
|
||||
} else {
|
||||
if (iblockdata.c() != iblockdata1.c() || iblockdata.d() != iblockdata1.d()) {
|
||||
this.methodProfiler.a("checkLight");
|
||||
@ -235,5 +235,5 @@ index 8fb8176..672167a 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.10.1
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 40b69207b686437a0b1414c9f46ad9c3d11f5d6f Mon Sep 17 00:00:00 2001
|
||||
From ee64101f6764c9f72a0c602568c0a27a872adeae Mon Sep 17 00:00:00 2001
|
||||
From: DoctorDark <doctordark11@gmail.com>
|
||||
Date: Wed, 16 Mar 2016 02:21:39 -0500
|
||||
Subject: [PATCH] Configurable end credits
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 158db3a..e4e5487 100644
|
||||
index f7a0c18..31503e7 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -164,4 +164,10 @@ public class PaperWorldConfig {
|
||||
@@ -155,4 +155,10 @@ public class PaperWorldConfig {
|
||||
queueLightUpdates = getBoolean("queue-light-updates", false);
|
||||
log("Lighting Queue enabled: " + queueLightUpdates);
|
||||
}
|
||||
@ -20,10 +20,10 @@ index 158db3a..e4e5487 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 37c94f8..522c7f2 100644
|
||||
index 29e33da..a400062 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -511,6 +511,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -495,6 +495,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
return this.world.pvpMode;
|
||||
}
|
||||
|
||||
@ -39,7 +39,7 @@ index 37c94f8..522c7f2 100644
|
||||
@Nullable
|
||||
public Entity c(int i) {
|
||||
// this.worldChangeInvuln = true; // CraftBukkit - Moved down and into PlayerList#changeDimension
|
||||
@@ -519,7 +528,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -503,7 +512,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
this.world.kill(this);
|
||||
if (!this.viewingCredits) {
|
||||
this.viewingCredits = true;
|
||||
@ -52,5 +52,5 @@ index 37c94f8..522c7f2 100644
|
||||
} else {
|
||||
this.b((Statistic) AchievementList.D);
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 8bd58b6f24a637fc603a703b2d20cc4208c564ac Mon Sep 17 00:00:00 2001
|
||||
From f20f61e14a0f0ce21e1f6a4dafe533125e40bf0d Mon Sep 17 00:00:00 2001
|
||||
From: Iceee <andrew@opticgaming.tv>
|
||||
Date: Wed, 2 Mar 2016 01:39:52 -0600
|
||||
Subject: [PATCH] Fix lag from explosions processing dead entities
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java
|
||||
index acbf7a8..f4765d3 100644
|
||||
index 904bee8..4e05bcd 100644
|
||||
--- a/src/main/java/net/minecraft/server/Explosion.java
|
||||
+++ b/src/main/java/net/minecraft/server/Explosion.java
|
||||
@@ -103,7 +103,14 @@ public class Explosion {
|
||||
@@ -104,7 +104,14 @@ public class Explosion {
|
||||
int i1 = MathHelper.floor(this.posY + (double) f3 + 1.0D);
|
||||
int j1 = MathHelper.floor(this.posZ - (double) f3 - 1.0D);
|
||||
int k1 = MathHelper.floor(this.posZ + (double) f3 + 1.0D);
|
||||
@ -25,5 +25,5 @@ index acbf7a8..f4765d3 100644
|
||||
|
||||
for (int l1 = 0; l1 < list.size(); ++l1) {
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,28 +0,0 @@
|
||||
From 06168b7a4b64d23e90503435a82258588871d586 Mon Sep 17 00:00:00 2001
|
||||
From: Byteflux <byte@byteflux.net>
|
||||
Date: Wed, 2 Mar 2016 00:55:24 -0600
|
||||
Subject: [PATCH] Optimize draining
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockFlowing.java b/src/main/java/net/minecraft/server/BlockFlowing.java
|
||||
index b00865e..72654df 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockFlowing.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockFlowing.java
|
||||
@@ -88,7 +88,13 @@ public class BlockFlowing extends BlockFluids {
|
||||
iblockdata = iblockdata.set(BlockFlowing.LEVEL, Integer.valueOf(i1));
|
||||
world.setTypeAndData(blockposition, iblockdata, 2);
|
||||
world.a(blockposition, (Block) this, j);
|
||||
- world.applyPhysics(blockposition, this);
|
||||
+ // Paper start - Optimize draining
|
||||
+ world.e(blockposition.west(), this);
|
||||
+ world.e(blockposition.east(), this);
|
||||
+ world.e(blockposition.up(), this);
|
||||
+ world.e(blockposition.north(), this);
|
||||
+ world.e(blockposition.south(), this);
|
||||
+ // Paper end
|
||||
}
|
||||
}
|
||||
} else {
|
||||
--
|
||||
2.10.0.windows.1
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 614348db3e370b5ac7e74b6c805d2003280a27f8 Mon Sep 17 00:00:00 2001
|
||||
From 19f118c6124003316d9f50b1a2f08e90d0b72a8f Mon Sep 17 00:00:00 2001
|
||||
From: Byteflux <byte@byteflux.net>
|
||||
Date: Wed, 2 Mar 2016 02:17:54 -0600
|
||||
Subject: [PATCH] Generator Settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index e4e5487..7525bcb 100644
|
||||
index 31503e7..bc50289 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -170,4 +170,28 @@ public class PaperWorldConfig {
|
||||
@@ -161,4 +161,28 @@ public class PaperWorldConfig {
|
||||
disableEndCredits = getBoolean("game-mechanics.disable-end-credits", false);
|
||||
log("End credits disabled: " + disableEndCredits);
|
||||
}
|
||||
@ -38,10 +38,10 @@ index e4e5487..7525bcb 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java
|
||||
index ab04f9c..bf4f06c 100644
|
||||
index 62a338e..d3f1dce 100644
|
||||
--- a/src/main/java/net/minecraft/server/BiomeBase.java
|
||||
+++ b/src/main/java/net/minecraft/server/BiomeBase.java
|
||||
@@ -178,7 +178,7 @@ public abstract class BiomeBase {
|
||||
@@ -179,7 +179,7 @@ public abstract class BiomeBase {
|
||||
BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition();
|
||||
|
||||
for (int l1 = 255; l1 >= 0; --l1) {
|
||||
@ -51,20 +51,20 @@ index ab04f9c..bf4f06c 100644
|
||||
} else {
|
||||
IBlockData iblockdata2 = chunksnapshot.a(k1, l1, j1);
|
||||
diff --git a/src/main/java/net/minecraft/server/BiomeMesa.java b/src/main/java/net/minecraft/server/BiomeMesa.java
|
||||
index 8bcc0f3..62abbbd 100644
|
||||
index 3d0a60b..1214193 100644
|
||||
--- a/src/main/java/net/minecraft/server/BiomeMesa.java
|
||||
+++ b/src/main/java/net/minecraft/server/BiomeMesa.java
|
||||
@@ -103,7 +103,7 @@ public class BiomeMesa extends BiomeBase {
|
||||
@@ -99,7 +99,7 @@ public class BiomeMesa extends BiomeBase {
|
||||
chunksnapshot.a(l, i2, k, BiomeMesa.a);
|
||||
}
|
||||
|
||||
- if (i2 <= random.nextInt(5)) {
|
||||
+ if (i2 <= (world.paperConfig.generateFlatBedrock ? 0 : random.nextInt(5))) { // Paper - Configurable flat bedrock
|
||||
chunksnapshot.a(l, i2, k, BiomeMesa.c);
|
||||
} else if (l1 < 15) {
|
||||
} else if (l1 < 15 || this.J) {
|
||||
IBlockData iblockdata2 = chunksnapshot.a(l, i2, k);
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderFlat.java b/src/main/java/net/minecraft/server/ChunkProviderFlat.java
|
||||
index aa35a24..ea6a00e 100644
|
||||
index d958a66..f8a9f49 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderFlat.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderFlat.java
|
||||
@@ -26,7 +26,7 @@ public class ChunkProviderFlat implements ChunkGenerator {
|
||||
@ -77,27 +77,27 @@ index aa35a24..ea6a00e 100644
|
||||
|
||||
if (!map1.containsKey("size")) {
|
||||
@@ -36,19 +36,19 @@ public class ChunkProviderFlat implements ChunkGenerator {
|
||||
this.e.add(new WorldGenVillage(map1));
|
||||
this.e.put("Village", new WorldGenVillage(map1));
|
||||
}
|
||||
|
||||
- if (map.containsKey("biome_1")) {
|
||||
+ if (map.containsKey("biome_1") && world.paperConfig.generateTemple) { // Paper
|
||||
this.e.add(new WorldGenLargeFeature((Map) map.get("biome_1")));
|
||||
this.e.put("Temple", new WorldGenLargeFeature((Map) map.get("biome_1")));
|
||||
}
|
||||
|
||||
- if (map.containsKey("mineshaft")) {
|
||||
+ if (map.containsKey("mineshaft") && world.paperConfig.generateMineshaft) { // Paper
|
||||
this.e.add(new WorldGenMineshaft((Map) map.get("mineshaft")));
|
||||
this.e.put("Mineshaft", new WorldGenMineshaft((Map) map.get("mineshaft")));
|
||||
}
|
||||
|
||||
- if (map.containsKey("stronghold")) {
|
||||
+ if (map.containsKey("stronghold") && world.paperConfig.generateStronghold) { // Paper
|
||||
this.e.add(new WorldGenStronghold((Map) map.get("stronghold")));
|
||||
this.e.put("Stronghold", new WorldGenStronghold((Map) map.get("stronghold")));
|
||||
}
|
||||
|
||||
- if (map.containsKey("oceanmonument")) {
|
||||
+ if (map.containsKey("oceanmonument") && world.paperConfig.generateMonument) { // Paper
|
||||
this.e.add(new WorldGenMonument((Map) map.get("oceanmonument")));
|
||||
this.e.put("Monument", new WorldGenMonument((Map) map.get("oceanmonument")));
|
||||
}
|
||||
}
|
||||
@@ -61,7 +61,7 @@ public class ChunkProviderFlat implements ChunkGenerator {
|
||||
@ -110,20 +110,20 @@ index aa35a24..ea6a00e 100644
|
||||
int k = 0;
|
||||
boolean flag1 = true;
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderGenerate.java b/src/main/java/net/minecraft/server/ChunkProviderGenerate.java
|
||||
index ac990af..0722956 100644
|
||||
index a8fc857..0530501 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderGenerate.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderGenerate.java
|
||||
@@ -158,32 +158,32 @@ public class ChunkProviderGenerate implements ChunkGenerator {
|
||||
@@ -160,32 +160,32 @@ public class ChunkProviderGenerate implements ChunkGenerator {
|
||||
this.a(i, j, chunksnapshot);
|
||||
this.C = this.n.getWorldChunkManager().getBiomeBlock(this.C, i * 16, j * 16, 16, 16);
|
||||
this.a(i, j, chunksnapshot, this.C);
|
||||
this.D = this.n.getWorldChunkManager().getBiomeBlock(this.D, i * 16, j * 16, 16, 16);
|
||||
this.a(i, j, chunksnapshot, this.D);
|
||||
- if (this.s.r) {
|
||||
+ if (this.s.r && this.n.paperConfig.generateCaves) { // Paper
|
||||
this.v.a(this.n, i, j, chunksnapshot);
|
||||
}
|
||||
|
||||
- if (this.s.z) {
|
||||
+ if (this.s.z && this.n.paperConfig.generateCanyon) { // Paper
|
||||
- if (this.s.A) {
|
||||
+ if (this.s.A && this.n.paperConfig.generateCanyon) { // Paper
|
||||
this.A.a(this.n, i, j, chunksnapshot);
|
||||
}
|
||||
|
||||
@ -152,8 +152,8 @@ index ac990af..0722956 100644
|
||||
+ if (this.s.y && this.n.paperConfig.generateMonument) { // Paper
|
||||
this.B.a(this.n, i, j, chunksnapshot);
|
||||
}
|
||||
}
|
||||
@@ -323,23 +323,23 @@ public class ChunkProviderGenerate implements ChunkGenerator {
|
||||
|
||||
@@ -329,23 +329,23 @@ public class ChunkProviderGenerate implements ChunkGenerator {
|
||||
ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(i, j);
|
||||
|
||||
if (this.o) {
|
||||
@ -181,8 +181,8 @@ index ac990af..0722956 100644
|
||||
+ if (this.s.y && this.n.paperConfig.generateMonument) { // Paper
|
||||
this.B.a(this.n, this.i, chunkcoordintpair);
|
||||
}
|
||||
}
|
||||
@@ -364,7 +364,7 @@ public class ChunkProviderGenerate implements ChunkGenerator {
|
||||
|
||||
@@ -374,7 +374,7 @@ public class ChunkProviderGenerate implements ChunkGenerator {
|
||||
}
|
||||
}
|
||||
|
||||
@ -191,7 +191,7 @@ index ac990af..0722956 100644
|
||||
for (k1 = 0; k1 < this.s.t; ++k1) {
|
||||
l1 = this.i.nextInt(16) + 8;
|
||||
i2 = this.i.nextInt(256);
|
||||
@@ -429,23 +429,23 @@ public class ChunkProviderGenerate implements ChunkGenerator {
|
||||
@@ -439,23 +439,23 @@ public class ChunkProviderGenerate implements ChunkGenerator {
|
||||
|
||||
public void recreateStructures(Chunk chunk, int i, int j) {
|
||||
if (this.o) {
|
||||
@ -219,9 +219,9 @@ index ac990af..0722956 100644
|
||||
+ if (this.s.y && this.n.paperConfig.generateMonument) { // Paper
|
||||
this.B.a(this.n, i, j, (ChunkSnapshot) null);
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderHell.java b/src/main/java/net/minecraft/server/ChunkProviderHell.java
|
||||
index 6e6ecd8..e95175e 100644
|
||||
index f9519d7..ca64ae0 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderHell.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderHell.java
|
||||
@@ -151,7 +151,10 @@ public class ChunkProviderHell implements ChunkGenerator {
|
||||
@ -245,10 +245,10 @@ index 6e6ecd8..e95175e 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/StructureGenerator.java b/src/main/java/net/minecraft/server/StructureGenerator.java
|
||||
index c965af1..3ce4449 100644
|
||||
index fb350c4..9c1605b 100644
|
||||
--- a/src/main/java/net/minecraft/server/StructureGenerator.java
|
||||
+++ b/src/main/java/net/minecraft/server/StructureGenerator.java
|
||||
@@ -95,6 +95,7 @@ public abstract class StructureGenerator extends WorldGenBase {
|
||||
@@ -96,6 +96,7 @@ public abstract class StructureGenerator extends WorldGenBase {
|
||||
}
|
||||
|
||||
public boolean b(BlockPosition blockposition) {
|
||||
@ -256,14 +256,14 @@ index c965af1..3ce4449 100644
|
||||
this.a(this.g);
|
||||
return this.c(blockposition) != null;
|
||||
}
|
||||
@@ -122,6 +123,7 @@ public abstract class StructureGenerator extends WorldGenBase {
|
||||
@@ -124,6 +125,7 @@ public abstract class StructureGenerator extends WorldGenBase {
|
||||
}
|
||||
|
||||
public synchronized boolean b(World world, BlockPosition blockposition) { // CraftBukkit - synchronized
|
||||
public boolean a(World world, BlockPosition blockposition) {
|
||||
+ if (this.g == null) return false; // Paper
|
||||
this.a(world);
|
||||
Iterator iterator = this.c.values().iterator();
|
||||
ObjectIterator objectiterator = this.c.values().iterator();
|
||||
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 515eed54a3ee0c2bcc5e03d27f522fc6c650f7e8 Mon Sep 17 00:00:00 2001
|
||||
From 28e05719f8e0a3f399db8c129b780df4fc2984e7 Mon Sep 17 00:00:00 2001
|
||||
From: Byteflux <byte@byteflux.net>
|
||||
Date: Wed, 2 Mar 2016 11:59:48 -0600
|
||||
Subject: [PATCH] Optimize explosions
|
||||
@ -10,10 +10,10 @@ This patch adds a per-tick cache that is used for storing and retrieving
|
||||
an entity's exposure during an explosion.
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 7525bcb..ca0ac9b 100644
|
||||
index bc50289..356265e 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -194,4 +194,10 @@ public class PaperWorldConfig {
|
||||
@@ -185,4 +185,10 @@ public class PaperWorldConfig {
|
||||
generateVillage = getBoolean("generator-settings.village", true);
|
||||
generateFlatBedrock = getBoolean("generator-settings.flat-bedrock", false);
|
||||
}
|
||||
@ -25,10 +25,10 @@ index 7525bcb..ca0ac9b 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java
|
||||
index f4765d3..caf29c7 100644
|
||||
index 4e05bcd..49fc95e 100644
|
||||
--- a/src/main/java/net/minecraft/server/Explosion.java
|
||||
+++ b/src/main/java/net/minecraft/server/Explosion.java
|
||||
@@ -129,7 +129,7 @@ public class Explosion {
|
||||
@@ -130,7 +130,7 @@ public class Explosion {
|
||||
d8 /= d11;
|
||||
d9 /= d11;
|
||||
d10 /= d11;
|
||||
@ -37,7 +37,7 @@ index f4765d3..caf29c7 100644
|
||||
double d13 = (1.0D - d7) * d12;
|
||||
|
||||
// CraftBukkit start
|
||||
@@ -296,4 +296,85 @@ public class Explosion {
|
||||
@@ -298,4 +298,85 @@ public class Explosion {
|
||||
public List<BlockPosition> getBlocks() {
|
||||
return this.blocks;
|
||||
}
|
||||
@ -124,10 +124,10 @@ index f4765d3..caf29c7 100644
|
||||
+ // Paper end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index f0dcb9f..885fc80 100644
|
||||
index 2e72b8c..a872e76 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -870,6 +870,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
@@ -877,6 +877,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs
|
||||
worldserver.getTracker().updatePlayers();
|
||||
this.methodProfiler.b();
|
||||
this.methodProfiler.b();
|
||||
@ -136,10 +136,10 @@ index f0dcb9f..885fc80 100644
|
||||
|
||||
// this.i[i][this.ticks % 100] = System.nanoTime() - j; // CraftBukkit
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 672167a..e8cfe2b 100644
|
||||
index abe11ad..1248a9f 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -16,6 +16,7 @@ import javax.annotation.Nullable;
|
||||
@@ -15,6 +15,7 @@ import javax.annotation.Nullable;
|
||||
|
||||
// CraftBukkit start
|
||||
import com.google.common.collect.Maps;
|
||||
@ -147,7 +147,7 @@ index 672167a..e8cfe2b 100644
|
||||
import java.util.Map;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.block.BlockState;
|
||||
@@ -135,6 +136,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -134,6 +135,7 @@ public abstract class World implements IBlockAccess {
|
||||
private org.spigotmc.TickLimiter entityLimiter;
|
||||
private org.spigotmc.TickLimiter tileLimiter;
|
||||
private int tileTickPosition;
|
||||
@ -156,5 +156,5 @@ index 672167a..e8cfe2b 100644
|
||||
public CraftWorld getWorld() {
|
||||
return this.world;
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From dac6bac6e17684e8b5b4b0fa5e51fe76f0f5b92f Mon Sep 17 00:00:00 2001
|
||||
From fb7f9985a6e06097d8a35efff62d104649223bdd Mon Sep 17 00:00:00 2001
|
||||
From: Iceee <andrew@opticgaming.tv>
|
||||
Date: Wed, 2 Mar 2016 12:03:23 -0600
|
||||
Subject: [PATCH] Stop updating flowing block if material has changed
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockFlowing.java b/src/main/java/net/minecraft/server/BlockFlowing.java
|
||||
index 72654df..def694a 100644
|
||||
index e9f73cd..83433e8 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockFlowing.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockFlowing.java
|
||||
@@ -101,6 +101,7 @@ public class BlockFlowing extends BlockFluids {
|
||||
@@ -95,6 +95,7 @@ public class BlockFlowing extends BlockFluids {
|
||||
this.f(world, blockposition, iblockdata);
|
||||
}
|
||||
|
||||
@ -17,5 +17,5 @@ index 72654df..def694a 100644
|
||||
|
||||
if (this.h(world, blockposition.down(), iblockdata2)) {
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 678a7464e92867731d118c7beea8f565e5ad6c69 Mon Sep 17 00:00:00 2001
|
||||
From d51651300f04706da2dbeb17dbf7ddcb63bca70b Mon Sep 17 00:00:00 2001
|
||||
From: Byteflux <byte@byteflux.net>
|
||||
Date: Wed, 2 Mar 2016 12:20:52 -0600
|
||||
Subject: [PATCH] Fast draining
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index ca0ac9b..f8b90e3 100644
|
||||
index 356265e..2ec5068 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -200,4 +200,11 @@ public class PaperWorldConfig {
|
||||
@@ -191,4 +191,11 @@ public class PaperWorldConfig {
|
||||
optimizeExplosions = getBoolean("optimize-explosions", false);
|
||||
log("Optimize explosions: " + optimizeExplosions);
|
||||
}
|
||||
@ -21,7 +21,7 @@ index ca0ac9b..f8b90e3 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockFlowing.java b/src/main/java/net/minecraft/server/BlockFlowing.java
|
||||
index def694a..0b5bc19 100644
|
||||
index 83433e8..2b21aec 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockFlowing.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockFlowing.java
|
||||
@@ -74,7 +74,7 @@ public class BlockFlowing extends BlockFluids {
|
||||
@ -42,7 +42,7 @@ index def694a..0b5bc19 100644
|
||||
world.setAir(blockposition);
|
||||
} else {
|
||||
iblockdata = iblockdata.set(BlockFlowing.LEVEL, Integer.valueOf(i1));
|
||||
@@ -275,6 +275,7 @@ public class BlockFlowing extends BlockFluids {
|
||||
@@ -269,6 +269,7 @@ public class BlockFlowing extends BlockFluids {
|
||||
|
||||
}
|
||||
|
||||
@ -50,7 +50,7 @@ index def694a..0b5bc19 100644
|
||||
/**
|
||||
* Paper - Get flow speed. Throttle if its water and flowing adjacent to lava
|
||||
*/
|
||||
@@ -288,4 +289,57 @@ public class BlockFlowing extends BlockFluids {
|
||||
@@ -282,4 +283,57 @@ public class BlockFlowing extends BlockFluids {
|
||||
}
|
||||
return super.a(world);
|
||||
}
|
||||
@ -109,5 +109,5 @@ index def694a..0b5bc19 100644
|
||||
+ // Paper end
|
||||
}
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 2ce25ad8cfc444a0f5bf7e327e99ce0f05618bfe Mon Sep 17 00:00:00 2001
|
||||
From 5f8b909ecc7f3564eaf77b9591ad02940d086f55 Mon Sep 17 00:00:00 2001
|
||||
From: Byteflux <byte@byteflux.net>
|
||||
Date: Wed, 2 Mar 2016 12:27:07 -0600
|
||||
Subject: [PATCH] Configurable lava flow speed
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index f8b90e3..004d4c0 100644
|
||||
index 2ec5068..b5a106d 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -207,4 +207,11 @@ public class PaperWorldConfig {
|
||||
@@ -198,4 +198,11 @@ public class PaperWorldConfig {
|
||||
fastDrainLava = getBoolean("fast-drain.lava", false);
|
||||
fastDrainWater = getBoolean("fast-drain.water", false);
|
||||
}
|
||||
@ -21,10 +21,10 @@ index f8b90e3..004d4c0 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockFlowing.java b/src/main/java/net/minecraft/server/BlockFlowing.java
|
||||
index 0b5bc19..0336b9c 100644
|
||||
index 2b21aec..3174326 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockFlowing.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockFlowing.java
|
||||
@@ -280,6 +280,9 @@ public class BlockFlowing extends BlockFluids {
|
||||
@@ -274,6 +274,9 @@ public class BlockFlowing extends BlockFluids {
|
||||
* Paper - Get flow speed. Throttle if its water and flowing adjacent to lava
|
||||
*/
|
||||
public int getFlowSpeed(World world, BlockPosition blockposition) {
|
||||
@ -35,5 +35,5 @@ index 0b5bc19..0336b9c 100644
|
||||
world.getType(blockposition.north(1)).getBlock().material == Material.LAVA ||
|
||||
world.getType(blockposition.south(1)).getBlock().material == Material.LAVA ||
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,11 +1,11 @@
|
||||
From 47bf3a4b1683d16807ed8e5af8ac10fae61beb57 Mon Sep 17 00:00:00 2001
|
||||
From f6252bf66202b9b23dada7c611dd52c534537efb Mon Sep 17 00:00:00 2001
|
||||
From: Byteflux <byte@byteflux.net>
|
||||
Date: Wed, 2 Mar 2016 14:35:27 -0600
|
||||
Subject: [PATCH] Add player view distance API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 522c7f2..4950db4 100644
|
||||
index a400062..635aad7 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -56,6 +56,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@ -25,7 +25,7 @@ index 522c7f2..4950db4 100644
|
||||
// CraftBukkit start
|
||||
public String displayName;
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index 797a84f..fcd0186 100644
|
||||
index ce3390c..5db113c 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -47,7 +47,7 @@ public class PlayerChunkMap {
|
||||
@ -194,7 +194,7 @@ index 797a84f..fcd0186 100644
|
||||
+ // Paper end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 3b0e58b..75c7ece 100644
|
||||
index 0267e50..2a577d5 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1438,6 +1438,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@ -215,5 +215,5 @@ index 3b0e58b..75c7ece 100644
|
||||
private final Player.Spigot spigot = new Player.Spigot()
|
||||
{
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From b17bd30962bd0c8bf018b8e06301ccb0670b0dfa Mon Sep 17 00:00:00 2001
|
||||
From ea9f6345fab166ab7678c9e5212b78f2fc18618d Mon Sep 17 00:00:00 2001
|
||||
From: Sudzzy <originmc@outlook.com>
|
||||
Date: Wed, 2 Mar 2016 14:48:03 -0600
|
||||
Subject: [PATCH] Disable explosion knockback
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 004d4c0..87979dd 100644
|
||||
index b5a106d..fcbf8a2 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -214,4 +214,9 @@ public class PaperWorldConfig {
|
||||
@@ -205,4 +205,9 @@ public class PaperWorldConfig {
|
||||
lavaFlowSpeedNormal = getInt("lava-flow-speed.normal", 30);
|
||||
lavaFlowSpeedNether = getInt("lava-flow-speed.nether", 10);
|
||||
}
|
||||
@ -19,10 +19,10 @@ index 004d4c0..87979dd 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 0a583bc..8aaab9e 100644
|
||||
index 3267357..87a8a3e 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -872,12 +872,14 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -892,12 +892,14 @@ public abstract class EntityLiving extends Entity {
|
||||
}
|
||||
}
|
||||
|
||||
@ -37,21 +37,21 @@ index 0a583bc..8aaab9e 100644
|
||||
this.world.broadcastEntityEffect(this, (byte) 2);
|
||||
}
|
||||
|
||||
@@ -901,6 +903,8 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -921,6 +923,8 @@ public abstract class EntityLiving extends Entity {
|
||||
}
|
||||
}
|
||||
|
||||
+ if (knockbackCancelled) this.world.broadcastEntityEffect(this, (byte) 2); // Paper - Disable explosion knockback
|
||||
+
|
||||
if (this.getHealth() <= 0.0F) {
|
||||
SoundEffect soundeffect = this.bW();
|
||||
|
||||
if (!this.d(damagesource)) {
|
||||
SoundEffect soundeffect = this.bX();
|
||||
diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java
|
||||
index caf29c7..6cdc3a3 100644
|
||||
index 49fc95e..d7bc6a0 100644
|
||||
--- a/src/main/java/net/minecraft/server/Explosion.java
|
||||
+++ b/src/main/java/net/minecraft/server/Explosion.java
|
||||
@@ -145,7 +145,7 @@ public class Explosion {
|
||||
double d14 = 1.0D;
|
||||
@@ -146,7 +146,7 @@ public class Explosion {
|
||||
double d14 = d13;
|
||||
|
||||
if (entity instanceof EntityLiving) {
|
||||
- d14 = EnchantmentProtection.a((EntityLiving) entity, d13);
|
||||
@ -59,7 +59,7 @@ index caf29c7..6cdc3a3 100644
|
||||
}
|
||||
|
||||
entity.motX += d8 * d14;
|
||||
@@ -154,7 +154,7 @@ public class Explosion {
|
||||
@@ -155,7 +155,7 @@ public class Explosion {
|
||||
if (entity instanceof EntityHuman) {
|
||||
EntityHuman entityhuman = (EntityHuman) entity;
|
||||
|
||||
@ -69,5 +69,5 @@ index caf29c7..6cdc3a3 100644
|
||||
}
|
||||
}
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From e6e691810c2713ab5be6850b337d662a33067458 Mon Sep 17 00:00:00 2001
|
||||
From 6ca8b0e340f4ec99543cf6b3f700bb290f49d05c Mon Sep 17 00:00:00 2001
|
||||
From: Sudzzy <originmc@outlook.com>
|
||||
Date: Wed, 2 Mar 2016 14:52:43 -0600
|
||||
Subject: [PATCH] Disable thunder
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 87979dd..076fcbb 100644
|
||||
index fcbf8a2..b52e5c5 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -219,4 +219,9 @@ public class PaperWorldConfig {
|
||||
@@ -210,4 +210,9 @@ public class PaperWorldConfig {
|
||||
private void disableExplosionKnockback(){
|
||||
disableExplosionKnockback = getBoolean("disable-explosion-knockback", false);
|
||||
}
|
||||
@ -19,10 +19,10 @@ index 87979dd..076fcbb 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 769d55b..5b9e2c1 100644
|
||||
index 6afcf7c..ca74db6 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -424,7 +424,8 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@@ -427,7 +427,8 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
int l;
|
||||
BlockPosition blockposition;
|
||||
|
||||
@ -33,5 +33,5 @@ index 769d55b..5b9e2c1 100644
|
||||
l = this.l >> 2;
|
||||
blockposition = this.a(new BlockPosition(j + (l & 15), 0, k + (l >> 8 & 15)));
|
||||
--
|
||||
2.10.1
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 19fc676defe5633053a5242c6c7ab76f759f6f3b Mon Sep 17 00:00:00 2001
|
||||
From b8fb8297e40abe3791a77426cbdb2a690e39801b Mon Sep 17 00:00:00 2001
|
||||
From: Sudzzy <originmc@outlook.com>
|
||||
Date: Wed, 2 Mar 2016 14:57:24 -0600
|
||||
Subject: [PATCH] Disable ice and snow
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 076fcbb..9018df5 100644
|
||||
index b52e5c5..a6afdd3 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -224,4 +224,9 @@ public class PaperWorldConfig {
|
||||
@@ -215,4 +215,9 @@ public class PaperWorldConfig {
|
||||
private void disableThunder() {
|
||||
disableThunder = getBoolean("disable-thunder", false);
|
||||
}
|
||||
@ -19,10 +19,10 @@ index 076fcbb..9018df5 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 5b9e2c1..c2c0b5e 100644
|
||||
index ca74db6..c84121c 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -448,7 +448,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@@ -450,7 +450,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
}
|
||||
|
||||
this.methodProfiler.c("iceandsnow");
|
||||
@ -32,5 +32,5 @@ index 5b9e2c1..c2c0b5e 100644
|
||||
l = this.l >> 2;
|
||||
blockposition = this.p(new BlockPosition(j + (l & 15), 0, k + (l >> 8 & 15)));
|
||||
--
|
||||
2.10.1
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 8515d9b08aa94851190b4db7d33556486959394f Mon Sep 17 00:00:00 2001
|
||||
From d83f4a1d0a54a8c3e7c06b042e8bd56899562124 Mon Sep 17 00:00:00 2001
|
||||
From: Sudzzy <originmc@outlook.com>
|
||||
Date: Wed, 2 Mar 2016 15:03:53 -0600
|
||||
Subject: [PATCH] Configurable mob spawner tick rate
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 9018df5..5a139e2 100644
|
||||
index a6afdd3..57480f5 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -229,4 +229,9 @@ public class PaperWorldConfig {
|
||||
@@ -220,4 +220,9 @@ public class PaperWorldConfig {
|
||||
private void disableIceAndSnow(){
|
||||
disableIceAndSnow = getBoolean("disable-ice-and-snow", false);
|
||||
}
|
||||
@ -19,10 +19,10 @@ index 9018df5..5a139e2 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
|
||||
index f040775..f17aea4 100644
|
||||
index 5b41955..e523267 100644
|
||||
--- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
|
||||
@@ -18,6 +18,7 @@ public abstract class MobSpawnerAbstract {
|
||||
@@ -20,6 +20,7 @@ public abstract class MobSpawnerAbstract {
|
||||
private int maxNearbyEntities = 6;
|
||||
private int requiredPlayerRange = 16;
|
||||
private int spawnRange = 4;
|
||||
@ -30,7 +30,7 @@ index f040775..f17aea4 100644
|
||||
|
||||
public MobSpawnerAbstract() {}
|
||||
|
||||
@@ -36,6 +37,10 @@ public abstract class MobSpawnerAbstract {
|
||||
@@ -45,6 +46,10 @@ public abstract class MobSpawnerAbstract {
|
||||
}
|
||||
|
||||
public void c() {
|
||||
@ -41,7 +41,7 @@ index f040775..f17aea4 100644
|
||||
if (!this.h()) {
|
||||
this.e = this.d;
|
||||
} else {
|
||||
@@ -49,18 +54,18 @@ public abstract class MobSpawnerAbstract {
|
||||
@@ -58,18 +63,18 @@ public abstract class MobSpawnerAbstract {
|
||||
this.a().addParticle(EnumParticle.SMOKE_NORMAL, d0, d1, d2, 0.0D, 0.0D, 0.0D, new int[0]);
|
||||
this.a().addParticle(EnumParticle.FLAME, d0, d1, d2, 0.0D, 0.0D, 0.0D, new int[0]);
|
||||
if (this.spawnDelay > 0) {
|
||||
@ -64,5 +64,5 @@ index f040775..f17aea4 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,11 +1,11 @@
|
||||
From dd7e4e1f6e09b5ca1cd4fec140922e502897e0b5 Mon Sep 17 00:00:00 2001
|
||||
From 609427e7e62088cfde2ec8cf8026a4a1faf6520d Mon Sep 17 00:00:00 2001
|
||||
From: Jedediah Smith <jedediah@silencegreys.com>
|
||||
Date: Wed, 2 Mar 2016 23:13:07 -0600
|
||||
Subject: [PATCH] Send absolute position the first time an entity is seen
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
index af32116..413925e 100644
|
||||
index b688e99..370cb9c 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
@@ -41,7 +41,12 @@ public class EntityTrackerEntry {
|
||||
@ -76,5 +76,5 @@ index af32116..413925e 100644
|
||||
|
||||
entityplayer.playerConnection.sendPacket(packet);
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,11 +1,11 @@
|
||||
From 22b4e5883590e2eaf7bc9b74535c121415f700e2 Mon Sep 17 00:00:00 2001
|
||||
From 64d0dc145be3cbadee1c880bd14d7f12a416b163 Mon Sep 17 00:00:00 2001
|
||||
From: Byteflux <byte@byteflux.net>
|
||||
Date: Wed, 2 Mar 2016 23:30:53 -0600
|
||||
Subject: [PATCH] Add BeaconEffectEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntityBeacon.java b/src/main/java/net/minecraft/server/TileEntityBeacon.java
|
||||
index 48f8793..9b0a1c4 100644
|
||||
index 6f2fcd2..71ecc54 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntityBeacon.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntityBeacon.java
|
||||
@@ -16,6 +16,14 @@ import org.bukkit.entity.HumanEntity;
|
||||
@ -23,7 +23,7 @@ index 48f8793..9b0a1c4 100644
|
||||
public class TileEntityBeacon extends TileEntityContainer implements ITickable, IWorldInventory {
|
||||
|
||||
public static final MobEffectList[][] a = new MobEffectList[][] { { MobEffects.FASTER_MOVEMENT, MobEffects.FASTER_DIG}, { MobEffects.RESISTANCE, MobEffects.JUMP}, { MobEffects.INCREASE_DAMAGE}, { MobEffects.REGENERATION}};
|
||||
@@ -114,14 +122,30 @@ public class TileEntityBeacon extends TileEntityContainer implements ITickable,
|
||||
@@ -116,14 +124,30 @@ public class TileEntityBeacon extends TileEntityContainer implements ITickable,
|
||||
}
|
||||
|
||||
private void applyEffect(List list, MobEffectList effects, int i, int b0) {
|
||||
@ -55,19 +55,19 @@ index 48f8793..9b0a1c4 100644
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -143,10 +167,10 @@ public class TileEntityBeacon extends TileEntityContainer implements ITickable,
|
||||
@@ -145,10 +169,10 @@ public class TileEntityBeacon extends TileEntityContainer implements ITickable,
|
||||
int i = getLevel();
|
||||
List list = getHumansInRange();
|
||||
|
||||
- applyEffect(list, this.l, i, b0);
|
||||
+ applyEffect(list, this.l, i, b0, true); // Paper - BeaconEffectEvent
|
||||
- applyEffect(list, this.primaryEffect, i, b0);
|
||||
+ applyEffect(list, this.primaryEffect, i, b0, true); // Paper - BeaconEffectEvent
|
||||
|
||||
if (hasSecondaryEffect()) {
|
||||
- applyEffect(list, this.m, i, 0);
|
||||
+ applyEffect(list, this.m, i, 0, false); // Paper - BeaconEffectEvent
|
||||
- applyEffect(list, this.secondaryEffect, i, 0);
|
||||
+ applyEffect(list, this.secondaryEffect, i, 0, false); // Paper - BeaconEffectEvent
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From e808b68be47b3f1ce457b049edda796ef093895c Mon Sep 17 00:00:00 2001
|
||||
From 0aaf35605b0cf4b1c71d3678308de74f272958f4 Mon Sep 17 00:00:00 2001
|
||||
From: Sudzzy <originmc@outlook.com>
|
||||
Date: Wed, 2 Mar 2016 23:34:44 -0600
|
||||
Subject: [PATCH] Configurable container update tick rate
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 5a139e2..e182e48 100644
|
||||
index 57480f5..b2b94b8 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -234,4 +234,9 @@ public class PaperWorldConfig {
|
||||
@@ -225,4 +225,9 @@ public class PaperWorldConfig {
|
||||
private void mobSpawnerTickRate() {
|
||||
mobSpawnerTickRate = getInt("mob-spawner-tick-rate", 1);
|
||||
}
|
||||
@ -19,7 +19,7 @@ index 5a139e2..e182e48 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 4950db4..e9baaa2 100644
|
||||
index 635aad7..feb07a3 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -65,6 +65,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@ -45,5 +45,5 @@ index 4950db4..e9baaa2 100644
|
||||
this.closeInventory();
|
||||
this.activeContainer = this.defaultContainer;
|
||||
--
|
||||
2.10.0.windows.1
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From b298999b39a01889cf42248ccfa9a9ad8bf6fc5d Mon Sep 17 00:00:00 2001
|
||||
From 81aa73e5615c5bd1b76585922ded791200c0343b Mon Sep 17 00:00:00 2001
|
||||
From: Techcable <Techcable@outlook.com>
|
||||
Date: Wed, 2 Mar 2016 23:42:37 -0600
|
||||
Subject: [PATCH] Use UserCache for player heads
|
||||
@ -32,5 +32,5 @@ index 2abca0c..7d83bbe 100644
|
||||
|
||||
return true;
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 26bf3e047c9296e044b1168e569fe474ae7b4f72 Mon Sep 17 00:00:00 2001
|
||||
From 1aeba86f37f8a1f7228c43dcd534c58e60e813cb Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Wed, 2 Mar 2016 23:45:17 -0600
|
||||
Subject: [PATCH] Disable spigot tick limiters
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index e8cfe2b..5881ffb 100644
|
||||
index 1248a9f..0b76735 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1422,10 +1422,10 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1444,10 +1444,10 @@ public abstract class World implements IBlockAccess {
|
||||
// CraftBukkit start - Use field for loop variable
|
||||
co.aikar.timings.TimingHistory.entityTicks += this.entityList.size(); // Paper
|
||||
int entitiesThisCycle = 0;
|
||||
@ -23,7 +23,7 @@ index e8cfe2b..5881ffb 100644
|
||||
tickPosition = (tickPosition < entityList.size()) ? tickPosition : 0;
|
||||
entity = (Entity) this.entityList.get(this.tickPosition);
|
||||
// CraftBukkit end
|
||||
@@ -1491,9 +1491,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1513,9 +1513,7 @@ public abstract class World implements IBlockAccess {
|
||||
// Spigot start
|
||||
// Iterator iterator = this.tileEntityListTick.iterator();
|
||||
int tilesThisCycle = 0;
|
||||
@ -35,5 +35,5 @@ index e8cfe2b..5881ffb 100644
|
||||
TileEntity tileentity = (TileEntity) this.tileEntityListTick.get(tileTickPosition);
|
||||
// Spigot start
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 4e2d1396a2ffd7c6b4a51e4ab1fc1dfae123240f Mon Sep 17 00:00:00 2001
|
||||
From 99225c7a0f8aae8fd2a853fe687d026b79b68b2a Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Wed, 2 Mar 2016 23:46:57 -0600
|
||||
Subject: [PATCH] Configurable Chunk IO Thread Base Count
|
||||
@ -39,5 +39,5 @@ index e4fd9bc..7b7a3d0 100644
|
||||
|
||||
private static final AsynchronousExecutor<QueuedChunk, Chunk, Runnable, RuntimeException> instance = new AsynchronousExecutor<QueuedChunk, Chunk, Runnable, RuntimeException>(new ChunkIOProvider(), BASE_THREADS);
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 357d59ccd264fde423f99502fe7d00776940003f Mon Sep 17 00:00:00 2001
|
||||
From 6baf075a94cb42c637f90740d46550f578b01a4a Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 2 Mar 2016 23:51:51 -0600
|
||||
Subject: [PATCH] Don't create Region File's when checking if chunk exists
|
||||
@ -7,7 +7,7 @@ Plugins like Dynmap can end up creating tons of emtpy Region Files
|
||||
when using chunkExists.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
index 17dd7bb..162cdd6 100644
|
||||
index ca33899..8828275 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
@@ -39,7 +39,10 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
@ -23,7 +23,7 @@ index 17dd7bb..162cdd6 100644
|
||||
// CraftBukkit end
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||
index 01b54e7..49fa5e4 100644
|
||||
index f234298..933934f 100644
|
||||
--- a/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||
@@ -12,7 +12,13 @@ public class RegionFileCache {
|
||||
@ -49,5 +49,5 @@ index 01b54e7..49fa5e4 100644
|
||||
file1.mkdirs();
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From c40aebbb665afe2c501b86344eead5f784e19bfe Mon Sep 17 00:00:00 2001
|
||||
From ec663ae69ae0571c06d0b99020c30b63b1455223 Mon Sep 17 00:00:00 2001
|
||||
From: Steve Anton <anxuiz.nx@gmail.com>
|
||||
Date: Thu, 3 Mar 2016 00:09:38 -0600
|
||||
Subject: [PATCH] Add PlayerInitialSpawnEvent
|
||||
@ -6,7 +6,7 @@ Subject: [PATCH] Add PlayerInitialSpawnEvent
|
||||
For modifying a player's initial spawn location as they join the server
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 1b2cc01..28bcef8 100644
|
||||
index e40268b..6e02044 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -101,6 +101,21 @@ public abstract class PlayerList {
|
||||
@ -32,5 +32,5 @@ index 1b2cc01..28bcef8 100644
|
||||
entityplayer.playerInteractManager.a((WorldServer) entityplayer.world);
|
||||
String s1 = "local";
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 77d6b5b4dd0caf2cee41b75af28b077b23b06421 Mon Sep 17 00:00:00 2001
|
||||
From e5e333c8fb98fadbd22786c882eb57256559d107 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 3 Mar 2016 01:13:45 -0600
|
||||
Subject: [PATCH] Disable chest cat detection
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index e182e48..c89ab0c 100644
|
||||
index b2b94b8..97265b9 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -239,4 +239,9 @@ public class PaperWorldConfig {
|
||||
@@ -230,4 +230,9 @@ public class PaperWorldConfig {
|
||||
private void containerUpdateTickRate() {
|
||||
containerUpdateTickRate = getInt("container-update-tick-rate", 1);
|
||||
}
|
||||
@ -19,7 +19,7 @@ index e182e48..c89ab0c 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockChest.java b/src/main/java/net/minecraft/server/BlockChest.java
|
||||
index 21be295..a5f2fc0 100644
|
||||
index d919d78..9d4c15f 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockChest.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockChest.java
|
||||
@@ -399,6 +399,11 @@ public class BlockChest extends BlockTileEntity {
|
||||
@ -35,5 +35,5 @@ index 21be295..a5f2fc0 100644
|
||||
|
||||
EntityOcelot entityocelot;
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 9da75049cbc87364d2765429847b1b7dd298abc9 Mon Sep 17 00:00:00 2001
|
||||
From ae88d4726bd36fdf6f523d427a86890011d7e48f Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 3 Mar 2016 01:17:12 -0600
|
||||
Subject: [PATCH] Ensure commands are not ran async
|
||||
@ -14,10 +14,10 @@ big slowdown in execution but throwing an exception at same time to raise awaren
|
||||
that it is happening so that plugin authors can fix their code to stop executing commands async.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index d910c41..b2339e9 100644
|
||||
index a5aa755..bc35bc5 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -1272,6 +1272,29 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
@@ -1249,6 +1249,29 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
}
|
||||
|
||||
if (!async && s.startsWith("/")) {
|
||||
@ -48,7 +48,7 @@ index d910c41..b2339e9 100644
|
||||
} else if (this.player.getChatFlags() == EntityHuman.EnumChatVisibility.SYSTEM) {
|
||||
// Do nothing, this is coming from a plugin
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index b5132cd..8e501b6 100644
|
||||
index 494c61a..1d1d45b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -644,6 +644,29 @@ public final class CraftServer implements Server {
|
||||
@ -82,5 +82,5 @@ index b5132cd..8e501b6 100644
|
||||
return true;
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From d2f97a1dd265b66d592257dda42959bfccb6b9b4 Mon Sep 17 00:00:00 2001
|
||||
From af6c0fa076b068aeee801ed17492e52d8dc528cf Mon Sep 17 00:00:00 2001
|
||||
From: vemacs <d@nkmem.es>
|
||||
Date: Thu, 3 Mar 2016 01:19:22 -0600
|
||||
Subject: [PATCH] All chunks are slime spawn chunks toggle
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index c89ab0c..b302cb7 100644
|
||||
index 97265b9..b2c45c8 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -244,4 +244,9 @@ public class PaperWorldConfig {
|
||||
@@ -235,4 +235,9 @@ public class PaperWorldConfig {
|
||||
private void disableChestCatDetection() {
|
||||
disableChestCatDetection = getBoolean("game-mechanics.disable-chest-cat-detection", false);
|
||||
}
|
||||
@ -19,19 +19,19 @@ index c89ab0c..b302cb7 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java
|
||||
index 334505f..616c2e8 100644
|
||||
index 91ed719..950f07d 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntitySlime.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntitySlime.java
|
||||
@@ -249,7 +249,8 @@ public class EntitySlime extends EntityInsentient implements IMonster {
|
||||
return super.cK();
|
||||
@@ -252,7 +252,8 @@ public class EntitySlime extends EntityInsentient implements IMonster {
|
||||
return super.cM();
|
||||
}
|
||||
|
||||
- if (this.random.nextInt(10) == 0 && chunk.a(987234911L).nextInt(10) == 0 && this.locY < 40.0D) {
|
||||
+ boolean isSlimeChunk = world.paperConfig.allChunksAreSlimeChunks || chunk.a(987234911L).nextInt(10) == 0; // Paper
|
||||
+ if (this.random.nextInt(10) == 0 && isSlimeChunk && this.locY < 40.0D) {
|
||||
return super.cK();
|
||||
return super.cM();
|
||||
}
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 19676f2dbe9c77faf790b31c6d488bc1e722c7e7 Mon Sep 17 00:00:00 2001
|
||||
From 65c8b392d267976d2e7592777f581170493eb311 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 3 Mar 2016 02:02:07 -0600
|
||||
Subject: [PATCH] Optimize Pathfinding
|
||||
@ -7,7 +7,7 @@ Prevents pathfinding from spamming failures for things such as
|
||||
arrow attacks.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
|
||||
index c9cfe3f..b1a90c1 100644
|
||||
index 4f28b88..43b2be5 100644
|
||||
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
|
||||
@@ -118,10 +118,26 @@ public abstract class NavigationAbstract {
|
||||
@ -47,5 +47,5 @@ index c9cfe3f..b1a90c1 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e9d8ddfae7bf982be80e3feee2addc9f9adb71ea Mon Sep 17 00:00:00 2001
|
||||
From 315637d90a175804eb0576eb881d06a37c81dacb Mon Sep 17 00:00:00 2001
|
||||
From: CullanP <cullanpage@gmail.com>
|
||||
Date: Thu, 3 Mar 2016 02:13:38 -0600
|
||||
Subject: [PATCH] Avoid hopper searches if there are no items
|
||||
@ -14,7 +14,7 @@ And since minecart hoppers are used _very_ rarely near we can avoid alot of sear
|
||||
Combined, this adds up a lot.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 76130c9..989d510 100644
|
||||
index b80f951..e1fc4ea 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -47,6 +47,13 @@ public class Chunk {
|
||||
@ -32,8 +32,8 @@ index 76130c9..989d510 100644
|
||||
private int neighbors = 0x1 << 12;
|
||||
public long chunkKey;
|
||||
@@ -618,6 +625,13 @@ public class Chunk {
|
||||
entity.ad = k;
|
||||
entity.ae = this.locZ;
|
||||
entity.ac = k;
|
||||
entity.ad = this.locZ;
|
||||
this.entitySlices[k].add(entity);
|
||||
+ // Paper start - update count
|
||||
+ if (entity instanceof EntityItem) {
|
||||
@ -95,5 +95,5 @@ index 76130c9..989d510 100644
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 86a453e62a7489c982b7f0a6887c08e1a742417a Mon Sep 17 00:00:00 2001
|
||||
From f5f6483d38eddfd97e1f94e93645e9e2c7eaf4ec Mon Sep 17 00:00:00 2001
|
||||
From: kashike <kashike@vq.lc>
|
||||
Date: Thu, 3 Mar 2016 02:15:57 -0600
|
||||
Subject: [PATCH] Expose server CommandMap
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 8e501b6..c7cd3f7 100644
|
||||
index 1d1d45b..8e00881 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1564,6 +1564,7 @@ public final class CraftServer implements Server {
|
||||
@@ -1559,6 +1559,7 @@ public final class CraftServer implements Server {
|
||||
return helpMap;
|
||||
}
|
||||
|
||||
@ -17,5 +17,5 @@ index 8e501b6..c7cd3f7 100644
|
||||
return commandMap;
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,11 +1,11 @@
|
||||
From ae8a24ed319533757b937d8608efe6cf9c1078c2 Mon Sep 17 00:00:00 2001
|
||||
From 959189247bab3064b63c69bafee372afd8d85f30 Mon Sep 17 00:00:00 2001
|
||||
From: kashike <kashike@vq.lc>
|
||||
Date: Thu, 3 Mar 2016 02:18:39 -0600
|
||||
Subject: [PATCH] Be a bit more informative in maxHealth exception
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index cffa778..a123d5e 100644
|
||||
index 4641e3d..aaea4e8 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -92,7 +92,10 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@ -21,5 +21,5 @@ index cffa778..a123d5e 100644
|
||||
|
||||
if (health == 0) {
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 5423c45e57cb9c46f271c7e80074460ef3438bad Mon Sep 17 00:00:00 2001
|
||||
From 6fd537ae42b766ced6401fcaabe0c0ac6a1133e8 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Thu, 3 Mar 2016 02:21:58 -0600
|
||||
Subject: [PATCH] Graduate bungeecord chat API from spigot subclasses
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index c7cd3f7..b44808f 100644
|
||||
index 8e00881..7dfe30b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1317,6 +1317,18 @@ public final class CraftServer implements Server {
|
||||
@@ -1312,6 +1312,18 @@ public final class CraftServer implements Server {
|
||||
return count;
|
||||
}
|
||||
|
||||
@ -28,7 +28,7 @@ index c7cd3f7..b44808f 100644
|
||||
@Deprecated
|
||||
public OfflinePlayer getOfflinePlayer(String name) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index b05f111..70da218 100644
|
||||
index 2a577d5..e0ec47f 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -156,6 +156,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@ -56,5 +56,5 @@ index b05f111..70da218 100644
|
||||
public String getDisplayName() {
|
||||
return getHandle().displayName;
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 34b016ca45ecc45c0754865c4ab1ba51d664b1fc Mon Sep 17 00:00:00 2001
|
||||
From fcc4f1380b80f58a3e9e50569e048c994076ef03 Mon Sep 17 00:00:00 2001
|
||||
From: Techcable <Techcable@outlook.com>
|
||||
Date: Thu, 3 Mar 2016 02:32:10 -0600
|
||||
Subject: [PATCH] Player Tab List and Title APIs
|
||||
@ -40,10 +40,10 @@ index 5f5b382..242efb0 100644
|
||||
|
||||
public void a(PacketListenerPlayOut packetlistenerplayout) {
|
||||
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutTitle.java b/src/main/java/net/minecraft/server/PacketPlayOutTitle.java
|
||||
index 31a2b21..8a0839c 100644
|
||||
index 7bcafa8..4f6c1c2 100644
|
||||
--- a/src/main/java/net/minecraft/server/PacketPlayOutTitle.java
|
||||
+++ b/src/main/java/net/minecraft/server/PacketPlayOutTitle.java
|
||||
@@ -11,6 +11,18 @@ public class PacketPlayOutTitle implements Packet<PacketListenerPlayOut> {
|
||||
@@ -12,6 +12,18 @@ public class PacketPlayOutTitle implements Packet<PacketListenerPlayOut> {
|
||||
private int d;
|
||||
private int e;
|
||||
|
||||
@ -62,10 +62,10 @@ index 31a2b21..8a0839c 100644
|
||||
public PacketPlayOutTitle() {}
|
||||
|
||||
public PacketPlayOutTitle(PacketPlayOutTitle.EnumTitleAction packetplayouttitle_enumtitleaction, IChatBaseComponent ichatbasecomponent) {
|
||||
@@ -46,7 +58,13 @@ public class PacketPlayOutTitle implements Packet<PacketListenerPlayOut> {
|
||||
@@ -47,7 +59,13 @@ public class PacketPlayOutTitle implements Packet<PacketListenerPlayOut> {
|
||||
public void b(PacketDataSerializer packetdataserializer) throws IOException {
|
||||
packetdataserializer.a((Enum) this.a);
|
||||
if (this.a == PacketPlayOutTitle.EnumTitleAction.TITLE || this.a == PacketPlayOutTitle.EnumTitleAction.SUBTITLE) {
|
||||
if (this.a == PacketPlayOutTitle.EnumTitleAction.TITLE || this.a == PacketPlayOutTitle.EnumTitleAction.SUBTITLE || this.a == PacketPlayOutTitle.EnumTitleAction.ACTIONBAR) {
|
||||
- packetdataserializer.a(this.b);
|
||||
+ // Paper start
|
||||
+ if (this.components != null) {
|
||||
@ -78,7 +78,7 @@ index 31a2b21..8a0839c 100644
|
||||
|
||||
if (this.a == PacketPlayOutTitle.EnumTitleAction.TIMES) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 70da218..eb72f46 100644
|
||||
index e0ec47f..ab467d8 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@ -173,5 +173,5 @@ index 70da218..eb72f46 100644
|
||||
|
||||
@Override
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,22 +1,22 @@
|
||||
From 459767453fa25a930e55592350f58f60c44abe83 Mon Sep 17 00:00:00 2001
|
||||
From a8af90e7ba90ef632cabe8587805da77dd2f62fd Mon Sep 17 00:00:00 2001
|
||||
From: Joseph Hirschfeld <joe@ibj.io>
|
||||
Date: Thu, 3 Mar 2016 02:33:53 -0600
|
||||
Subject: [PATCH] Ensure inv drag is in bounds
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Container.java b/src/main/java/net/minecraft/server/Container.java
|
||||
index 02b1fb1..d39ffbe 100644
|
||||
index 69f93d6..0ef93c6 100644
|
||||
--- a/src/main/java/net/minecraft/server/Container.java
|
||||
+++ b/src/main/java/net/minecraft/server/Container.java
|
||||
@@ -142,7 +142,7 @@ public abstract class Container {
|
||||
@@ -141,7 +141,7 @@ public abstract class Container {
|
||||
this.d();
|
||||
}
|
||||
} else if (this.g == 1) {
|
||||
- Slot slot = (Slot) this.c.get(i);
|
||||
+ Slot slot = i < this.c.size() ? this.c.get(i) : null; // Paper - Ensure drag in bounds
|
||||
|
||||
if (slot != null && a(slot, playerinventory.getCarried(), true) && slot.isAllowed(playerinventory.getCarried()) && playerinventory.getCarried().count > this.h.size() && this.b(slot)) {
|
||||
this.h.add(slot);
|
||||
itemstack1 = playerinventory.getCarried();
|
||||
if (slot != null && a(slot, itemstack1, true) && slot.isAllowed(itemstack1) && (this.dragType == 2 || itemstack1.getCount() > this.h.size()) && this.b(slot)) {
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,33 +1,33 @@
|
||||
From 9d5997b7ae5e8b6e070387f8d61a14affa7036e1 Mon Sep 17 00:00:00 2001
|
||||
From 006b38a4cab58583721baed2bb4adff90d8ef3ec Mon Sep 17 00:00:00 2001
|
||||
From: Joseph Hirschfeld <joe@ibj.io>
|
||||
Date: Thu, 3 Mar 2016 02:39:54 -0600
|
||||
Subject: [PATCH] Change implementation of (tile)entity removal list
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index bbbe951..4e333e0 100644
|
||||
index 40398ca..10eb818 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -120,10 +120,10 @@ public abstract class Entity implements ICommandListener {
|
||||
private static final DataWatcherObject<Boolean> aB = DataWatcher.a(Entity.class, DataWatcherRegistry.h);
|
||||
private static final DataWatcherObject<Boolean> aC = DataWatcher.a(Entity.class, DataWatcherRegistry.h);
|
||||
private static final DataWatcherObject<Boolean> aD = DataWatcher.a(Entity.class, DataWatcherRegistry.h);
|
||||
- public boolean ab;
|
||||
- public boolean aa;
|
||||
- public int ab;
|
||||
- public int ac;
|
||||
- public int ad;
|
||||
- public int ae;
|
||||
+ public boolean ab; public boolean isAddedToChunk() { return ab; } // Paper - OBFHELPER
|
||||
+ public int ac; public int getChunkX() { return ac; } // Paper - OBFHELPER
|
||||
+ public int ad; public int getChunkY() { return ad; } // Paper - OBFHELPER
|
||||
+ public int ae; public int getChunkZ() { return ae; } // Paper - OBFHELPER
|
||||
public boolean ai;
|
||||
+ public boolean aa; public boolean isAddedToChunk() { return aa; } // Paper - OBFHELPER
|
||||
+ public int ab; public int getChunkX() { return ab; } // Paper - OBFHELPER
|
||||
+ public int ac; public int getChunkY() { return ac; } // Paper - OBFHELPER
|
||||
+ public int ad; public int getChunkZ() { return ad; } // Paper - OBFHELPER
|
||||
public boolean ah;
|
||||
public boolean impulse;
|
||||
public int portalCooldown;
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 5881ffb..a905ff9 100644
|
||||
index 0b76735..c8a0ae6 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -31,6 +31,11 @@ import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
|
||||
@@ -30,6 +30,11 @@ import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
|
||||
import org.bukkit.generator.ChunkGenerator;
|
||||
// CraftBukkit end
|
||||
|
||||
@ -39,7 +39,7 @@ index 5881ffb..a905ff9 100644
|
||||
public abstract class World implements IBlockAccess {
|
||||
|
||||
private int a = 63;
|
||||
@@ -61,11 +66,11 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -60,11 +65,11 @@ public abstract class World implements IBlockAccess {
|
||||
}
|
||||
};
|
||||
// Spigot end
|
||||
@ -53,7 +53,7 @@ index 5881ffb..a905ff9 100644
|
||||
public final List<EntityHuman> players = Lists.newArrayList();
|
||||
public final List<Entity> j = Lists.newArrayList();
|
||||
protected final IntHashMap<Entity> entitiesById = new IntHashMap();
|
||||
@@ -1393,20 +1398,20 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1415,20 +1420,20 @@ public abstract class World implements IBlockAccess {
|
||||
this.entityList.removeAll(this.f);
|
||||
|
||||
int j;
|
||||
@ -64,10 +64,10 @@ index 5881ffb..a905ff9 100644
|
||||
|
||||
- for (i = 0; i < this.f.size(); ++i) {
|
||||
- entity = (Entity) this.f.get(i);
|
||||
- int k = entity.ac;
|
||||
- int k = entity.ab;
|
||||
-
|
||||
- j = entity.ae;
|
||||
- if (entity.ab && this.isChunkLoaded(k, j, true)) {
|
||||
- j = entity.ad;
|
||||
- if (entity.aa && this.isChunkLoaded(k, j, true)) {
|
||||
- this.getChunkAt(k, j).b(entity);
|
||||
+ if (e.isAddedToChunk() && this.isChunkLoaded(k, j, true)) {
|
||||
+ this.getChunkAt(k, j).b(e);
|
||||
@ -84,5 +84,5 @@ index 5881ffb..a905ff9 100644
|
||||
this.f.clear();
|
||||
this.l();
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From f906fb0fd68b9cb4683a22cc4361193ef1ad86fd Mon Sep 17 00:00:00 2001
|
||||
From b20c7db532ff71e74c17adeb96fe16d1d83ef5f9 Mon Sep 17 00:00:00 2001
|
||||
From: Joseph Hirschfeld <joe@ibj.io>
|
||||
Date: Thu, 3 Mar 2016 02:46:17 -0600
|
||||
Subject: [PATCH] Add configurable portal search radius
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index b302cb7..086cab0 100644
|
||||
index b2c45c8..ed63854 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -249,4 +249,9 @@ public class PaperWorldConfig {
|
||||
@@ -240,4 +240,9 @@ public class PaperWorldConfig {
|
||||
private void allChunksAreSlimeChunks() {
|
||||
allChunksAreSlimeChunks = getBoolean("all-chunks-are-slime-chunks", false);
|
||||
}
|
||||
@ -19,7 +19,7 @@ index b302cb7..086cab0 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PortalTravelAgent.java b/src/main/java/net/minecraft/server/PortalTravelAgent.java
|
||||
index f93a95f..ee1ac7d 100644
|
||||
index 4455c2c..fbf7cff 100644
|
||||
--- a/src/main/java/net/minecraft/server/PortalTravelAgent.java
|
||||
+++ b/src/main/java/net/minecraft/server/PortalTravelAgent.java
|
||||
@@ -12,7 +12,7 @@ import org.bukkit.util.Vector;
|
||||
@ -54,5 +54,5 @@ index 1d5dce1..7ca2617 100644
|
||||
private boolean canCreatePortal = true;
|
||||
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 2daf3853eab89e487449f8ac82368b77e85f13e5 Mon Sep 17 00:00:00 2001
|
||||
From fe5e6dc3ec8448a373edc77718f64fc51654b95d Mon Sep 17 00:00:00 2001
|
||||
From: Joseph Hirschfeld <joe@ibj.io>
|
||||
Date: Thu, 3 Mar 2016 02:48:12 -0600
|
||||
Subject: [PATCH] Add velocity warnings
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index c8435a3..f2693eb 100644
|
||||
index f8aabe2..6d39f6b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -205,6 +205,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -227,6 +227,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
}
|
||||
|
||||
public void setVelocity(Vector vel) {
|
||||
@ -22,5 +22,5 @@ index c8435a3..f2693eb 100644
|
||||
entity.motY = vel.getY();
|
||||
entity.motZ = vel.getZ();
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From df8665db4ceaae7b28139f87849d746e086a8ecc Mon Sep 17 00:00:00 2001
|
||||
From f695528c786fa0ba4446cf32c56068fb474f9982 Mon Sep 17 00:00:00 2001
|
||||
From: Sudzzy <originmc@outlook.com>
|
||||
Date: Thu, 3 Mar 2016 02:50:31 -0600
|
||||
Subject: [PATCH] Fix inter-world teleportation glitches
|
||||
@ -11,10 +11,10 @@ Example setup to perform the glitch: http://puu.sh/ng3PC/cf072dcbdb.png
|
||||
The wanted destination was on top of the emerald block however the player ended on top of the diamond block. This only is the case if the player is teleporting between worlds.
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 086cab0..aabd629 100644
|
||||
index ed63854..7005d69 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -254,4 +254,9 @@ public class PaperWorldConfig {
|
||||
@@ -245,4 +245,9 @@ public class PaperWorldConfig {
|
||||
private void portalSearchRadius() {
|
||||
portalSearchRadius = getInt("portal-search-radius", 128);
|
||||
}
|
||||
@ -25,7 +25,7 @@ index 086cab0..aabd629 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index eb72f46..98cbc02 100644
|
||||
index ab467d8..1f5746a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -572,7 +572,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@ -39,5 +39,5 @@ index eb72f46..98cbc02 100644
|
||||
return true;
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ef48b1d4a4d529417c0f69b5558ad4132302dca2 Mon Sep 17 00:00:00 2001
|
||||
From 191114236c8aa8add618bbfbc2546ce8fbee3399 Mon Sep 17 00:00:00 2001
|
||||
From: Joseph Hirschfeld <joe@ibj.io>
|
||||
Date: Thu, 3 Mar 2016 03:15:41 -0600
|
||||
Subject: [PATCH] Add exception reporting event
|
||||
@ -50,7 +50,7 @@ index 0000000..9339718
|
||||
+}
|
||||
\ No newline at end of file
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 989d510..9118e4d 100644
|
||||
index e1fc4ea..8f1a68d 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@ -89,10 +89,10 @@ index 989d510..9118e4d 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 466cd49..cbc93a8 100644
|
||||
index df3ce72..54ca738 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -11,6 +11,7 @@ import java.util.Iterator;
|
||||
@@ -12,6 +12,7 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import javax.annotation.Nullable;
|
||||
@ -100,7 +100,7 @@ index 466cd49..cbc93a8 100644
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
@@ -188,7 +189,11 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||
@@ -189,7 +190,11 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||
|
||||
return chunk;
|
||||
} catch (Exception exception) {
|
||||
@ -113,7 +113,7 @@ index 466cd49..cbc93a8 100644
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -197,7 +202,11 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||
@@ -198,7 +203,11 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||
try (co.aikar.timings.Timing timed = world.timings.chunkSaveNop.startTiming()) {
|
||||
this.chunkLoader.b(this.world, chunk);
|
||||
} catch (Exception exception) {
|
||||
@ -126,7 +126,7 @@ index 466cd49..cbc93a8 100644
|
||||
}
|
||||
|
||||
}
|
||||
@@ -207,9 +216,14 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||
@@ -208,9 +217,14 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||
chunk.setLastSaved(this.world.getTime());
|
||||
this.chunkLoader.a(this.world, chunk);
|
||||
} catch (IOException ioexception) {
|
||||
@ -144,7 +144,7 @@ index 466cd49..cbc93a8 100644
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java
|
||||
index d1c83d1..e21a8c4 100644
|
||||
index 016c64e..2ff8a6d 100644
|
||||
--- a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java
|
||||
+++ b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@ -198,7 +198,7 @@ index 936d6c6..50056f4 100644
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
|
||||
index 19fea50..c9bd856 100644
|
||||
index b0279ac..be13c11 100644
|
||||
--- a/src/main/java/net/minecraft/server/RegionFile.java
|
||||
+++ b/src/main/java/net/minecraft/server/RegionFile.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@ -208,7 +208,7 @@ index 19fea50..c9bd856 100644
|
||||
import com.google.common.collect.Lists;
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.BufferedOutputStream;
|
||||
@@ -81,6 +82,7 @@ public class RegionFile {
|
||||
@@ -82,6 +83,7 @@ public class RegionFile {
|
||||
}
|
||||
} catch (IOException ioexception) {
|
||||
ioexception.printStackTrace();
|
||||
@ -216,8 +216,8 @@ index 19fea50..c9bd856 100644
|
||||
}
|
||||
|
||||
}
|
||||
@@ -245,6 +247,7 @@ public class RegionFile {
|
||||
this.b(i, j, (int) (MinecraftServer.av() / 1000L));
|
||||
@@ -248,6 +250,7 @@ public class RegionFile {
|
||||
this.b(i, j, (int) (MinecraftServer.aw() / 1000L));
|
||||
} catch (IOException ioexception) {
|
||||
ioexception.printStackTrace();
|
||||
+ ServerInternalException.reportInternalException(ioexception); // Paper
|
||||
@ -225,7 +225,7 @@ index 19fea50..c9bd856 100644
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||
index 49fa5e4..2121e84 100644
|
||||
index 933934f..19fbf9b 100644
|
||||
--- a/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||
@@ -1,5 +1,6 @@
|
||||
@ -235,7 +235,7 @@ index 49fa5e4..2121e84 100644
|
||||
import com.google.common.collect.Maps;
|
||||
import java.io.DataInputStream;
|
||||
import java.io.DataOutputStream;
|
||||
@@ -54,6 +55,7 @@ public class RegionFileCache {
|
||||
@@ -75,6 +76,7 @@ public class RegionFileCache {
|
||||
}
|
||||
} catch (IOException ioexception) {
|
||||
ioexception.printStackTrace();
|
||||
@ -244,7 +244,7 @@ index 49fa5e4..2121e84 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
index fb0830d..b3edaee 100644
|
||||
index 171410e..8c35cab 100644
|
||||
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
@@ -7,6 +7,7 @@ import java.util.Random;
|
||||
@ -255,7 +255,7 @@ index fb0830d..b3edaee 100644
|
||||
import org.bukkit.craftbukkit.util.LongHash;
|
||||
import org.bukkit.craftbukkit.util.LongHashSet;
|
||||
import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
|
||||
@@ -179,6 +180,7 @@ public final class SpawnerCreature {
|
||||
@@ -177,6 +178,7 @@ public final class SpawnerCreature {
|
||||
entityinsentient = (EntityInsentient) biomebase_biomemeta.b.getConstructor(new Class[] { World.class}).newInstance(new Object[] { worldserver});
|
||||
} catch (Exception exception) {
|
||||
exception.printStackTrace();
|
||||
@ -263,7 +263,7 @@ index fb0830d..b3edaee 100644
|
||||
return j1;
|
||||
}
|
||||
|
||||
@@ -286,6 +288,7 @@ public final class SpawnerCreature {
|
||||
@@ -284,6 +286,7 @@ public final class SpawnerCreature {
|
||||
entityinsentient = (EntityInsentient) biomebase_biomemeta.b.getConstructor(new Class[] { World.class}).newInstance(new Object[] { world});
|
||||
} catch (Exception exception) {
|
||||
exception.printStackTrace();
|
||||
@ -272,7 +272,7 @@ index fb0830d..b3edaee 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/VillageSiege.java b/src/main/java/net/minecraft/server/VillageSiege.java
|
||||
index e40fd93..d1458aa 100644
|
||||
index 7af5b7d..2b49802 100644
|
||||
--- a/src/main/java/net/minecraft/server/VillageSiege.java
|
||||
+++ b/src/main/java/net/minecraft/server/VillageSiege.java
|
||||
@@ -1,5 +1,7 @@
|
||||
@ -283,8 +283,8 @@ index e40fd93..d1458aa 100644
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import javax.annotation.Nullable;
|
||||
@@ -137,6 +139,7 @@ public class VillageSiege {
|
||||
entityzombie.setVillagerType(EnumZombieType.NORMAL);
|
||||
@@ -136,6 +138,7 @@ public class VillageSiege {
|
||||
entityzombie.prepare(this.a.D(new BlockPosition(entityzombie)), (GroupDataEntity) null);
|
||||
} catch (Exception exception) {
|
||||
exception.printStackTrace();
|
||||
+ ServerInternalException.reportInternalException(exception); // Paper
|
||||
@ -292,7 +292,7 @@ index e40fd93..d1458aa 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index a905ff9..48c0e14 100644
|
||||
index c8a0ae6..8272d89 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1,5 +1,7 @@
|
||||
@ -303,7 +303,7 @@ index a905ff9..48c0e14 100644
|
||||
import com.google.common.base.Function;
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.base.Predicate;
|
||||
@@ -1453,8 +1455,10 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1475,8 +1477,10 @@ public abstract class World implements IBlockAccess {
|
||||
} catch (Throwable throwable1) {
|
||||
entity.tickTimer.stopTiming();
|
||||
// Paper start - Prevent tile entity and entity crashes
|
||||
@ -315,7 +315,7 @@ index a905ff9..48c0e14 100644
|
||||
entity.dead = true;
|
||||
continue;
|
||||
// Paper end
|
||||
@@ -1519,8 +1523,10 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -1541,8 +1545,10 @@ public abstract class World implements IBlockAccess {
|
||||
this.methodProfiler.b();
|
||||
} catch (Throwable throwable2) {
|
||||
// Paper start - Prevent tile entity and entity crashes
|
||||
@ -372,5 +372,5 @@ index 198c37c..cdb836a 100644
|
||||
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 58ca250bf5e3c9d321d550f6cbf729f20884459b Mon Sep 17 00:00:00 2001
|
||||
From 54384862cb8a34c0892bf94a4e77660c531d6dc2 Mon Sep 17 00:00:00 2001
|
||||
From: kashike <kashike@vq.lc>
|
||||
Date: Tue, 8 Mar 2016 18:28:43 -0800
|
||||
Subject: [PATCH] Don't nest if we don't need to when cerealising text
|
||||
@ -6,7 +6,7 @@ Subject: [PATCH] Don't nest if we don't need to when cerealising text
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutChat.java b/src/main/java/net/minecraft/server/PacketPlayOutChat.java
|
||||
index c0e1199..bc6c054 100644
|
||||
index 9fc83c4..b3b13ba 100644
|
||||
--- a/src/main/java/net/minecraft/server/PacketPlayOutChat.java
|
||||
+++ b/src/main/java/net/minecraft/server/PacketPlayOutChat.java
|
||||
@@ -27,7 +27,14 @@ public class PacketPlayOutChat implements Packet<PacketListenerPlayOut> {
|
||||
@ -26,5 +26,5 @@ index c0e1199..bc6c054 100644
|
||||
packetdataserializer.a(this.a);
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 0e29b3cf3ecf0e998cd8d3c65b38e7ab881cce2a Mon Sep 17 00:00:00 2001
|
||||
From 9d9f39fa78bdfe32ca8c538d05c840470d9ce5ae Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 8 Mar 2016 23:25:45 -0500
|
||||
Subject: [PATCH] Disable Scoreboards for non players by default
|
||||
@ -11,10 +11,10 @@ So avoid looking up scoreboards and short circuit to the "not on a team"
|
||||
logic which is most likely to be true.
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index aabd629..047fa5f 100644
|
||||
index 7005d69..b3678da 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -259,4 +259,9 @@ public class PaperWorldConfig {
|
||||
@@ -250,4 +250,9 @@ public class PaperWorldConfig {
|
||||
private void disableTeleportationSuffocationCheck() {
|
||||
disableTeleportationSuffocationCheck = getBoolean("disable-teleportation-suffocation-check", false);
|
||||
}
|
||||
@ -25,10 +25,10 @@ index aabd629..047fa5f 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/CommandScoreboard.java b/src/main/java/net/minecraft/server/CommandScoreboard.java
|
||||
index 5f579bc..8e5419d 100644
|
||||
index 7af5d0a..ab9aa13 100644
|
||||
--- a/src/main/java/net/minecraft/server/CommandScoreboard.java
|
||||
+++ b/src/main/java/net/minecraft/server/CommandScoreboard.java
|
||||
@@ -491,6 +491,7 @@ public class CommandScoreboard extends CommandAbstract {
|
||||
@@ -492,6 +492,7 @@ public class CommandScoreboard extends CommandAbstract {
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
Entity entity = (Entity) iterator.next();
|
||||
@ -37,10 +37,10 @@ index 5f579bc..8e5419d 100644
|
||||
|
||||
if (scoreboard.addPlayerToTeam(s2, s)) {
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 4e333e0..5a4b5bc 100644
|
||||
index 10eb818..875dcc8 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -1895,6 +1895,7 @@ public abstract class Entity implements ICommandListener {
|
||||
@@ -1950,6 +1950,7 @@ public abstract class Entity implements ICommandListener {
|
||||
|
||||
@Nullable
|
||||
public ScoreboardTeamBase aQ() {
|
||||
@ -49,5 +49,5 @@ index 4e333e0..5a4b5bc 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,28 +1,28 @@
|
||||
From a8dd83849bf5f467be31c0f8a1a49a002b0511e3 Mon Sep 17 00:00:00 2001
|
||||
From 1f97c9460dc9da319a81d4abae1ed9e7b5773949 Mon Sep 17 00:00:00 2001
|
||||
From: mrapple <tony@oc.tc>
|
||||
Date: Sun, 25 Nov 2012 13:43:39 -0600
|
||||
Subject: [PATCH] Add methods for working with arrows stuck in living entities
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 8aaab9e..89e6ef5 100644
|
||||
index 87a8a3e..97eac7a 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -1307,10 +1307,12 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -1376,10 +1376,12 @@ public abstract class EntityLiving extends Entity {
|
||||
return (float) this.getAttributeInstance(GenericAttributes.maxHealth).getValue();
|
||||
}
|
||||
|
||||
+ public final int getStuckArrows() { return this.cb(); } // Paper - OBFHELPER
|
||||
public final int cb() {
|
||||
return ((Integer) this.datawatcher.get(EntityLiving.h)).intValue();
|
||||
+ public final int getStuckArrows() { return this.cc(); } // Paper - OBFHELPER
|
||||
public final int cc() {
|
||||
return ((Integer) this.datawatcher.get(EntityLiving.bq)).intValue();
|
||||
}
|
||||
|
||||
+ public final void setStuckArrows(int arrows) { this.f(arrows); } // Paper - OBFHELPER
|
||||
public final void f(int i) {
|
||||
this.datawatcher.set(EntityLiving.h, Integer.valueOf(i));
|
||||
this.datawatcher.set(EntityLiving.bq, Integer.valueOf(i));
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index a123d5e..79d60a6 100644
|
||||
index aaea4e8..2a77cd4 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -559,4 +559,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@ -43,5 +43,5 @@ index a123d5e..79d60a6 100644
|
||||
+ // Paper end
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From 7ad7edb70e7183fe0cf057c6ac2483f8a1d3e5fa Mon Sep 17 00:00:00 2001
|
||||
From af11a3d45c195c64f6141c4bb0a496fc3c9c0cc5 Mon Sep 17 00:00:00 2001
|
||||
From: Jedediah Smith <jedediah@silencegreys.com>
|
||||
Date: Sat, 4 Apr 2015 23:17:52 -0400
|
||||
Subject: [PATCH] Complete resource pack API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index b2339e9..5e9eca1 100644
|
||||
index bc35bc5..724b9ad 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -1033,7 +1033,13 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
@@ -1010,7 +1010,13 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
|
||||
|
||||
// CraftBukkit start
|
||||
public void a(PacketPlayInResourcePackStatus packetplayinresourcepackstatus) {
|
||||
@ -24,7 +24,7 @@ index b2339e9..5e9eca1 100644
|
||||
// CraftBukkit end
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 98cbc02..515d0cd 100644
|
||||
index 1f5746a..f6b791b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -72,6 +72,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@ -72,5 +72,5 @@ index 98cbc02..515d0cd 100644
|
||||
private final Player.Spigot spigot = new Player.Spigot()
|
||||
{
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a4161bf83b718e0ae8b6bfe8689d36ad6faba27e Mon Sep 17 00:00:00 2001
|
||||
From 88988bc9d659401547d7d18f14f246d99dafd814 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 4 Mar 2016 18:18:37 -0600
|
||||
Subject: [PATCH] Chunk save queue improvements
|
||||
@ -41,7 +41,7 @@ index 259e3b7..c1a8243 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
index 162cdd6..e6e7626 100644
|
||||
index 8828275..996e57f 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
@@ -12,14 +12,17 @@ import java.util.Map;
|
||||
@ -77,7 +77,7 @@ index 162cdd6..e6e7626 100644
|
||||
|
||||
// Paper start - Don't create region files when checking that they exist
|
||||
final RegionFile region = RegionFileCache.a(this.d, i, j, false);
|
||||
@@ -143,35 +146,32 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
@@ -151,35 +154,32 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
}
|
||||
|
||||
protected void a(ChunkCoordIntPair chunkcoordintpair, NBTTagCompound nbttagcompound) {
|
||||
@ -122,7 +122,7 @@ index 162cdd6..e6e7626 100644
|
||||
|
||||
if (nbttagcompound != null) {
|
||||
try {
|
||||
@@ -180,10 +180,11 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
@@ -188,10 +188,11 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
ChunkRegionLoader.a.error("Failed to save chunk", exception);
|
||||
}
|
||||
}
|
||||
@ -135,7 +135,7 @@ index 162cdd6..e6e7626 100644
|
||||
}
|
||||
|
||||
return flag;
|
||||
@@ -554,4 +555,16 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
@@ -556,4 +557,16 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
return entity;
|
||||
}
|
||||
}
|
||||
@ -177,5 +177,5 @@ index acfdd52..fdbaf5f 100644
|
||||
|
||||
if (this.b.isEmpty()) {
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 8ae77c2eeaf9244ce0aed3f8f49c24b5de26b3e3 Mon Sep 17 00:00:00 2001
|
||||
From 5b78b518b5c1eb3c2699e94e7ea20c74cd91dc94 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 4 Mar 2013 23:46:10 -0500
|
||||
Subject: [PATCH] Chunk Save Reattempt
|
||||
@ -6,10 +6,10 @@ Subject: [PATCH] Chunk Save Reattempt
|
||||
We commonly have "Stream Closed" errors on chunk saving, so this code should re-try to save the chunk in the event of failure and hopefully prevent rollbacks.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
index e6e7626..854fbd7 100644
|
||||
index 996e57f..e2dd95b 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
@@ -174,11 +174,16 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
@@ -182,11 +182,16 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
|
||||
NBTTagCompound nbttagcompound = chunk.compound; // Paper - Chunk queue improvements
|
||||
|
||||
if (nbttagcompound != null) {
|
||||
@ -28,12 +28,12 @@ index e6e7626..854fbd7 100644
|
||||
synchronized (lock) { if (this.b.get(chunkcoordintpair) == nbttagcompound) { this.b.remove(chunkcoordintpair); } }// Paper - This will not equal if a newer version is still pending
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
|
||||
index c9bd856..1fe5019 100644
|
||||
index be13c11..9cfc46b 100644
|
||||
--- a/src/main/java/net/minecraft/server/RegionFile.java
|
||||
+++ b/src/main/java/net/minecraft/server/RegionFile.java
|
||||
@@ -246,8 +246,7 @@ public class RegionFile {
|
||||
@@ -249,8 +249,7 @@ public class RegionFile {
|
||||
|
||||
this.b(i, j, (int) (MinecraftServer.av() / 1000L));
|
||||
this.b(i, j, (int) (MinecraftServer.aw() / 1000L));
|
||||
} catch (IOException ioexception) {
|
||||
- ioexception.printStackTrace();
|
||||
- ServerInternalException.reportInternalException(ioexception); // Paper
|
||||
@ -42,5 +42,5 @@ index c9bd856..1fe5019 100644
|
||||
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 7e04eeade0c87fbd241b0945a72839c849630703 Mon Sep 17 00:00:00 2001
|
||||
From 3adb29de0003d6c0b2d33e1712d60e68f7ee26fd Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 18 Mar 2016 13:17:38 -0400
|
||||
Subject: [PATCH] Default loading permissions.yml before plugins
|
||||
@ -30,7 +30,7 @@ index c1a8243..88b6778 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index b44808f..034f8ed 100644
|
||||
index 7dfe30b..33b74cd 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -314,6 +314,7 @@ public final class CraftServer implements Server {
|
||||
@ -51,5 +51,5 @@ index b44808f..034f8ed 100644
|
||||
CraftDefaultPermissions.registerCorePermissions();
|
||||
helpMap.initializeCommands();
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 6eaa65221aa494db575fcce21960db12252d7645 Mon Sep 17 00:00:00 2001
|
||||
From 49e079c8034062024c738a0be37c44e24d9e45db Mon Sep 17 00:00:00 2001
|
||||
From: William <admin@domnian.com>
|
||||
Date: Fri, 18 Mar 2016 03:30:17 -0400
|
||||
Subject: [PATCH] Allow Reloading of Custom Permissions
|
||||
@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Custom Permissions
|
||||
https://github.com/PaperMC/Paper/issues/49
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 034f8ed..1609b07 100644
|
||||
index 33b74cd..bb2ab84 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1824,4 +1824,21 @@ public final class CraftServer implements Server {
|
||||
@@ -1819,4 +1819,21 @@ public final class CraftServer implements Server {
|
||||
{
|
||||
return spigot;
|
||||
}
|
||||
@ -32,5 +32,5 @@ index 034f8ed..1609b07 100644
|
||||
+ // Paper end
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5b51439720d9c51313f081977743a6bd40300e5b Mon Sep 17 00:00:00 2001
|
||||
From 0ab3c7ee6304633f72b94f77cd2e789da522555d Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 18 Mar 2016 13:50:14 -0400
|
||||
Subject: [PATCH] Remove Metadata on reload
|
||||
@ -7,7 +7,7 @@ Metadata is not meant to persist reload as things break badly with non primitive
|
||||
This will remove metadata on reload so it does not crash everything if a plugin uses it.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 1609b07..15bef42 100644
|
||||
index bb2ab84..afefbc3 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -737,6 +737,14 @@ public final class CraftServer implements Server {
|
||||
@ -26,5 +26,5 @@ index 1609b07..15bef42 100644
|
||||
commandMap.clearCommands();
|
||||
resetRecipes();
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From e0459fc81fe3aabc2592519f150c1ea2406332c0 Mon Sep 17 00:00:00 2001
|
||||
From 39c79a5582c9b90c852330cb1dd78452af1096a9 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 18 Mar 2016 14:19:19 -0400
|
||||
Subject: [PATCH] Undead horse leashing
|
||||
@ -6,10 +6,10 @@ Subject: [PATCH] Undead horse leashing
|
||||
default false to match vanilla, but option to allow undead horse types to be leashed.
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 047fa5f..d136807 100644
|
||||
index b3678da..029eb39 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -264,4 +264,9 @@ public class PaperWorldConfig {
|
||||
@@ -255,4 +255,9 @@ public class PaperWorldConfig {
|
||||
private void nonPlayerEntitiesOnScoreboards() {
|
||||
nonPlayerEntitiesOnScoreboards = getBoolean("allow-non-player-entities-on-scoreboards", false);
|
||||
}
|
||||
@ -19,18 +19,19 @@ index 047fa5f..d136807 100644
|
||||
+ allowLeashingUndeadHorse = getBoolean("allow-leashing-undead-horse", false);
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHorse.java b/src/main/java/net/minecraft/server/EntityHorse.java
|
||||
index ef429c1..38c4f61 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHorse.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHorse.java
|
||||
@@ -169,6 +169,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener, IJu
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
index da95a59..67f66fd 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
@@ -115,7 +115,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
|
||||
}
|
||||
|
||||
public boolean a(EntityHuman entityhuman) {
|
||||
+ if (world.paperConfig.allowLeashingUndeadHorse) { return super.a(entityhuman); } // Paper
|
||||
return !this.getType().h() && super.a(entityhuman);
|
||||
- return super.a(entityhuman) && this.getMonsterType() != EnumMonsterType.UNDEAD;
|
||||
+ return world.paperConfig.allowLeashingUndeadHorse ? super.a(entityhuman) : super.a(entityhuman) && this.getMonsterType() != EnumMonsterType.UNDEAD; // Paper
|
||||
}
|
||||
|
||||
protected void q(float f) {
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f5db69e0fe71b3198265c7c204af1d2ab5515530 Mon Sep 17 00:00:00 2001
|
||||
From f2abce9bbd30a3db0b929462ffc7cd2f6d44c80d Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 18 Mar 2016 14:24:53 -0400
|
||||
Subject: [PATCH] Fix Furnace cook time bug
|
||||
@ -9,18 +9,18 @@ cook in the expected amount of time as the cook time was not decremented correct
|
||||
This patch ensures that furnaces cook to the correct wall time expectation.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java
|
||||
index fd6c246..db235c3 100644
|
||||
index 93a610a..661716d 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntityFurnace.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java
|
||||
@@ -172,7 +172,7 @@ public class TileEntityFurnace extends TileEntityContainer implements ITickable,
|
||||
@@ -165,7 +165,7 @@ public class TileEntityFurnace extends TileEntityContainer implements ITickable,
|
||||
if (this.isBurning() && this.canBurn()) {
|
||||
this.cookTime += elapsedTicks;
|
||||
if (this.cookTime >= this.cookTimeTotal) {
|
||||
- this.cookTime = 0;
|
||||
+ this.cookTime -= this.a(this.items[0]); // Paper
|
||||
this.cookTimeTotal = this.a(this.items[0]);
|
||||
+ this.cookTime -= this.a(this.items.get(0)); // Paper
|
||||
this.cookTimeTotal = this.a((ItemStack) this.items.get(0));
|
||||
this.burn();
|
||||
flag1 = true;
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 961e07249cb9356c6cede5583713f8f10621daaa Mon Sep 17 00:00:00 2001
|
||||
From 532022b01bd12414fe58ce5f93a919ac47a59667 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 28 May 2015 23:00:19 -0400
|
||||
Subject: [PATCH] Handle Item Meta Inconsistencies
|
||||
@ -18,7 +18,7 @@ For consistency, the old API methods now forward to use the
|
||||
ItemMeta API equivalents, and should deprecate the old API's.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
||||
index 6f5dcbd..88f0292 100644
|
||||
index 866e54d..46baf00 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
||||
@@ -4,6 +4,7 @@ import static org.bukkit.craftbukkit.inventory.CraftMetaItem.ENCHANTMENTS;
|
||||
@ -29,7 +29,7 @@ index 6f5dcbd..88f0292 100644
|
||||
import java.util.Map;
|
||||
|
||||
import net.minecraft.server.EnchantmentManager;
|
||||
@@ -184,28 +185,11 @@ public final class CraftItemStack extends ItemStack {
|
||||
@@ -180,28 +181,11 @@ public final class CraftItemStack extends ItemStack {
|
||||
public void addUnsafeEnchantment(Enchantment ench, int level) {
|
||||
Validate.notNull(ench, "Cannot add null enchantment");
|
||||
|
||||
@ -63,7 +63,7 @@ index 6f5dcbd..88f0292 100644
|
||||
}
|
||||
|
||||
static boolean makeTag(net.minecraft.server.ItemStack item) {
|
||||
@@ -222,66 +206,34 @@ public final class CraftItemStack extends ItemStack {
|
||||
@@ -218,66 +202,34 @@ public final class CraftItemStack extends ItemStack {
|
||||
|
||||
@Override
|
||||
public boolean containsEnchantment(Enchantment ench) {
|
||||
@ -293,5 +293,5 @@ index 22cc267..94f2ba0 100644
|
||||
private final Spigot spigot = new Spigot()
|
||||
{
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 3c0e3ac83a120387568efcb5acc1572e0ed94a31 Mon Sep 17 00:00:00 2001
|
||||
From 745dd2c92706e3e70d9e4eeed52e40e0670b473f Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 18 Mar 2016 15:12:22 -0400
|
||||
Subject: [PATCH] Configurable Non Player Arrow Despawn Rate
|
||||
@ -6,10 +6,10 @@ Subject: [PATCH] Configurable Non Player Arrow Despawn Rate
|
||||
Can set a much shorter despawn rate for arrows that players can not pick up.
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index d136807..b701e5e 100644
|
||||
index 029eb39..9cce672 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -269,4 +269,13 @@ public class PaperWorldConfig {
|
||||
@@ -260,4 +260,13 @@ public class PaperWorldConfig {
|
||||
private void allowLeashingUndeadHorse() {
|
||||
allowLeashingUndeadHorse = getBoolean("allow-leashing-undead-horse", false);
|
||||
}
|
||||
@ -24,18 +24,18 @@ index d136807..b701e5e 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java
|
||||
index ccbf47e..b7ac5f7 100644
|
||||
index 287566c..bb332b3 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityArrow.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityArrow.java
|
||||
@@ -149,7 +149,7 @@ public abstract class EntityArrow extends Entity implements IProjectile {
|
||||
|
||||
if (block == this.aw && i == this.ax) {
|
||||
++this.ay;
|
||||
- if (this.ay >= world.spigotConfig.arrowDespawnRate) { // Spigot - First int after shooter
|
||||
+ if (this.ay >= (fromPlayer != PickupStatus.DISALLOWED ? world.spigotConfig.arrowDespawnRate : world.paperConfig.nonPlayerArrowDespawnRate)) { // Spigot - First int after shooter // Paper
|
||||
@@ -157,7 +157,7 @@ public abstract class EntityArrow extends Entity implements IProjectile {
|
||||
this.ay = 0;
|
||||
} else {
|
||||
++this.ax;
|
||||
- if (this.ax >= world.spigotConfig.arrowDespawnRate) { // Spigot - First int after shooter
|
||||
+ if (this.ax >= (fromPlayer != PickupStatus.DISALLOWED ? world.spigotConfig.arrowDespawnRate : world.paperConfig.nonPlayerArrowDespawnRate)) { // Spigot - First int after shooter // Paper
|
||||
this.die();
|
||||
}
|
||||
} else {
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From f5f8a0ee2325f6721a28b61713cdf4f41f8a330b Mon Sep 17 00:00:00 2001
|
||||
From 890c1645cb95a10a2b3269ed85cb463e3e424b05 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 18 Mar 2016 20:16:03 -0400
|
||||
Subject: [PATCH] Add World Util Methods
|
||||
@ -6,10 +6,10 @@ Subject: [PATCH] Add World Util Methods
|
||||
Methods that can be used for other patches to help improve logic.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 48c0e14..a3bce9a 100644
|
||||
index 8272d89..223250f 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -153,6 +153,12 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -152,6 +152,12 @@ public abstract class World implements IBlockAccess {
|
||||
return (CraftServer) Bukkit.getServer();
|
||||
}
|
||||
|
||||
@ -22,7 +22,7 @@ index 48c0e14..a3bce9a 100644
|
||||
public Chunk getChunkIfLoaded(int x, int z) {
|
||||
return ((ChunkProviderServer) this.chunkProvider).getChunkIfLoaded(x, z);
|
||||
}
|
||||
@@ -630,6 +636,41 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -682,6 +688,41 @@ public abstract class World implements IBlockAccess {
|
||||
}
|
||||
}
|
||||
|
||||
@ -64,8 +64,8 @@ index 48c0e14..a3bce9a 100644
|
||||
public int getLightLevel(BlockPosition blockposition) {
|
||||
return this.c(blockposition, true);
|
||||
}
|
||||
@@ -749,6 +790,27 @@ public abstract class World implements IBlockAccess {
|
||||
return this.worldProvider.n()[this.getLightLevel(blockposition)];
|
||||
@@ -801,6 +842,27 @@ public abstract class World implements IBlockAccess {
|
||||
return this.worldProvider.o()[this.getLightLevel(blockposition)];
|
||||
}
|
||||
|
||||
+ // Paper start - reduces need to do isLoaded before getType
|
||||
@ -93,5 +93,5 @@ index 48c0e14..a3bce9a 100644
|
||||
// CraftBukkit start - tree generation
|
||||
if (captureTreeGeneration) {
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 03a68a2ee994ecbd5a66f33c93ec973405b13d33 Mon Sep 17 00:00:00 2001
|
||||
From b2ed021cc393f2627735d38208e87c972ff5dcd1 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 18 Mar 2016 21:22:56 -0400
|
||||
Subject: [PATCH] Optimized Light Level Comparisons
|
||||
@ -8,23 +8,23 @@ Use an optimized method to test if a block position meets a desired light level.
|
||||
This method benefits from returning as soon as the desired light level matches.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockCrops.java b/src/main/java/net/minecraft/server/BlockCrops.java
|
||||
index 7d44039..4ede2cf 100644
|
||||
index e9c5d14..9015aff 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockCrops.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockCrops.java
|
||||
@@ -49,7 +49,7 @@ public class BlockCrops extends BlockPlant implements IBlockFragilePlantElement
|
||||
@@ -48,7 +48,7 @@ public class BlockCrops extends BlockPlant implements IBlockFragilePlantElement
|
||||
|
||||
public void b(World world, BlockPosition blockposition, IBlockData iblockdata, Random random) {
|
||||
super.b(world, blockposition, iblockdata, random);
|
||||
- if (world.getLightLevel(blockposition.up()) >= 9) {
|
||||
+ if (world.isLightLevel(blockposition.up(), 9)) { // Paper
|
||||
int i = this.x(iblockdata);
|
||||
int i = this.z(iblockdata);
|
||||
|
||||
if (i < this.g()) {
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockGrass.java b/src/main/java/net/minecraft/server/BlockGrass.java
|
||||
index 11d9d3f..21e722d 100644
|
||||
index fb1bf80..8b43e60 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockGrass.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockGrass.java
|
||||
@@ -30,7 +30,8 @@ public class BlockGrass extends Block implements IBlockFragilePlantElement {
|
||||
@@ -29,7 +29,8 @@ public class BlockGrass extends Block implements IBlockFragilePlantElement {
|
||||
|
||||
public void b(World world, BlockPosition blockposition, IBlockData iblockdata, Random random) {
|
||||
if (!world.isClientSide) {
|
||||
@ -34,7 +34,7 @@ index 11d9d3f..21e722d 100644
|
||||
// CraftBukkit start
|
||||
// world.setTypeUpdate(blockposition, Blocks.DIRT.getBlockData());
|
||||
org.bukkit.World bworld = world.getWorld();
|
||||
@@ -45,18 +46,25 @@ public class BlockGrass extends Block implements IBlockFragilePlantElement {
|
||||
@@ -44,18 +45,25 @@ public class BlockGrass extends Block implements IBlockFragilePlantElement {
|
||||
}
|
||||
// CraftBukkit end
|
||||
} else {
|
||||
@ -65,7 +65,7 @@ index 11d9d3f..21e722d 100644
|
||||
// world.setTypeUpdate(blockposition1, Blocks.GRASS.getBlockData());
|
||||
org.bukkit.World bworld = world.getWorld();
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockSapling.java b/src/main/java/net/minecraft/server/BlockSapling.java
|
||||
index 4118fd1..97784f1 100644
|
||||
index f463b71..89458cd 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockSapling.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockSapling.java
|
||||
@@ -34,7 +34,7 @@ public class BlockSapling extends BlockPlant implements IBlockFragilePlantElemen
|
||||
@ -78,7 +78,7 @@ index 4118fd1..97784f1 100644
|
||||
world.captureTreeGeneration = true;
|
||||
// CraftBukkit end
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockStem.java b/src/main/java/net/minecraft/server/BlockStem.java
|
||||
index d378ea4..1185100 100644
|
||||
index c74b628..bb96e16 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockStem.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockStem.java
|
||||
@@ -48,7 +48,7 @@ public class BlockStem extends BlockPlant implements IBlockFragilePlantElement {
|
||||
@ -91,11 +91,11 @@ index d378ea4..1185100 100644
|
||||
|
||||
if (random.nextInt((int) ((100.0F / (this == Blocks.PUMPKIN_STEM ? world.spigotConfig.pumpkinModifier : world.spigotConfig.melonModifier)) * (25.0F / f)) + 1) == 0) { // Spigot
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityMonster.java b/src/main/java/net/minecraft/server/EntityMonster.java
|
||||
index 1aef91a..733fec7 100644
|
||||
index b5c5437..a281957 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityMonster.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityMonster.java
|
||||
@@ -122,17 +122,17 @@ public abstract class EntityMonster extends EntityCreature implements IMonster {
|
||||
if (this.world.b(EnumSkyBlock.SKY, blockposition) > this.random.nextInt(32)) {
|
||||
@@ -118,17 +118,17 @@ public abstract class EntityMonster extends EntityCreature implements IMonster {
|
||||
if (this.world.getBrightness(EnumSkyBlock.SKY, blockposition) > this.random.nextInt(32)) {
|
||||
return false;
|
||||
} else {
|
||||
- int i = this.world.getLightLevel(blockposition);
|
||||
@ -118,18 +118,18 @@ index 1aef91a..733fec7 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
index 6981185..798b9c5 100644
|
||||
index 897882c..970fabf 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
@@ -195,7 +195,7 @@ public class EntityZombie extends EntityMonster {
|
||||
@@ -178,7 +178,7 @@ public class EntityZombie extends EntityMonster {
|
||||
int j1 = j + MathHelper.nextInt(this.random, 7, 40) * MathHelper.nextInt(this.random, -1, 1);
|
||||
int k1 = k + MathHelper.nextInt(this.random, 7, 40) * MathHelper.nextInt(this.random, -1, 1);
|
||||
|
||||
- if (this.world.getType(new BlockPosition(i1, j1 - 1, k1)).q() && this.world.getLightLevel(new BlockPosition(i1, j1, k1)) < 10) {
|
||||
+ if (this.world.getType(new BlockPosition(i1, j1 - 1, k1)).q() && !this.world.isLightLevel(new BlockPosition(i1, j1, k1), 10)) { // Paper
|
||||
- if (this.world.getType(new BlockPosition(i1, j1 - 1, k1)).r() && this.world.getLightLevel(new BlockPosition(i1, j1, k1)) < 10) {
|
||||
+ if (this.world.getType(new BlockPosition(i1, j1 - 1, k1)).r() && !this.world.isLightLevel(new BlockPosition(i1, j1, k1), 10)) { // Paper
|
||||
entityzombie.setPosition((double) i1, (double) j1, (double) k1);
|
||||
if (!this.world.isPlayerNearby((double) i1, (double) j1, (double) k1, 7.0D, EntityHuman.affectsSpawningFilter()) && this.world.a(entityzombie.getBoundingBox(), (Entity) entityzombie) && this.world.getCubes(entityzombie, entityzombie.getBoundingBox()).isEmpty() && !this.world.containsLiquid(entityzombie.getBoundingBox())) { // Paper - affectsSpawning filter
|
||||
if (!this.world.isPlayerNearby((double) i1, (double) j1, (double) k1, 7.0D) && this.world.a(entityzombie.getBoundingBox(), (Entity) entityzombie) && this.world.getCubes(entityzombie, entityzombie.getBoundingBox()).isEmpty() && !this.world.containsLiquid(entityzombie.getBoundingBox())) {
|
||||
this.world.addEntity(entityzombie, CreatureSpawnEvent.SpawnReason.REINFORCEMENTS); // CraftBukkit
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 4cfd8b339c0ad3fe7a143d724408b5a60049ece6 Mon Sep 17 00:00:00 2001
|
||||
From aa4add7106265a50c2756dcd8dbc5b6912ffc116 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 19 Mar 2016 15:16:54 -0400
|
||||
Subject: [PATCH] Pass world to Village creation
|
||||
@ -6,10 +6,10 @@ Subject: [PATCH] Pass world to Village creation
|
||||
fixes NPE bug #95
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PersistentVillage.java b/src/main/java/net/minecraft/server/PersistentVillage.java
|
||||
index 75dc674..2a9444e 100644
|
||||
index a5b79ec..01f7cee 100644
|
||||
--- a/src/main/java/net/minecraft/server/PersistentVillage.java
|
||||
+++ b/src/main/java/net/minecraft/server/PersistentVillage.java
|
||||
@@ -236,7 +236,7 @@ public class PersistentVillage extends PersistentBase {
|
||||
@@ -238,7 +238,7 @@ public class PersistentVillage extends PersistentBase {
|
||||
|
||||
for (int i = 0; i < nbttaglist.size(); ++i) {
|
||||
NBTTagCompound nbttagcompound1 = nbttaglist.get(i);
|
||||
@ -19,10 +19,10 @@ index 75dc674..2a9444e 100644
|
||||
village.a(nbttagcompound1);
|
||||
this.villages.add(village);
|
||||
diff --git a/src/main/java/net/minecraft/server/Village.java b/src/main/java/net/minecraft/server/Village.java
|
||||
index 1fa7cb2..fc3a6ab 100644
|
||||
index 2ab381d..817c836 100644
|
||||
--- a/src/main/java/net/minecraft/server/Village.java
|
||||
+++ b/src/main/java/net/minecraft/server/Village.java
|
||||
@@ -22,7 +22,7 @@ public class Village {
|
||||
@@ -24,7 +24,7 @@ public class Village {
|
||||
private final List<Village.Aggressor> k;
|
||||
private int l;
|
||||
|
||||
@ -30,7 +30,7 @@ index 1fa7cb2..fc3a6ab 100644
|
||||
+ private Village() { // Paper - Nothing should call this - world needs to be set.
|
||||
this.c = BlockPosition.ZERO;
|
||||
this.d = BlockPosition.ZERO;
|
||||
this.j = new TreeMap();
|
||||
this.j = Maps.newHashMap();
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,17 +1,18 @@
|
||||
From 2ffc2bf91c0006ca2a77e6be164fbeabac4721c6 Mon Sep 17 00:00:00 2001
|
||||
From 7ef822ff5f73057b05d269b49105de4dfa773c86 Mon Sep 17 00:00:00 2001
|
||||
From: Jedediah Smith <jedediah@silencegreys.com>
|
||||
Date: Sun, 21 Jun 2015 15:07:20 -0400
|
||||
Subject: [PATCH] Custom replacement for eaten items
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 89e6ef5..ad320c2 100644
|
||||
index 97eac7a..4cc89ec 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -2261,12 +2261,24 @@ public abstract class EntityLiving extends Entity {
|
||||
ItemStack itemstack = (craftItem.equals(event.getItem())) ? this.bo.a(this.world, this) : CraftItemStack.asNMSCopy(event.getItem()).a(world, this);
|
||||
@@ -2337,7 +2337,20 @@ public abstract class EntityLiving extends Entity {
|
||||
ItemStack itemstack = (craftItem.equals(event.getItem())) ? this.activeItem.a(this.world, this) : CraftItemStack.asNMSCopy(event.getItem()).a(world, this);
|
||||
this.a(this.cz(), itemstack);
|
||||
// CraftBukkit end
|
||||
|
||||
+
|
||||
+ // Paper start - save the default replacement item and change it if necessary
|
||||
+ final ItemStack defaultReplacement = itemstack;
|
||||
+ if (event.getReplacement() != null) {
|
||||
@ -19,12 +20,7 @@ index 89e6ef5..ad320c2 100644
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
if (itemstack != null && itemstack.count == 0) {
|
||||
itemstack = null;
|
||||
}
|
||||
|
||||
this.a(this.cy(), itemstack);
|
||||
this.cE();
|
||||
this.cF();
|
||||
+
|
||||
+ // Paper start - if the replacement is anything but the default, update the client inventory
|
||||
+ if (this instanceof EntityPlayer && !com.google.common.base.Objects.equal(defaultReplacement, itemstack)) {
|
||||
@ -34,5 +30,5 @@ index 89e6ef5..ad320c2 100644
|
||||
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From db119eed768bbd60a42cca20e2a1fefaada86f81 Mon Sep 17 00:00:00 2001
|
||||
From 6c7006b595785c4b8b0435af3bd7055fcf019576 Mon Sep 17 00:00:00 2001
|
||||
From: Jedediah Smith <jedediah@silencegreys.com>
|
||||
Date: Sun, 19 Jul 2015 16:51:38 -0400
|
||||
Subject: [PATCH] Set health before death event
|
||||
@ -19,7 +19,7 @@ index 88b6778..a60aee6 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 79d60a6..b807a3f 100644
|
||||
index 2a77cd4..0493c1b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -98,11 +98,20 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@ -45,5 +45,5 @@ index 79d60a6..b807a3f 100644
|
||||
|
||||
public double getMaxHealth() {
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,14 +1,14 @@
|
||||
From c17c58addb833ca7e763f73bc5d7395e5c262d2f Mon Sep 17 00:00:00 2001
|
||||
From fa2c964cc53890971c8a61c71ba4056ed2cd289c Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 27 Sep 2015 01:18:02 -0400
|
||||
Subject: [PATCH] handle NaN health/absorb values and repair bad data
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index ad320c2..d66e766 100644
|
||||
index 4cc89ec..7a96447 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -468,7 +468,13 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -481,7 +481,13 @@ public abstract class EntityLiving extends Entity {
|
||||
}
|
||||
|
||||
public void a(NBTTagCompound nbttagcompound) {
|
||||
@ -23,7 +23,7 @@ index ad320c2..d66e766 100644
|
||||
if (nbttagcompound.hasKeyOfType("Attributes", 9) && this.world != null && !this.world.isClientSide) {
|
||||
GenericAttributes.a(this.getAttributeMap(), nbttagcompound.getList("Attributes", 10));
|
||||
}
|
||||
@@ -759,6 +765,10 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -779,6 +785,10 @@ public abstract class EntityLiving extends Entity {
|
||||
}
|
||||
|
||||
public void setHealth(float f) {
|
||||
@ -34,7 +34,7 @@ index ad320c2..d66e766 100644
|
||||
// CraftBukkit start - Handle scaled health
|
||||
if (this instanceof EntityPlayer) {
|
||||
org.bukkit.craftbukkit.entity.CraftPlayer player = ((EntityPlayer) this).getBukkitEntity();
|
||||
@@ -2131,7 +2141,7 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -2207,7 +2217,7 @@ public abstract class EntityLiving extends Entity {
|
||||
}
|
||||
|
||||
public void setAbsorptionHearts(float f) {
|
||||
@ -44,7 +44,7 @@ index ad320c2..d66e766 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 515d0cd..d3f4c3f 100644
|
||||
index f6b791b..486ba73 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1390,6 +1390,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@ -56,5 +56,5 @@ index 515d0cd..d3f4c3f 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,11 +1,11 @@
|
||||
From 4a6f7ee5118173e4e65e1a1fcdb72ed0e2c1b194 Mon Sep 17 00:00:00 2001
|
||||
From 38d42c576439460df8d23272448c30342f72997a Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Ennis <dennis@icontact.com>
|
||||
Date: Sun, 20 Mar 2016 15:22:42 -0400
|
||||
Subject: [PATCH] Catch Async PlayerChunkMap operations
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index fcd0186..c9d48ac 100644
|
||||
index 5db113c..8f6f3a0 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -461,10 +461,12 @@ public class PlayerChunkMap {
|
||||
@ -22,5 +22,5 @@ index fcd0186..c9d48ac 100644
|
||||
long i = d(chunkcoordintpair.x, chunkcoordintpair.z);
|
||||
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d73723c415b3c4477fa8935e54b57317a120ed57 Mon Sep 17 00:00:00 2001
|
||||
From 43d4f73060153a5e017db795dfdcee5e42f00bab Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Mon, 21 Mar 2016 00:19:18 -0500
|
||||
Subject: [PATCH] Support offline mode in whitelist command as well
|
||||
@ -89,5 +89,5 @@ index c74d1d2..0f4237d 100644
|
||||
+ // Paper end
|
||||
}
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,11 +1,11 @@
|
||||
From d6d1dc0c6e2103a1569f0347817be71316faaf8c Mon Sep 17 00:00:00 2001
|
||||
From 8f8a9fef6f5ec940e55af3abcfa351eb280db615 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 5 Jan 2016 21:48:24 -0500
|
||||
Subject: [PATCH] Fix SkullCache case bug
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntitySkull.java b/src/main/java/net/minecraft/server/TileEntitySkull.java
|
||||
index 654b51d..a8adbcb 100644
|
||||
index 91ca4a2..edd6fb6 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntitySkull.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntitySkull.java
|
||||
@@ -191,7 +191,7 @@ public class TileEntitySkull extends TileEntity implements ITickable {
|
||||
@ -18,5 +18,5 @@ index 654b51d..a8adbcb 100644
|
||||
callback.apply(profile);
|
||||
} else {
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 989047b666c933de551cbd7e336883f1b5948923 Mon Sep 17 00:00:00 2001
|
||||
From 428f579770b2aa61fc95a85a5561c3a9ac77d184 Mon Sep 17 00:00:00 2001
|
||||
From: Gabscap <sonstige.netzwerke@gabriel-paradzik.de>
|
||||
Date: Sat, 19 Mar 2016 22:25:11 +0100
|
||||
Subject: [PATCH] Waving banner workaround
|
||||
@ -34,5 +34,5 @@ index c5c3f40..6413f76 100644
|
||||
|
||||
public void a(PacketDataSerializer packetdataserializer) throws IOException {
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From a70bb2d71e2a418d5029efa646fc13012f61a01f Mon Sep 17 00:00:00 2001
|
||||
From 554f7c012ab7cb05dbaf758c2a6b70b15dc2f634 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 22 Mar 2016 00:33:47 -0400
|
||||
Subject: [PATCH] Use a Shared Random for Entities
|
||||
@ -6,7 +6,7 @@ Subject: [PATCH] Use a Shared Random for Entities
|
||||
Reduces memory usage and provides ensures more randomness, Especially since a lot of garbage entity objects get created.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 5a4b5bc..91eb036 100644
|
||||
index 875dcc8..ae16663 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -45,6 +45,7 @@ public abstract class Entity implements ICommandListener {
|
||||
@ -17,15 +17,15 @@ index 5a4b5bc..91eb036 100644
|
||||
static boolean isLevelAtLeast(NBTTagCompound tag, int level) {
|
||||
return tag.hasKey("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level;
|
||||
}
|
||||
@@ -162,7 +163,7 @@ public abstract class Entity implements ICommandListener {
|
||||
@@ -160,7 +161,7 @@ public abstract class Entity implements ICommandListener {
|
||||
this.width = 0.6F;
|
||||
this.length = 1.8F;
|
||||
this.ax = 1;
|
||||
- this.random = new Random();
|
||||
+ this.random = SHARED_RANDOM; // Paper
|
||||
this.maxFireTicks = 1;
|
||||
this.fireTicks = -this.getMaxFireTicks();
|
||||
this.justCreated = true;
|
||||
this.uniqueID = MathHelper.a(this.random);
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From ee395eb0157df61aaaa7672ef5e9cf4ba5859950 Mon Sep 17 00:00:00 2001
|
||||
From 04db83c72b0dd6425fd8d800822a51dcd56e6d5c Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Tue, 22 Mar 2016 00:55:23 -0400
|
||||
Subject: [PATCH] Don't teleport dead entities
|
||||
@ -7,10 +7,10 @@ Had some issue with this in past, and this is the vanilla logic.
|
||||
Potentially an old CB change that's no longer needed.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 91eb036..7696998 100644
|
||||
index ae16663..d8ebe11 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -2151,7 +2151,7 @@ public abstract class Entity implements ICommandListener {
|
||||
@@ -2216,7 +2216,7 @@ public abstract class Entity implements ICommandListener {
|
||||
}
|
||||
|
||||
public Entity teleportTo(Location exit, boolean portal) {
|
||||
@ -20,5 +20,5 @@ index 91eb036..7696998 100644
|
||||
WorldServer worldserver1 = ((CraftWorld) exit.getWorld()).getHandle();
|
||||
int i = worldserver1.dimension;
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 5e1f9c486154c325334770e1d3771eb85fcd352e Mon Sep 17 00:00:00 2001
|
||||
From 77c802f0bbd04aeeb2dece18e0efc00950c987ec Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 27 Aug 2015 01:15:02 -0400
|
||||
Subject: [PATCH] Optimize Chunk Access
|
||||
@ -9,10 +9,10 @@ getChunkAt is called for the same chunk multiple times in a row, often from getT
|
||||
Optimize this look up by using a Last Access cache.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index cbc93a8..ad94c5a 100644
|
||||
index 54ca738..902f9ac 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -26,7 +26,27 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||
@@ -27,7 +27,27 @@ public class ChunkProviderServer implements IChunkProvider {
|
||||
public final Set<Long> unloadQueue = Sets.newHashSet();
|
||||
public final ChunkGenerator chunkGenerator;
|
||||
private final IChunkLoader chunkLoader;
|
||||
@ -42,5 +42,5 @@ index cbc93a8..ad94c5a 100644
|
||||
|
||||
public ChunkProviderServer(WorldServer worldserver, IChunkLoader ichunkloader, ChunkGenerator chunkgenerator) {
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,39 +1,36 @@
|
||||
From 2d4c48e2d7b719b5aef60d4d1264776f9e9e71c9 Mon Sep 17 00:00:00 2001
|
||||
From 49d53ee95df9d1cad58e78621fd5a342062e9e09 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach.brown@destroystokyo.com>
|
||||
Date: Tue, 22 Mar 2016 12:04:28 -0500
|
||||
Subject: [PATCH] Configurable spawn chances for skeleton horses
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index b701e5e..d29f2a4 100644
|
||||
index 9cce672..d92ccc7 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -278,4 +278,12 @@ public class PaperWorldConfig {
|
||||
@@ -269,4 +269,9 @@ public class PaperWorldConfig {
|
||||
}
|
||||
log("Non Player Arrow Despawn Rate: " + nonPlayerArrowDespawnRate);
|
||||
}
|
||||
+
|
||||
+ public double skeleHorseSpawnChance;
|
||||
+ private void skeleHorseSpawnChance() {
|
||||
+ skeleHorseSpawnChance = getDouble("skeleton-horse-thunder-spawn-chance", -1.0D); // -1.0D represents a "vanilla" state
|
||||
+ if (skeleHorseSpawnChance < 0) {
|
||||
+ skeleHorseSpawnChance = 0.05D; // Vanilla
|
||||
+ }
|
||||
+ skeleHorseSpawnChance = getDouble("skeleton-horse-thunder-spawn-chance", 0.01D); // -1.0D represents a "vanilla" state
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index a5f8d93..c2a8bdf 100644
|
||||
index c84121c..04f61e9 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -432,7 +432,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
@@ -435,7 +435,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
|
||||
if (this.isRainingAt(blockposition)) {
|
||||
DifficultyDamageScaler difficultydamagescaler = this.D(blockposition);
|
||||
|
||||
- if (this.random.nextDouble() < (double) difficultydamagescaler.b() * 0.05D) {
|
||||
+ if (this.random.nextDouble() < difficultydamagescaler.b() * paperConfig.skeleHorseSpawnChance) { // Paper - Configurable skeleton horse spawn chance
|
||||
EntityHorse entityhorse = new EntityHorse(this);
|
||||
- if (this.getGameRules().getBoolean("doMobSpawning") && this.random.nextDouble() < (double) difficultydamagescaler.b() * 0.01D) {
|
||||
+ if (this.getGameRules().getBoolean("doMobSpawning") && this.random.nextDouble() < (double) difficultydamagescaler.b() * paperConfig.skeleHorseSpawnChance) {
|
||||
EntityHorseSkeleton entityhorseskeleton = new EntityHorseSkeleton(this);
|
||||
|
||||
entityhorse.setType(EnumHorseType.SKELETON);
|
||||
entityhorseskeleton.p(true);
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 9c40285ed71d8220215e2a1b191d2d299764e757 Mon Sep 17 00:00:00 2001
|
||||
From 0c1d747df007846e209ed5f0531dd51d59fad7fc Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Thu, 3 Mar 2016 02:07:55 -0600
|
||||
Subject: [PATCH] Optimize isValidLocation, getType and getBlockData for inling
|
||||
@ -31,10 +31,10 @@ index d60e755..f772c7c 100644
|
||||
public BaseBlockPosition(int i, int j, int k) {
|
||||
this.a = i;
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
index 8603d83..704faa9 100644
|
||||
index 5cea6f1..1852972 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
@@ -326,6 +326,16 @@ public class BlockPosition extends BaseBlockPosition {
|
||||
@@ -343,6 +343,16 @@ public class BlockPosition extends BaseBlockPosition {
|
||||
protected int b;
|
||||
protected int c;
|
||||
protected int d;
|
||||
@ -52,7 +52,7 @@ index 8603d83..704faa9 100644
|
||||
public MutableBlockPosition() {
|
||||
this(0, 0, 0);
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 9118e4d..63e11aa 100644
|
||||
index 8f1a68d..736fa1f 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -406,11 +406,26 @@ public class Chunk {
|
||||
@ -98,10 +98,10 @@ index 3d784d0..afdc4a7 100644
|
||||
private NibbleArray skyLight;
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index a3bce9a..b683c3e 100644
|
||||
index 223250f..14ac6d2 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -274,12 +274,12 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -273,12 +273,12 @@ public abstract class World implements IBlockAccess {
|
||||
return this.getType(blockposition1);
|
||||
}
|
||||
|
||||
@ -118,7 +118,7 @@ index a3bce9a..b683c3e 100644
|
||||
}
|
||||
|
||||
public boolean isEmpty(BlockPosition blockposition) {
|
||||
@@ -371,7 +371,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -374,7 +374,7 @@ public abstract class World implements IBlockAccess {
|
||||
return true;
|
||||
}
|
||||
// CraftBukkit end
|
||||
@ -127,7 +127,7 @@ index a3bce9a..b683c3e 100644
|
||||
return false;
|
||||
} else if (!this.isClientSide && this.worldData.getType() == WorldType.DEBUG_ALL_BLOCK_STATES) {
|
||||
return false;
|
||||
@@ -639,7 +639,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -691,7 +691,7 @@ public abstract class World implements IBlockAccess {
|
||||
// Paper start - test if meets light level, return faster
|
||||
// logic copied from below
|
||||
public boolean isLightLevel(BlockPosition blockposition, int level) {
|
||||
@ -136,7 +136,7 @@ index a3bce9a..b683c3e 100644
|
||||
if (this.getType(blockposition).f()) {
|
||||
if (this.c(blockposition.up(), false) >= level) {
|
||||
return true;
|
||||
@@ -757,7 +757,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -809,7 +809,7 @@ public abstract class World implements IBlockAccess {
|
||||
blockposition = new BlockPosition(blockposition.getX(), 0, blockposition.getZ());
|
||||
}
|
||||
|
||||
@ -145,7 +145,7 @@ index a3bce9a..b683c3e 100644
|
||||
return enumskyblock.c;
|
||||
} else if (!this.isLoaded(blockposition)) {
|
||||
return enumskyblock.c;
|
||||
@@ -769,7 +769,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -821,7 +821,7 @@ public abstract class World implements IBlockAccess {
|
||||
}
|
||||
|
||||
public void a(EnumSkyBlock enumskyblock, BlockPosition blockposition, int i) {
|
||||
@ -154,7 +154,7 @@ index a3bce9a..b683c3e 100644
|
||||
if (this.isLoaded(blockposition)) {
|
||||
Chunk chunk = this.getChunkAtWorldCoords(blockposition);
|
||||
|
||||
@@ -793,19 +793,19 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -845,19 +845,19 @@ public abstract class World implements IBlockAccess {
|
||||
// Paper start - reduces need to do isLoaded before getType
|
||||
public IBlockData getTypeIfLoaded(BlockPosition blockposition) {
|
||||
// CraftBukkit start - tree generation
|
||||
@ -182,7 +182,7 @@ index a3bce9a..b683c3e 100644
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -813,24 +813,33 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -865,24 +865,33 @@ public abstract class World implements IBlockAccess {
|
||||
|
||||
public IBlockData getType(BlockPosition blockposition) {
|
||||
// CraftBukkit start - tree generation
|
||||
@ -227,7 +227,7 @@ index a3bce9a..b683c3e 100644
|
||||
|
||||
public boolean B() {
|
||||
return this.J < 4;
|
||||
@@ -2058,7 +2067,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -2045,7 +2054,7 @@ public abstract class World implements IBlockAccess {
|
||||
public Map<BlockPosition, TileEntity> capturedTileEntities = Maps.newHashMap();
|
||||
@Nullable
|
||||
public TileEntity getTileEntity(BlockPosition blockposition) {
|
||||
@ -236,16 +236,16 @@ index a3bce9a..b683c3e 100644
|
||||
return null;
|
||||
} else {
|
||||
// CraftBukkit start
|
||||
@@ -2099,7 +2108,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -2086,7 +2095,7 @@ public abstract class World implements IBlockAccess {
|
||||
}
|
||||
|
||||
public void setTileEntity(BlockPosition blockposition, @Nullable TileEntity tileentity) {
|
||||
- if (!this.E(blockposition)) {
|
||||
+ if (!blockposition.isInvalidYLocation()) { // Paper
|
||||
if (tileentity != null && !tileentity.x()) {
|
||||
+ if (!blockposition.isInvalidYLocation()) {
|
||||
if (tileentity != null && !tileentity.y()) {
|
||||
// CraftBukkit start
|
||||
if (captureBlockStates) {
|
||||
@@ -2162,7 +2171,7 @@ public abstract class World implements IBlockAccess {
|
||||
@@ -2149,7 +2158,7 @@ public abstract class World implements IBlockAccess {
|
||||
}
|
||||
|
||||
public boolean d(BlockPosition blockposition, boolean flag) {
|
||||
@ -255,5 +255,5 @@ index a3bce9a..b683c3e 100644
|
||||
} else {
|
||||
Chunk chunk = this.chunkProvider.getLoadedChunkAt(blockposition.getX() >> 4, blockposition.getZ() >> 4);
|
||||
--
|
||||
2.9.3
|
||||
2.10.2
|
||||
|
Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden Mehr anzeigen
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren