Updated Upstream (Paper)

Upstream has released updates that appears to apply and compile correctly

Paper Changes:
19ff55ef Update upstream B/CB
79710332 Update upstream CB
19de9af6 1.15.2 update (#2887)
d4ae43fc Updated Upstream (Bukkit/CraftBukkit)
9c2d9a5f [CI-SKIP] Rebuild patches
86a4b752 Fix items not falling correctly (Resolves #2835) (#2872)
35472de2 Port activation range improvement patch (#2763)
617f6033 Add effect to block break naturally (#2819)
f63cfe00 Updated Upstream (Bukkit/CraftBukkit)
00860e4e [CI-SKIP] rebuild patches
3d519668 Prevent sync chunk loads when villagers try to find beds (#2855)
This commit is contained in:
William Blake Galbreath
2020-01-21 22:17:22 -06:00
parent ab2c6c147e
commit 8ad9357437
38 changed files with 466 additions and 650 deletions

2
Paper

Submodule Paper updated: f177f878a8...19ff55ef0d

View File

@@ -1 +1 @@
1.15.1--613341485330744f24c3571d6155c3a22759de90
1.15.2--49e3db289083b6b23361e320a7ddec4f66ede815

View File

@@ -1,4 +1,4 @@
From 8841ac5cfa4279d1c536f583e8923bebe49b728b Mon Sep 17 00:00:00 2001
From 01a25cd141c95cc6334a73edb6bee77d55f893fa Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 4 May 2019 00:57:16 -0500
Subject: [PATCH] Rebrand
@@ -8,7 +8,7 @@ Subject: [PATCH] Rebrand
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/pom.xml b/pom.xml
index 252ddd226..24f885767 100644
index a71015f40..dfaf8da6d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,18 +3,17 @@
@@ -25,7 +25,7 @@ index 252ddd226..24f885767 100644
- <groupId>com.destroystokyo.paper</groupId>
- <artifactId>paper-api</artifactId>
+ <artifactId>purpur-api</artifactId>
<version>1.15.1-R0.1-SNAPSHOT</version>
<version>1.15.2-R0.1-SNAPSHOT</version>
<packaging>jar</packaging>
- <name>Paper-API</name>
@@ -45,5 +45,5 @@ index 252ddd226..24f885767 100644
<plugin>
<groupId>org.apache.maven.plugins</groupId>
--
2.24.0.rc1
2.24.0

View File

@@ -1,4 +1,4 @@
From 6704edef6d63a6ec2fa6d2639af20b3ba04203f0 Mon Sep 17 00:00:00 2001
From 817e206de1b706e4d070f4f8b9eae40cc5856dfa Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 10 Aug 2019 22:19:56 -0500
Subject: [PATCH] Implement AFK API
@@ -86,10 +86,10 @@ index 000000000..4db334854
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index e37c94e4e..81d2d2b86 100644
index 7f771b356..d7c4118de 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2048,4 +2048,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2073,4 +2073,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Override
Spigot spigot();
// Spigot end
@@ -116,5 +116,5 @@ index e37c94e4e..81d2d2b86 100644
+ // Purpur end
}
--
2.24.0.rc1
2.24.0

View File

@@ -1,4 +1,4 @@
From 086d06c91d3c358f3b7b0603530a5c668f488c76 Mon Sep 17 00:00:00 2001
From cb458f71ac63c46f685c10bbf70b7a7db1328438 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 18 Oct 2019 23:58:29 -0500
Subject: [PATCH] Add block and fluid tick events
@@ -134,10 +134,10 @@ index 000000000..1a8f0b674
+ }
+}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 579b779aa..d6fd253e5 100644
index b46b27194..72c83510e 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -3064,6 +3064,36 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -3061,6 +3061,36 @@ public interface World extends PluginMessageRecipient, Metadatable {
@NotNull
public List<Raid> getRaids();

View File

@@ -1,4 +1,4 @@
From df13ad308de51c50e411f06f6a7380aff8bae8ec Mon Sep 17 00:00:00 2001
From 80badd7d99ee6288238e318bfdb1ad8953f899c8 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 19 Oct 2019 00:34:36 -0500
Subject: [PATCH] Add getPlacementBlockData to World
@@ -8,10 +8,10 @@ Subject: [PATCH] Add getPlacementBlockData to World
1 file changed, 10 insertions(+)
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index d6fd253e5..17a45a9b6 100644
index 72c83510e..86d1f1663 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -3092,6 +3092,16 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -3089,6 +3089,16 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param enabled True to enable
*/
void setFluidTickEventEnabled(boolean enabled);

View File

@@ -1,4 +1,4 @@
From 804e28a389aed21f58adc8deddd1b22252d99dbd Mon Sep 17 00:00:00 2001
From f9315e180c14b58252a214df391a8aebe9e7d13e Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Tue, 31 Dec 2019 23:00:07 -0600
Subject: [PATCH] Remove pointless annotations and deprecations
@@ -72,10 +72,10 @@ index e9cf71f5c..34d3462c7 100644
+ public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args); // Purpur - remove pointless annotations
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index 495161f62..4b8661bb3 100644
index 5426e7c2f..cc324fe23 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -186,13 +186,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable {
@@ -204,13 +204,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable {
* Sets the durability of this item
*
* @param durability Durability of this item
@@ -89,7 +89,7 @@ index 495161f62..4b8661bb3 100644
public void setDurability(final short durability) {
ItemMeta meta = getItemMeta();
if (meta != null) {
@@ -205,9 +199,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable {
@@ -223,9 +217,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable {
* Gets the durability of this item
*
* @return Durability of this item

View File

@@ -1,4 +1,4 @@
From d7157493340eae748625f3acbcb8a4880e092c96 Mon Sep 17 00:00:00 2001
From 56a276c134cd6770a63b90cf1f8b049fedf6f7de Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 4 May 2019 01:02:11 -0500
Subject: [PATCH] Rebrand
@@ -15,7 +15,7 @@ Subject: [PATCH] Rebrand
create mode 100644 src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java
diff --git a/pom.xml b/pom.xml
index 495e11f0f..f0fc55ba9 100644
index 907807ee5..37ff489db 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,11 +1,11 @@
@@ -25,7 +25,7 @@ index 495e11f0f..f0fc55ba9 100644
- <artifactId>paper</artifactId>
+ <artifactId>purpur</artifactId>
<packaging>jar</packaging>
<version>1.15.1-R0.1-SNAPSHOT</version>
<version>1.15.2-R0.1-SNAPSHOT</version>
- <name>Paper</name>
- <url>https://papermc.io</url>
+ <name>Purpur</name>
@@ -86,10 +86,10 @@ index cd6e25923..bb227bc0f 100644
);
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index edb3a6035..f14d1b160 100644
index 346664cee..ac45dbf59 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1474,7 +1474,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1484,7 +1484,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
public String getServerModName() {
@@ -220,7 +220,7 @@ index 000000000..d8b408f06
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index f3da3a82d..8f4ca4c28 100644
index ee5c57ca2..55b849237 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -201,7 +201,7 @@ import javax.annotation.Nullable; // Paper
@@ -233,10 +233,10 @@ index f3da3a82d..8f4ca4c28 100644
private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft");
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index ab3ebc79e..858a0bec3 100644
index 6a6e4fe48..bd384024f 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -296,7 +296,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -298,7 +298,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@Override
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
@@ -259,5 +259,5 @@ index 674096cab..e9aee2d8a 100644
if (stream != null) {
--
2.24.0.rc1
2.24.0

View File

@@ -1,4 +1,4 @@
From 8fee7d3acc09c544c5849a04bf99dcc4bec3a089 Mon Sep 17 00:00:00 2001
From 882af062f7613780c7e01c4fedc3e37976a70eb7 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 9 May 2019 18:09:43 -0500
Subject: [PATCH] Purpur config files
@@ -20,7 +20,7 @@ Subject: [PATCH] Purpur config files
create mode 100644 src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index 1d7d1ffbf7..d886f1d145 100644
index 1d7d1ffbf..d886f1d14 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -96,10 +96,12 @@ public class PaperConfig {
@@ -37,10 +37,10 @@ index 1d7d1ffbf7..d886f1d145 100644
static void readConfig(Class<?> clazz, Object instance) {
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index 3ed74ae0ec..8139108470 100644
index a74fae9ed..8b5f4cab0 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -184,6 +184,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@@ -185,6 +185,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
return false;
}
com.destroystokyo.paper.PaperConfig.registerCommands();
@@ -57,7 +57,7 @@ index 3ed74ae0ec..8139108470 100644
// Paper end
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 5460ace8f8..c5cd19afa0 100644
index 9df079d8a..7a7874c0a 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -96,6 +96,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -79,7 +79,7 @@ index 5460ace8f8..c5cd19afa0 100644
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/net/pl3x/purpur/Metrics.java b/src/main/java/net/pl3x/purpur/Metrics.java
new file mode 100644
index 0000000000..246eb8140f
index 000000000..246eb8140
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/Metrics.java
@@ -0,0 +1,598 @@
@@ -683,7 +683,7 @@ index 0000000000..246eb8140f
+}
diff --git a/src/main/java/net/pl3x/purpur/PurpurCommand.java b/src/main/java/net/pl3x/purpur/PurpurCommand.java
new file mode 100644
index 0000000000..f8cf4ad234
index 000000000..f8cf4ad23
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/PurpurCommand.java
@@ -0,0 +1,66 @@
@@ -755,7 +755,7 @@ index 0000000000..f8cf4ad234
+}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
new file mode 100644
index 0000000000..6f378b5f69
index 000000000..6f378b5f6
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -0,0 +1,133 @@
@@ -894,7 +894,7 @@ index 0000000000..6f378b5f69
+}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
new file mode 100644
index 0000000000..4985f21733
index 000000000..4985f2173
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -0,0 +1,60 @@
@@ -959,7 +959,7 @@ index 0000000000..4985f21733
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 55b8492373..4c15bd403d 100644
index 55b849237..4c15bd403 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -794,6 +794,7 @@ public final class CraftServer implements Server {
@@ -987,10 +987,10 @@ index 55b8492373..4c15bd403d 100644
ignoreVanillaPermissions = commandsConfiguration.getBoolean("ignore-vanilla-permissions");
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 75d3cbc441..c9937fb0d6 100644
index eb5f44e30..7e8b6cab7 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -137,6 +137,14 @@ public class Main {
@@ -138,6 +138,14 @@ public class Main {
.describedAs("Yml file");
// Paper end

View File

@@ -1,4 +1,4 @@
From 8f5f46daa61cc43483f5fe2385799d8c6290b1bb Mon Sep 17 00:00:00 2001
From 33dcc02e3f144c7a4fd1467b79477ecdddce520d Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 4 May 2019 01:10:30 -0500
Subject: [PATCH] cows to mooshroom when fed mushrooms
@@ -11,10 +11,10 @@ Subject: [PATCH] cows to mooshroom when fed mushrooms
4 files changed, 84 insertions(+)
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index f0d1a5b14d..682457e285 100644
index c1ffd6dc1..fefdd2b27 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1036,6 +1036,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1037,6 +1037,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return false;
}
@@ -22,7 +22,7 @@ index f0d1a5b14d..682457e285 100644
public void a(SoundEffect soundeffect, float f, float f1) {
if (!this.isSilent()) {
this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), soundeffect, this.getSoundCategory(), f, f1);
@@ -2553,6 +2554,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2554,6 +2555,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.invulnerable = flag;
}
@@ -31,7 +31,7 @@ index f0d1a5b14d..682457e285 100644
this.setPositionRotation(entity.locX(), entity.locY(), entity.locZ(), entity.yaw, entity.pitch);
}
diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java
index 2c8bbf20ae..e1d0f0f38d 100644
index 2c8bbf20a..e1d0f0f38 100644
--- a/src/main/java/net/minecraft/server/EntityCow.java
+++ b/src/main/java/net/minecraft/server/EntityCow.java
@@ -16,6 +16,7 @@ public class EntityCow extends EntityAnimal {
@@ -124,10 +124,10 @@ index 2c8bbf20ae..e1d0f0f38d 100644
public EntityCow createChild(EntityAgeable entityageable) {
return (EntityCow) EntityTypes.COW.a(this.world);
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 80219f2df1..0e3062468b 100644
index 6184cced7..ad6f96988 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2807,6 +2807,13 @@ public abstract class EntityLiving extends Entity {
@@ -2809,6 +2809,13 @@ public abstract class EntityLiving extends Entity {
this.aK = f;
}
@@ -142,7 +142,7 @@ index 80219f2df1..0e3062468b 100644
public void l(float f) {
this.aI = f;
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 6f378b5f69..26e95035b2 100644
index 6f378b5f6..26e95035b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -130,4 +130,9 @@ public class PurpurConfig {
@@ -156,5 +156,5 @@ index 6f378b5f69..26e95035b2 100644
+ }
}
--
2.24.0.rc1
2.24.0

View File

@@ -1,4 +1,4 @@
From e8d0089b90abb1eb2cfda12880241af711203cfb Mon Sep 17 00:00:00 2001
From aedad81d1950f053f3b8e58cb61a1d1089f3a86c Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 3 May 2019 23:58:44 -0500
Subject: [PATCH] Snowman set pumpkin on/off by player interaction
@@ -9,7 +9,7 @@ Subject: [PATCH] Snowman set pumpkin on/off by player interaction
2 files changed, 27 insertions(+), 17 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java
index 291f4a72c6..53c5057d20 100644
index 07ca1a498..54404dd4b 100644
--- a/src/main/java/net/minecraft/server/EntitySnowman.java
+++ b/src/main/java/net/minecraft/server/EntitySnowman.java
@@ -8,6 +8,7 @@ import org.bukkit.event.player.PlayerShearEntityEvent;
@@ -35,14 +35,14 @@ index 291f4a72c6..53c5057d20 100644
- // CraftBukkit end
- this.setHasPumpkin(false);
- itemstack.damage(1, entityhuman, (entityhuman1) -> {
- entityhuman1.d(enumhand);
- entityhuman1.broadcastItemBreak(enumhand);
- });
+ // Purpur start
+ if (!new PlayerShearEntityEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), this.getBukkitEntity()).callEvent()) return false; // CraftBukkit
+
+ setHasPumpkin(false);
+ itemstack.damage(1, entityhuman, (entityhuman1) -> {
+ entityhuman1.d(enumhand);
+ entityhuman1.broadcastItemBreak(enumhand);
+ });
+
+ if (net.pl3x.purpur.PurpurConfig.snowmanDropsPumpkin) {
@@ -66,7 +66,7 @@ index 291f4a72c6..53c5057d20 100644
public boolean hasPumpkin() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 26e95035b2..0c408a10cf 100644
index 26e95035b..0c408a10c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -135,4 +135,11 @@ public class PurpurConfig {
@@ -82,5 +82,5 @@ index 26e95035b2..0c408a10cf 100644
+ }
}
--
2.24.0.rc1
2.24.0

View File

@@ -1,4 +1,4 @@
From 743a5398d50290d48be6395e2302ac853bdd0f51 Mon Sep 17 00:00:00 2001
From 80f15a30500567abd6198792f83df09821255f8c Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 5 May 2019 12:58:45 -0500
Subject: [PATCH] Implement LivingEntity safeFallDistance
@@ -11,7 +11,7 @@ Subject: [PATCH] Implement LivingEntity safeFallDistance
4 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
index d9e5eaad12..bcbade19ea 100644
index d9e5eaad1..bcbade19e 100644
--- a/src/main/java/net/minecraft/server/EntityGiantZombie.java
+++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java
@@ -4,6 +4,9 @@ public class EntityGiantZombie extends EntityMonster {
@@ -25,7 +25,7 @@ index d9e5eaad12..bcbade19ea 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
index c56efe035a..9e708769f7 100644
index c56efe035..9e708769f 100644
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
@@ -202,7 +202,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
@@ -38,7 +38,7 @@ index c56efe035a..9e708769f7 100644
protected int getChestSlots() {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 0e3062468b..0d5236bd7e 100644
index ad6f96988..d44977891 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -125,6 +125,7 @@ public abstract class EntityLiving extends Entity {
@@ -49,7 +49,7 @@ index 0e3062468b..0d5236bd7e 100644
boolean forceDrops;
ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
public org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
@@ -1542,7 +1543,7 @@ public abstract class EntityLiving extends Entity {
@@ -1544,7 +1545,7 @@ public abstract class EntityLiving extends Entity {
MobEffect mobeffect = this.getEffect(MobEffects.JUMP);
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
@@ -59,7 +59,7 @@ index 0e3062468b..0d5236bd7e 100644
protected void cZ() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index b27fd44dcd..33f56b85ea 100644
index b27fd44dc..33f56b85e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -712,4 +712,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@@ -80,5 +80,5 @@ index b27fd44dcd..33f56b85ea 100644
+ // Purpur end
}
--
2.24.0.rc1
2.24.0

View File

@@ -1,4 +1,4 @@
From 31106c152e9dda8876dbf2f89a26696f06f7aa61 Mon Sep 17 00:00:00 2001
From c71a2b36871ed2f457ffd56b745e72148efabb7e Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 9 May 2019 18:26:06 -0500
Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
@@ -13,7 +13,7 @@ Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
6 files changed, 235 insertions(+), 14 deletions(-)
diff --git a/src/main/java/net/minecraft/server/DamageSource.java b/src/main/java/net/minecraft/server/DamageSource.java
index 816d301f1c..0971f25b56 100644
index 816d301f1..0971f25b5 100644
--- a/src/main/java/net/minecraft/server/DamageSource.java
+++ b/src/main/java/net/minecraft/server/DamageSource.java
@@ -81,6 +81,7 @@ public class DamageSource {
@@ -25,10 +25,10 @@ index 816d301f1c..0971f25b56 100644
return (new EntityDamageSourceIndirect("indirectMagic", entity, entity1)).setIgnoreArmor().setMagic();
}
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 682457e285..bb355803d5 100644
index fefdd2b27..863ff08fd 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1378,6 +1378,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1379,6 +1379,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return d3 * d3 + d4 * d4 + d5 * d5;
}
@@ -36,7 +36,7 @@ index 682457e285..bb355803d5 100644
public double h(Entity entity) {
return this.c(entity.getPositionVector());
}
@@ -1897,14 +1898,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1898,14 +1899,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return this.a(new ItemStack(imaterial), (float) i);
}
@@ -55,7 +55,7 @@ index 682457e285..bb355803d5 100644
return null;
} else if (this.world.isClientSide) {
diff --git a/src/main/java/net/minecraft/server/EntityEnderCrystal.java b/src/main/java/net/minecraft/server/EntityEnderCrystal.java
index a57d0089d8..2d46c250ed 100644
index a57d0089d..2d46c250e 100644
--- a/src/main/java/net/minecraft/server/EntityEnderCrystal.java
+++ b/src/main/java/net/minecraft/server/EntityEnderCrystal.java
@@ -13,6 +13,12 @@ public class EntityEnderCrystal extends Entity {
@@ -123,7 +123,7 @@ index a57d0089d8..2d46c250ed 100644
@Override
protected void b(NBTTagCompound nbttagcompound) {
diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java
index 82323bf4ac..052a741c0b 100644
index 82323bf4a..052a741c0 100644
--- a/src/main/java/net/minecraft/server/EntityPhantom.java
+++ b/src/main/java/net/minecraft/server/EntityPhantom.java
@@ -8,9 +8,10 @@ import javax.annotation.Nullable;
@@ -361,7 +361,7 @@ index 82323bf4ac..052a741c0b 100644
@Override
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
index c8512f9f41..8b36252ae1 100644
index 4157e50e4..774ec96f0 100644
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
@@ -34,6 +34,7 @@ public interface IEntityAccess {
@@ -373,7 +373,7 @@ index c8512f9f41..8b36252ae1 100644
return this.a(oclass, axisalignedbb, IEntitySelector.f);
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 0c408a10cf..960361ff74 100644
index 0c408a10c..960361ff7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -136,6 +136,15 @@ public class PurpurConfig {
@@ -393,5 +393,5 @@ index 0c408a10cf..960361ff74 100644
public static boolean snowmanPumpkinPutBack = false;
private static void snowmansSettings() {
--
2.24.0.rc1
2.24.0

View File

@@ -1,4 +1,4 @@
From be3d390a49f53f39c350fa8be8185ac808f25683 Mon Sep 17 00:00:00 2001
From c379803cc6ac0a39a2722e78a47fb7d55011a50b Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Tue, 30 Apr 2019 19:17:21 -0500
Subject: [PATCH] Integrate ridables
@@ -116,7 +116,7 @@ index 1d9ba04da..2bade947e 100644
this.d = false;
this.a.aK = this.a(this.a.aK, this.h() + 20.0F, this.b);
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index cd3ea3359..ad9e98358 100644
index 863ff08fd..bdee6efe6 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -79,6 +79,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -148,7 +148,7 @@ index cd3ea3359..ad9e98358 100644
public boolean noclip;
public float J;
protected final Random random;
@@ -2107,7 +2110,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2108,7 +2111,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
} else {
this.passengers.add(entity);
}
@@ -163,7 +163,7 @@ index cd3ea3359..ad9e98358 100644
}
return true; // CraftBukkit
}
@@ -2142,6 +2151,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2143,6 +2152,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return false;
}
// Spigot end
@@ -176,7 +176,7 @@ index cd3ea3359..ad9e98358 100644
this.passengers.remove(entity);
entity.j = 60;
}
@@ -3369,4 +3384,21 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -3370,4 +3385,21 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
void accept(Entity entity, double d0, double d1, double d2);
}
@@ -257,7 +257,7 @@ index 34239160b..b19028fa8 100644
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityBee.java b/src/main/java/net/minecraft/server/EntityBee.java
index 829aab7f7..0071e1869 100644
index f67d66b9a..24b22741d 100644
--- a/src/main/java/net/minecraft/server/EntityBee.java
+++ b/src/main/java/net/minecraft/server/EntityBee.java
@@ -1,6 +1,7 @@
@@ -592,7 +592,7 @@ index e1d0f0f38..dcff77d8d 100644
this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D));
if (net.pl3x.purpur.PurpurConfig.feedMushroomsToCows > 0) this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.25D, RecipeItemStack.a(Items.WHEAT, Blocks.RED_MUSHROOM.getItem(), Blocks.BROWN_MUSHROOM.getItem()), false)); else // Purpur
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
index 77ba92333..72efa596d 100644
index 45dfc8104..d1acd38f9 100644
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
@@ -21,12 +21,14 @@ public class EntityCreeper extends EntityMonster {
@@ -931,7 +931,7 @@ index d332907b3..0ca3d45c9 100644
this.i.setMot(this.i.getMot().add(0.0D, 0.005D, 0.0D));
}
diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java
index bd62ac3ed..738e6cb8f 100644
index 82a32d5db..00055c39e 100644
--- a/src/main/java/net/minecraft/server/EntityFox.java
+++ b/src/main/java/net/minecraft/server/EntityFox.java
@@ -48,6 +48,7 @@ public class EntityFox extends EntityAnimal {
@@ -1264,7 +1264,7 @@ index 5782a25ec..dbe022340 100644
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index 003df00b4..57c528d53 100644
index 2edb99b63..d5e8831f1 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -374,9 +374,21 @@ public abstract class EntityHuman extends EntityLiving {
@@ -1311,7 +1311,7 @@ index 81b7cd06f..18fedbc69 100644
this.goalSelector.a(4, new EntityIllagerIllusioner.b());
this.goalSelector.a(5, new EntityIllagerIllusioner.a());
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 5fb3c948d..654229c28 100644
index e0355d3a3..9aafac6db 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -10,6 +10,7 @@ import java.util.UUID;
@@ -1352,7 +1352,7 @@ index 5fb3c948d..654229c28 100644
this.bq = new ControllerJump(this);
this.c = this.o();
this.navigation = this.b(world);
@@ -152,6 +156,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -163,6 +167,7 @@ public abstract class EntityInsentient extends EntityLiving {
}
public boolean setGoalTarget(EntityLiving entityliving, EntityTargetEvent.TargetReason reason, boolean fireEvent) {
@@ -1360,7 +1360,7 @@ index 5fb3c948d..654229c28 100644
if (getGoalTarget() == entityliving) return false;
if (fireEvent) {
if (reason == EntityTargetEvent.TargetReason.UNKNOWN && getGoalTarget() != null && entityliving == null) {
@@ -483,6 +488,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -494,6 +499,7 @@ public abstract class EntityInsentient extends EntityLiving {
return super.cW();
}
@@ -1368,7 +1368,7 @@ index 5fb3c948d..654229c28 100644
public void r(float f) {
this.bb = f;
}
@@ -495,6 +501,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -506,6 +512,7 @@ public abstract class EntityInsentient extends EntityLiving {
this.aZ = f;
}
@@ -1376,7 +1376,7 @@ index 5fb3c948d..654229c28 100644
@Override
public void o(float f) {
super.o(f);
@@ -1064,7 +1071,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -1075,7 +1082,7 @@ public abstract class EntityInsentient extends EntityLiving {
}
protected boolean a(EntityHuman entityhuman, EnumHand enumhand) {
@@ -1385,7 +1385,7 @@ index 5fb3c948d..654229c28 100644
}
public boolean ec() {
@@ -1363,4 +1370,43 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -1374,4 +1381,43 @@ public abstract class EntityInsentient extends EntityLiving {
public boolean a(Item item) {
return this.getItemInMainHand().getItem() == item || this.getItemInOffHand().getItem() == item;
}
@@ -1464,7 +1464,7 @@ index 2f764776b..63b88f454 100644
float f1 = 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F;
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 0d5236bd7..969a77c59 100644
index d44977891..b28c0de9a 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -91,10 +91,10 @@ public abstract class EntityLiving extends Entity {
@@ -1503,7 +1503,7 @@ index 0d5236bd7..969a77c59 100644
}
protected void cD() {
@@ -2088,7 +2096,7 @@ public abstract class EntityLiving extends Entity {
@@ -2090,7 +2098,7 @@ public abstract class EntityLiving extends Entity {
return 0.42F * this.ah();
}
@@ -1512,7 +1512,7 @@ index 0d5236bd7..969a77c59 100644
float f = this.dp();
if (this.hasEffect(MobEffects.JUMP)) {
@@ -2097,6 +2105,7 @@ public abstract class EntityLiving extends Entity {
@@ -2099,6 +2107,7 @@ public abstract class EntityLiving extends Entity {
Vec3D vec3d = this.getMot();
@@ -1520,7 +1520,7 @@ index 0d5236bd7..969a77c59 100644
this.setMot(vec3d.x, (double) f, vec3d.z);
if (this.isSprinting()) {
float f1 = this.yaw * 0.017453292F;
@@ -2315,10 +2324,12 @@ public abstract class EntityLiving extends Entity {
@@ -2317,10 +2326,12 @@ public abstract class EntityLiving extends Entity {
return this.onGround ? this.dt() * (0.21600002F / (f * f * f)) : this.aM;
}
@@ -1534,7 +1534,7 @@ index 0d5236bd7..969a77c59 100644
this.bB = f;
}
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
index 6d4d41c88..6ebb6fd66 100644
index 193dbfc5f..ec0f57d90 100644
--- a/src/main/java/net/minecraft/server/EntityLlama.java
+++ b/src/main/java/net/minecraft/server/EntityLlama.java
@@ -16,6 +16,29 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
@@ -1655,7 +1655,7 @@ index 1fdc248ba..b5e8857cb 100644
this.setMot(vec3d.x, (double) (this.dp() + (float) this.getSize() * 0.1F), vec3d.z);
diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java
index ce5bac35d..80c98c04b 100644
index a9688fbfc..5c339fb56 100644
--- a/src/main/java/net/minecraft/server/EntityMushroomCow.java
+++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java
@@ -18,6 +18,7 @@ public class EntityMushroomCow extends EntityCow {
@@ -2357,7 +2357,7 @@ index 6be29f307..7347ffcd5 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntitySheep.java b/src/main/java/net/minecraft/server/EntitySheep.java
index e3419a7f4..a065ddb90 100644
index a8ef98981..f7d9dee92 100644
--- a/src/main/java/net/minecraft/server/EntitySheep.java
+++ b/src/main/java/net/minecraft/server/EntitySheep.java
@@ -18,7 +18,7 @@ import org.bukkit.inventory.InventoryView;
@@ -2447,7 +2447,7 @@ index 0e78d5c62..908e51b63 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
index fdeb8980d..347766e4b 100644
index 3c95c0428..a8cd1dcb9 100644
--- a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
+++ b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
@@ -28,6 +28,7 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR
@@ -2510,7 +2510,7 @@ index 2efc18df9..71e8e95d2 100644
this.setMot(vec3d.x, (double) this.dp(), vec3d.z);
diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java
index 53c5057d2..9d9998820 100644
index 54404dd4b..eabf5a15a 100644
--- a/src/main/java/net/minecraft/server/EntitySnowman.java
+++ b/src/main/java/net/minecraft/server/EntitySnowman.java
@@ -13,10 +13,12 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity {
@@ -2807,7 +2807,7 @@ index dd02cb348..f18261197 100644
if (this.h == ControllerMove.Operation.MOVE_TO && !this.i.getNavigation().m()) {
double d0 = this.b - this.i.locX();
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
index dcba6d6c8..b82d53e5d 100644
index 2157f0899..0dd9897b9 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -267,6 +267,10 @@ public class EntityTypes<T extends Entity> {
@@ -2966,7 +2966,7 @@ index db15d5e0a..738a9e1db 100644
private final EntityWolf j;
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
index 7d882d9c7..8f9d252c1 100644
index 8635d4f40..6139281e5 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -37,6 +37,7 @@ public class EntityZombie extends EntityMonster {

View File

@@ -1,4 +1,4 @@
From 568d2c66c68ed82365e494a7e045a915bdc230a5 Mon Sep 17 00:00:00 2001
From 6538d3e373f0bc9b0e65ac3c1a60047dab92a874 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 12 May 2019 00:43:12 -0500
Subject: [PATCH] Make giants naturally spawn and have AI
@@ -13,7 +13,7 @@ Subject: [PATCH] Make giants naturally spawn and have AI
6 files changed, 89 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java
index 0102a170dc..9637098462 100644
index 0102a170d..963709846 100644
--- a/src/main/java/net/minecraft/server/BiomeBase.java
+++ b/src/main/java/net/minecraft/server/BiomeBase.java
@@ -112,6 +112,7 @@ public abstract class BiomeBase {
@@ -25,7 +25,7 @@ index 0102a170dc..9637098462 100644
((List) this.v.get(enumcreaturetype)).add(biomebase_biomemeta);
}
diff --git a/src/main/java/net/minecraft/server/Biomes.java b/src/main/java/net/minecraft/server/Biomes.java
index 12742870ca..d1f8695fee 100644
index 12742870c..d1f8695fe 100644
--- a/src/main/java/net/minecraft/server/Biomes.java
+++ b/src/main/java/net/minecraft/server/Biomes.java
@@ -92,5 +92,30 @@ public abstract class Biomes {
@@ -60,7 +60,7 @@ index 12742870ca..d1f8695fee 100644
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
index b7e2022b19..c2408e7211 100644
index b7e2022b1..c2408e721 100644
--- a/src/main/java/net/minecraft/server/EntityGiantZombie.java
+++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java
@@ -21,11 +21,55 @@ public class EntityGiantZombie extends EntityMonster {
@@ -122,10 +122,10 @@ index b7e2022b19..c2408e7211 100644
}
}
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index e50b5fdcc1..afafbd4986 100644
index 9aafac6db..89b45da1b 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -857,6 +857,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -868,6 +868,7 @@ public abstract class EntityInsentient extends EntityLiving {
return f;
}
@@ -133,7 +133,7 @@ index e50b5fdcc1..afafbd4986 100644
protected void a(DifficultyDamageScaler difficultydamagescaler) {
if (this.random.nextFloat() < 0.15F * difficultydamagescaler.d()) {
int i = this.random.nextInt(2);
@@ -964,6 +965,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -975,6 +976,7 @@ public abstract class EntityInsentient extends EntityLiving {
}
}
@@ -142,7 +142,7 @@ index e50b5fdcc1..afafbd4986 100644
float f = difficultydamagescaler.d();
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index 58bbf2f9d2..53d5900411 100644
index 58bbf2f9d..53d590041 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -77,6 +77,14 @@ public final class SpawnerCreature {
@@ -161,7 +161,7 @@ index 58bbf2f9d2..53d5900411 100644
EntityPositionTypes.Surface entitypositiontypes_surface = EntityPositionTypes.a(entitytypes);
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index c4955fae62..d7da38bf5c 100644
index c4955fae6..d7da38bf5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -141,6 +141,13 @@ public class PurpurConfig {

View File

@@ -1,4 +1,4 @@
From 437b82c05e30e30bf70561ae8f235336055af24d Mon Sep 17 00:00:00 2001
From 476d9a9f88033cc88be192b638cc1cfa025ce90c Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 19 May 2019 18:11:53 -0500
Subject: [PATCH] Add regen effect to campfires
@@ -11,10 +11,10 @@ Subject: [PATCH] Add regen effect to campfires
4 files changed, 91 insertions(+), 3 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 969a77c597..50c494503e 100644
index b28c0de9a..5af703bd1 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2779,10 +2779,19 @@ public abstract class EntityLiving extends Entity {
@@ -2781,10 +2781,19 @@ public abstract class EntityLiving extends Entity {
}
public boolean hasLineOfSight(Entity entity) {
@@ -38,7 +38,7 @@ index 969a77c597..50c494503e 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityPotion.java b/src/main/java/net/minecraft/server/EntityPotion.java
index 2f9a73ea33..9c9131d8d4 100644
index 2f9a73ea3..9c9131d8d 100644
--- a/src/main/java/net/minecraft/server/EntityPotion.java
+++ b/src/main/java/net/minecraft/server/EntityPotion.java
@@ -91,6 +91,7 @@ public class EntityPotion extends EntityProjectile {
@@ -82,7 +82,7 @@ index 2f9a73ea33..9c9131d8d4 100644
AxisAlignedBB axisalignedbb = this.getBoundingBox().grow(4.0D, 2.0D, 4.0D);
List<EntityLiving> list = this.world.a(EntityLiving.class, axisalignedbb, EntityPotion.e);
diff --git a/src/main/java/net/minecraft/server/TileEntityCampfire.java b/src/main/java/net/minecraft/server/TileEntityCampfire.java
index a1580b8c6d..3a44454ed7 100644
index a1580b8c6..3a44454ed 100644
--- a/src/main/java/net/minecraft/server/TileEntityCampfire.java
+++ b/src/main/java/net/minecraft/server/TileEntityCampfire.java
@@ -14,6 +14,7 @@ public class TileEntityCampfire extends TileEntity implements Clearable, ITickab
@@ -151,7 +151,7 @@ index a1580b8c6d..3a44454ed7 100644
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4985f21733..f4811a1d7b 100644
index 4985f2173..f4811a1d7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -57,4 +57,27 @@ public class PurpurWorldConfig {

View File

@@ -1,30 +1,32 @@
From 89db8d3ffb6701c7c4a9ff71cfe817cfc2c0285c Mon Sep 17 00:00:00 2001
From 507d771b4b5a27cf3dc9232f4af6b62001b760d9 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 31 May 2019 21:24:33 -0500
Subject: [PATCH] Advancement API Additions
---
.../net/minecraft/server/Advancement.java | 2 +-
.../net/minecraft/server/Advancement.java | 4 +-
.../minecraft/server/AdvancementDisplay.java | 8 +++-
.../server/AdvancementFrameType.java | 14 ++++--
.../advancement/CraftAdvancement.java | 6 +++
.../advancement/CraftAdvancementDisplay.java | 48 +++++++++++++++++++
5 files changed, 73 insertions(+), 5 deletions(-)
5 files changed, 74 insertions(+), 6 deletions(-)
create mode 100644 src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancementDisplay.java
diff --git a/src/main/java/net/minecraft/server/Advancement.java b/src/main/java/net/minecraft/server/Advancement.java
index 3ef2f4d2a..ac4c29f2b 100644
index 4b85551fa..c9df67464 100644
--- a/src/main/java/net/minecraft/server/Advancement.java
+++ b/src/main/java/net/minecraft/server/Advancement.java
@@ -20,7 +20,7 @@ import org.apache.commons.lang3.ArrayUtils;
public class Advancement {
@@ -64,8 +64,8 @@ public class Advancement {
return this.parent;
}
- @Nullable
- public AdvancementDisplay c() {
+ @Nullable public AdvancementDisplay getDisplay() { return c(); } // Purpur - OBFHELPER
+ @Nullable public AdvancementDisplay c() {
return this.display;
}
private final Advancement a;
- private final AdvancementDisplay b;
+ private final AdvancementDisplay b; public AdvancementDisplay getDisplay() { return b; } // Purpur - OBFHELPER
private final AdvancementRewards c;
private final MinecraftKey d;
private final Map<String, Criterion> e;
diff --git a/src/main/java/net/minecraft/server/AdvancementDisplay.java b/src/main/java/net/minecraft/server/AdvancementDisplay.java
index e8172d56f..edfd7f84a 100644
--- a/src/main/java/net/minecraft/server/AdvancementDisplay.java

View File

@@ -1,4 +1,4 @@
From a5861c7ad2d16003948379c308f64b0eb6baa80d Mon Sep 17 00:00:00 2001
From 327f2130ddb69565f47048e2df5af0ff9d8eeddc Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 29 Jun 2019 02:32:40 -0500
Subject: [PATCH] Controllable Minecarts
@@ -11,10 +11,10 @@ Subject: [PATCH] Controllable Minecarts
4 files changed, 75 insertions(+), 3 deletions(-)
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index c40d3b56b1..36d11cfdf2 100644
index bdee6efe6..5a5531c10 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1283,6 +1283,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1284,6 +1284,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.inLava = true;
}
@@ -23,7 +23,7 @@ index c40d3b56b1..36d11cfdf2 100644
return this.inLava;
}
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
index 4388186db5..5abd8a1819 100644
index 4388186db..5abd8a181 100644
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
@@ -8,6 +8,7 @@ import java.util.List;
@@ -86,7 +86,7 @@ index 4388186db5..5abd8a1819 100644
this.setMot(new Vec3D(this.getMot().x * this.derailedX, this.getMot().y * this.derailedY, this.getMot().z * this.derailedZ));
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/ItemMinecart.java b/src/main/java/net/minecraft/server/ItemMinecart.java
index b73e317fbb..aa2186add7 100644
index b73e317fb..aa2186add 100644
--- a/src/main/java/net/minecraft/server/ItemMinecart.java
+++ b/src/main/java/net/minecraft/server/ItemMinecart.java
@@ -103,8 +103,10 @@ public class ItemMinecart extends Item {
@@ -111,7 +111,7 @@ index b73e317fbb..aa2186add7 100644
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 26c855b1cc..fce20c66ee 100644
index 26c855b1c..fce20c66e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -1,9 +1,13 @@

View File

@@ -1,4 +1,4 @@
From b4228af0149ea881aabe6a2eadf46781c3421a73 Mon Sep 17 00:00:00 2001
From 3972fecf35718134bfc2b204d0ea27c9ea9249e3 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Wed, 3 Jul 2019 23:58:31 -0500
Subject: [PATCH] Disable loot drops on death by cramming
@@ -9,10 +9,10 @@ Subject: [PATCH] Disable loot drops on death by cramming
2 files changed, 7 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 50c494503e..7a5a1a2d3e 100644
index 5af703bd1..38948133e 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1381,8 +1381,10 @@ public abstract class EntityLiving extends Entity {
@@ -1383,8 +1383,10 @@ public abstract class EntityLiving extends Entity {
this.dropInventory(); // CraftBukkit - from below
org.bukkit.event.entity.EntityDeathEvent deathEvent; // Paper
if (this.isDropExperience() && this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
@@ -24,7 +24,7 @@ index 50c494503e..7a5a1a2d3e 100644
deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops); // Paper
} else {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index db98b4c3f6..f9623c7c7a 100644
index fce20c66e..d6af36146 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -136,6 +136,11 @@ public class PurpurConfig {
@@ -40,5 +40,5 @@ index db98b4c3f6..f9623c7c7a 100644
private static void requireShiftToMount() {
requireShiftToMount = getBoolean("settings.mobs.require-shift-to-mount", requireShiftToMount);
--
2.24.0.rc1
2.24.0

View File

@@ -1,4 +1,4 @@
From a4dcd36d98f5f3a00f5201b777478de3bdf990ab Mon Sep 17 00:00:00 2001
From b83d33f69a3f2665db1515cac7a598bf539499cb Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 21 Jul 2019 18:06:20 -0500
Subject: [PATCH] Ladders should not bypass cramming gamerule
@@ -17,10 +17,10 @@ Subject: [PATCH] Ladders should not bypass cramming gamerule
10 files changed, 26 insertions(+), 10 deletions(-)
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 36d11cfdf..dee92e5a7 100644
index 5a5531c10..416eb5d77 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1508,6 +1508,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1509,6 +1509,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
}
public boolean isCollidable() {
@@ -32,10 +32,10 @@ index 36d11cfdf..dee92e5a7 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
index e6032e3ed..fc4e12d9a 100644
index 8ad131e4f..dfe8c57ce 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -323,7 +323,7 @@ public class EntityArmorStand extends EntityLiving {
@@ -318,7 +318,7 @@ public class EntityArmorStand extends EntityLiving {
}
@Override
@@ -58,7 +58,7 @@ index b19028fa8..56bdaf0e0 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java
index 6a1d32df6..03624bbd6 100644
index 399fdf2f0..cb1156901 100644
--- a/src/main/java/net/minecraft/server/EntityBoat.java
+++ b/src/main/java/net/minecraft/server/EntityBoat.java
@@ -98,7 +98,7 @@ public class EntityBoat extends Entity {
@@ -84,10 +84,10 @@ index 5cd46c747..c02d2afbe 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 7a5a1a2d3..758131649 100644
index 38948133e..31cfac0c8 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2673,7 +2673,7 @@ public abstract class EntityLiving extends Entity {
@@ -2675,7 +2675,7 @@ public abstract class EntityLiving extends Entity {
protected void doTick() {}
protected void collideNearby() {
@@ -96,7 +96,7 @@ index 7a5a1a2d3..758131649 100644
if (!list.isEmpty()) {
int i = this.world.getGameRules().getInt(GameRules.MAX_ENTITY_CRAMMING);
@@ -2811,8 +2811,10 @@ public abstract class EntityLiving extends Entity {
@@ -2813,8 +2813,10 @@ public abstract class EntityLiving extends Entity {
}
@Override
@@ -158,7 +158,7 @@ index a2d1ef360..8d7273a38 100644
} else if (entity.world.isClientSide && (!(entity1 instanceof EntityHuman) || !((EntityHuman) entity1).ec())) {
return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index debf152bc..6c4fafaf7 100644
index 83112e6ec..627177731 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -146,6 +146,11 @@ public class PurpurConfig {
@@ -174,5 +174,5 @@ index debf152bc..6c4fafaf7 100644
private static void fixItemPositionDesync() {
fixItemPositionDesync = getBoolean("settings.fix-item-position-desync", fixItemPositionDesync);
--
2.24.0.rc1
2.24.0

View File

@@ -1,4 +1,4 @@
From c3f604dc22a1eba909826324190c3b1d7b7d34a6 Mon Sep 17 00:00:00 2001
From 2c5f617cc5b908f85d0a8aafb4763b97e64ee506 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Tue, 23 Jul 2019 10:07:16 -0500
Subject: [PATCH] Implement lagging threshold
@@ -10,7 +10,7 @@ Subject: [PATCH] Implement lagging threshold
3 files changed, 12 insertions(+)
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index f14d1b160a..cf807e825f 100644
index ac45dbf59..587bef915 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -178,6 +178,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -21,7 +21,7 @@ index f14d1b160a..cf807e825f 100644
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
@@ -915,6 +916,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -916,6 +917,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
recentTps[0] = tps1.getAverage();
recentTps[1] = tps5.getAverage();
recentTps[2] = tps15.getAverage();
@@ -30,7 +30,7 @@ index f14d1b160a..cf807e825f 100644
tickSection = curTime;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index f7e1da705d..48d4f1f5aa 100644
index 627177731..de0cf5c55 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -136,6 +136,11 @@ public class PurpurConfig {
@@ -46,7 +46,7 @@ index f7e1da705d..48d4f1f5aa 100644
private static void disableDropsOnCrammingDeath() {
disableDropsOnCrammingDeath = getBoolean("settings.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 210c04f026..ec1e2a13d3 100644
index e514dd50c..4b555bb1c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2179,5 +2179,10 @@ public final class CraftServer implements Server {
@@ -61,5 +61,5 @@ index 210c04f026..ec1e2a13d3 100644
// Purpur end
}
--
2.24.0.rc1
2.24.0

View File

@@ -1,27 +1,27 @@
From 5dd421530fad8511fcac6377a518a79ed3ab7de9 Mon Sep 17 00:00:00 2001
From a52816cca0ca3cb8aa341675d4a23a4287b2bd3a Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 25 Jul 2019 18:07:37 -0500
Subject: [PATCH] Implement elytra settings
---
.../java/net/minecraft/server/EntityLiving.java | 14 +++++++++++---
.../java/net/minecraft/server/ItemFireworks.java | 8 ++++++++
src/main/java/net/minecraft/server/ItemStack.java | 8 +++++++-
.../java/net/minecraft/server/ItemTrident.java | 10 ++++++++++
src/main/java/net/minecraft/server/Vec3D.java | 1 +
.../java/net/pl3x/purpur/PurpurWorldConfig.java | 13 +++++++++++++
6 files changed, 50 insertions(+), 4 deletions(-)
.../java/net/minecraft/server/EntityLiving.java | 13 ++++++++++---
.../java/net/minecraft/server/ItemFireworks.java | 8 ++++++++
src/main/java/net/minecraft/server/ItemStack.java | 8 +++++++-
src/main/java/net/minecraft/server/ItemTrident.java | 10 ++++++++++
src/main/java/net/minecraft/server/Vec3D.java | 1 +
.../java/net/pl3x/purpur/PurpurWorldConfig.java | 13 +++++++++++++
6 files changed, 49 insertions(+), 4 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 7581316497..7d424040cc 100644
index 31cfac0c8..d4fb8e4a6 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2652,9 +2652,16 @@ public abstract class EntityLiving extends Entity {
@@ -2654,9 +2654,16 @@ public abstract class EntityLiving extends Entity {
if (itemstack.getItem() == Items.ELYTRA && ItemElytra.e(itemstack)) {
flag = true;
if (!this.world.isClientSide && (this.bm + 1) % 20 == 0) {
- itemstack.damage(1, this, (entityliving) -> {
- entityliving.c(EnumItemSlot.CHEST);
- entityliving.broadcastItemBreak(EnumItemSlot.CHEST);
- });
+ // Purpur start
+ int damage = world.purpurConfig.elytraDamagePerSecond;
@@ -31,21 +31,13 @@ index 7581316497..7d424040cc 100644
+ damage *= (int) speed;
+ }
+ }
+ itemstack.damage(damage, this, (entityliving) -> entityliving.c(EnumItemSlot.CHEST));
+ itemstack.damage(damage, this, (entityliving) -> entityliving.broadcastItemBreak(EnumItemSlot.CHEST));
+ // Purpur end
}
} else {
flag = false;
@@ -3317,6 +3324,7 @@ public abstract class EntityLiving extends Entity {
}
}
+ public void sendBreakAnimation(EnumItemSlot slot) { c(slot); } // Purpur - OBFHELPER
public void c(EnumItemSlot enumitemslot) {
this.world.broadcastEntityEffect(this, d(enumitemslot));
}
diff --git a/src/main/java/net/minecraft/server/ItemFireworks.java b/src/main/java/net/minecraft/server/ItemFireworks.java
index a43e52889f..cc8fbccd16 100644
index bd524a35b..c0e8cd0cd 100644
--- a/src/main/java/net/minecraft/server/ItemFireworks.java
+++ b/src/main/java/net/minecraft/server/ItemFireworks.java
@@ -39,6 +39,14 @@ public class ItemFireworks extends Item {
@@ -56,7 +48,7 @@ index a43e52889f..cc8fbccd16 100644
+ if (world.purpurConfig.elytraDamagePerFireworkBoost > 0) {
+ ItemStack chestItem = entityhuman.getEquipment(EnumItemSlot.CHEST);
+ if (chestItem.getItem() == Items.ELYTRA) {
+ chestItem.damage(world.purpurConfig.elytraDamagePerFireworkBoost, entityhuman, (entityliving) -> entityliving.sendBreakAnimation(EnumItemSlot.CHEST));
+ chestItem.damage(world.purpurConfig.elytraDamagePerFireworkBoost, entityhuman, (entityliving) -> entityliving.broadcastItemBreak(EnumItemSlot.CHEST));
+ }
+ }
+ // Purpur end
@@ -64,7 +56,7 @@ index a43e52889f..cc8fbccd16 100644
itemstack.subtract(1);
} else ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory();
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
index 1108aa0852..2b39d5ca20 100644
index 1108aa085..2b39d5ca2 100644
--- a/src/main/java/net/minecraft/server/ItemStack.java
+++ b/src/main/java/net/minecraft/server/ItemStack.java
@@ -401,7 +401,7 @@ public final class ItemStack {
@@ -90,7 +82,7 @@ index 1108aa0852..2b39d5ca20 100644
if (this.count == 1 && t0 instanceof EntityHuman) {
org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemBreakEvent((EntityHuman) t0, this);
diff --git a/src/main/java/net/minecraft/server/ItemTrident.java b/src/main/java/net/minecraft/server/ItemTrident.java
index 1cbaed9da4..b7610aaf70 100644
index f571a1586..c26300eac 100644
--- a/src/main/java/net/minecraft/server/ItemTrident.java
+++ b/src/main/java/net/minecraft/server/ItemTrident.java
@@ -100,6 +100,16 @@ public class ItemTrident extends Item {
@@ -102,7 +94,7 @@ index 1cbaed9da4..b7610aaf70 100644
+ ItemStack chestItem = entityhuman.getEquipment(EnumItemSlot.CHEST);
+ if (chestItem.getItem() == Items.ELYTRA) {
+ if (world.purpurConfig.elytraDamagePerTridentBoost > 0) {
+ chestItem.damage(world.purpurConfig.elytraDamagePerTridentBoost, entityhuman, (entity) -> entity.sendBreakAnimation(EnumItemSlot.CHEST));
+ chestItem.damage(world.purpurConfig.elytraDamagePerTridentBoost, entityhuman, (entity) -> entity.broadcastItemBreak(EnumItemSlot.CHEST));
+ }
+ }
+ // Purpur end
@@ -111,7 +103,7 @@ index 1cbaed9da4..b7610aaf70 100644
entityhuman.r(20);
if (entityhuman.onGround) {
diff --git a/src/main/java/net/minecraft/server/Vec3D.java b/src/main/java/net/minecraft/server/Vec3D.java
index 212af252be..fbc30e6ece 100644
index 212af252b..fbc30e6ec 100644
--- a/src/main/java/net/minecraft/server/Vec3D.java
+++ b/src/main/java/net/minecraft/server/Vec3D.java
@@ -98,6 +98,7 @@ public class Vec3D implements IPosition {
@@ -123,7 +115,7 @@ index 212af252be..fbc30e6ece 100644
return this.x * this.x + this.y * this.y + this.z * this.z;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 6cc6d8015f..6d875b78b9 100644
index 6cc6d8015..6d875b78b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -116,6 +116,19 @@ public class PurpurWorldConfig {

View File

@@ -1,4 +1,4 @@
From 3e5cdd0aa4915e7bbcdd16870984b5a8de04217b Mon Sep 17 00:00:00 2001
From ab03dbf8091533a537d8d3d446dbc9c300c88dcc Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 28 Jul 2019 01:27:37 -0500
Subject: [PATCH] Add 5 second tps average in /tps
@@ -10,7 +10,7 @@ Subject: [PATCH] Add 5 second tps average in /tps
3 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index cf807e825f..db4187e24a 100644
index 587bef915..9d5ef40a0 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -177,7 +177,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -22,7 +22,7 @@ index cf807e825f..db4187e24a 100644
public boolean lagging = false; // Purpur
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
@@ -833,6 +833,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -834,6 +834,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
private long lastTick = 0;
private long catchupTime = 0;
@@ -30,7 +30,7 @@ index cf807e825f..db4187e24a 100644
public final RollingAverage tps1 = new RollingAverage(60);
public final RollingAverage tps5 = new RollingAverage(60 * 5);
public final RollingAverage tps15 = new RollingAverage(60 * 15);
@@ -909,13 +910,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -910,13 +911,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
{
final long diff = curTime - tickSection;
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
@@ -52,7 +52,7 @@ index cf807e825f..db4187e24a 100644
// Paper end
tickSection = curTime;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index ec1e2a13d3..46924beafc 100644
index 4b555bb1c..262b82538 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2012,6 +2012,7 @@ public final class CraftServer implements Server {
@@ -64,7 +64,7 @@ index ec1e2a13d3..46924beafc 100644
net.minecraft.server.MinecraftServer.getServer().tps5.getAverage(),
net.minecraft.server.MinecraftServer.getServer().tps15.getAverage()
diff --git a/src/main/java/org/spigotmc/TicksPerSecondCommand.java b/src/main/java/org/spigotmc/TicksPerSecondCommand.java
index 6d21c32692..2eed9d0a4a 100644
index 6d21c3269..2eed9d0a4 100644
--- a/src/main/java/org/spigotmc/TicksPerSecondCommand.java
+++ b/src/main/java/org/spigotmc/TicksPerSecondCommand.java
@@ -30,7 +30,7 @@ public class TicksPerSecondCommand extends Command
@@ -77,5 +77,5 @@ index 6d21c32692..2eed9d0a4a 100644
return true;
--
2.24.0.rc1
2.24.0

View File

@@ -1,4 +1,4 @@
From e1788bab43596625b24bb8d5cc7d9648a457a3e2 Mon Sep 17 00:00:00 2001
From 8f9291b0064b5f283fca8915db808cf4b6767ab5 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 8 Aug 2019 15:29:15 -0500
Subject: [PATCH] Implement AFK API
@@ -17,10 +17,10 @@ Subject: [PATCH] Implement AFK API
10 files changed, 112 insertions(+), 24 deletions(-)
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 1837842c7..cbddb1d6b 100644
index 416eb5d77..c24f7071a 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1374,6 +1374,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1375,6 +1375,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return MathHelper.c(f * f + f1 * f1 + f2 * f2);
}
@@ -29,7 +29,7 @@ index 1837842c7..cbddb1d6b 100644
double d3 = this.locX() - d0;
double d4 = this.locY() - d1;
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index 57c528d53..3c9f18096 100644
index d5e8831f1..1302c36b2 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -86,6 +86,15 @@ public abstract class EntityHuman extends EntityLiving {
@@ -49,7 +49,7 @@ index 57c528d53..3c9f18096 100644
super(EntityTypes.PLAYER, world);
this.bV = ItemStack.a;
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index df20e5706..e91cf84f7 100644
index 5545df892..621e3948e 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1611,8 +1611,51 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -105,7 +105,7 @@ index df20e5706..e91cf84f7 100644
return this.serverStatisticManager;
}
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
index 818243351..69f4fedd0 100644
index 774ec96f0..5ef881634 100644
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
@@ -116,28 +116,18 @@ public interface IEntityAccess {
@@ -205,13 +205,13 @@ index a4af019bc..2db59c55c 100644
if (from.getX() != Double.MAX_VALUE) {
Location oldTo = to.clone();
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index fbfe37ea0..4dfcce82d 100644
index a0477134d..9d3df98e7 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -376,7 +376,7 @@ public class WorldServer extends World {
}
if (this.C && this.players.stream().noneMatch((entityplayer) -> {
if (this.everyoneSleeping && this.players.stream().noneMatch((entityplayer) -> {
- return !entityplayer.isSpectator() && !entityplayer.isDeeplySleeping() && !entityplayer.fauxSleeping; // CraftBukkit
+ return !entityplayer.isSpectator() && !entityplayer.isDeeplySleeping() && !entityplayer.fauxSleeping && !(purpurConfig.idleTimeoutCountAsSleeping && entityplayer.isAfk()); // CraftBukkit // Purpur
})) {
@@ -253,10 +253,10 @@ index 6d875b78b..7422f361e 100644
private void itemsCanBreakTurtleEggs() {
itemsCanBreakTurtleEggs = getBoolean("items-can-break-turtle-eggs", itemsCanBreakTurtleEggs);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 3afcfeae1..df9e5c659 100644
index c1acec87f..8c5d7bd2b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2068,4 +2068,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2089,4 +2089,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return spigot;
}
// Spigot end
@@ -279,10 +279,10 @@ index 3afcfeae1..df9e5c659 100644
+ // Purpur end
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 92601c581..185717c80 100644
index 6e165a164..da5fef091 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -128,6 +128,7 @@ public class ActivationRange
@@ -137,6 +137,7 @@ public class ActivationRange
{
player.activatedTick = MinecraftServer.currentTick;

View File

@@ -1,4 +1,4 @@
From 5d4141703ef62a4d7b0e0febdf3a4c43ecc212aa Mon Sep 17 00:00:00 2001
From d901d884e7242ab02972eff077cf363bd6f9f965 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 25 Aug 2019 00:09:52 -0500
Subject: [PATCH] Dispenser curse of binding protection
@@ -10,10 +10,10 @@ Subject: [PATCH] Dispenser curse of binding protection
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index afafbd4986..ae02092218 100644
index 89b45da1b..97081f6a4 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -903,9 +903,15 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -914,9 +914,15 @@ public abstract class EntityInsentient extends EntityLiving {
}
@@ -31,7 +31,7 @@ index afafbd4986..ae02092218 100644
}
diff --git a/src/main/java/net/minecraft/server/ItemArmor.java b/src/main/java/net/minecraft/server/ItemArmor.java
index cef073c81e..4014c7d116 100644
index df8c42bfb..a4b3d0c29 100644
--- a/src/main/java/net/minecraft/server/ItemArmor.java
+++ b/src/main/java/net/minecraft/server/ItemArmor.java
@@ -31,7 +31,7 @@ public class ItemArmor extends Item {
@@ -52,7 +52,7 @@ index cef073c81e..4014c7d116 100644
return this.b;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 0eb8f8bfa5..38d85c6389 100644
index 0eb8f8bfa..38d85c638 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -103,6 +103,11 @@ public class PurpurWorldConfig {

View File

@@ -1,4 +1,4 @@
From 053f747d717deedde0518fe06b840c7f42070707 Mon Sep 17 00:00:00 2001
From 5951f8637bdb457ae59201563ce04832cb1595ae Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 3 Oct 2019 18:08:03 -0500
Subject: [PATCH] Allow leashing villagers
@@ -10,10 +10,10 @@ Subject: [PATCH] Allow leashing villagers
3 files changed, 10 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index ae02092218..b223044f5b 100644
index 97081f6a4..491db81ba 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -1051,6 +1051,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -1062,6 +1062,7 @@ public abstract class EntityInsentient extends EntityLiving {
if (!this.isAlive()) {
return false;
} else if (this.getLeashHolder() == entityhuman) {
@@ -22,7 +22,7 @@ index ae02092218..b223044f5b 100644
if (CraftEventFactory.callPlayerUnleashEntityEvent(this, entityhuman).isCancelled()) {
((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutAttachEntity(this, this.getLeashHolder()));
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index 7d146d9783..4187bb6026 100644
index 10625b3ab..cd8da30a1 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -980,4 +980,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -38,7 +38,7 @@ index 7d146d9783..4187bb6026 100644
+ // Purpur - end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 0537d06811..8298a12769 100644
index 0537d0681..8298a1276 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -235,9 +235,11 @@ public class PurpurConfig {

View File

@@ -1,17 +1,17 @@
From 78d42880d3d97db6fabdab39149a975189963a05 Mon Sep 17 00:00:00 2001
From 0eb1d9482de3f315ebead0cac4ae90b1b152ca03 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 18 Oct 2019 22:50:12 -0500
Subject: [PATCH] Add more llama API
---
.../net/minecraft/server/EntityLlama.java | 20 ++++++---
.../net/minecraft/server/EntityLlama.java | 19 +++++---
.../minecraft/server/EntityLlamaTrader.java | 4 +-
.../server/PathfinderGoalLlamaFollow.java | 4 +-
.../bukkit/craftbukkit/entity/CraftLlama.java | 44 +++++++++++++++++++
4 files changed, 64 insertions(+), 8 deletions(-)
4 files changed, 63 insertions(+), 8 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
index 6ebb6fd663..14dc4d954b 100644
index ec0f57d90..c9d8a4e13 100644
--- a/src/main/java/net/minecraft/server/EntityLlama.java
+++ b/src/main/java/net/minecraft/server/EntityLlama.java
@@ -12,7 +12,8 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
@@ -46,7 +46,7 @@ index 6ebb6fd663..14dc4d954b 100644
this.eI();
}
@@ -403,29 +408,34 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
@@ -403,19 +408,24 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
}
}
@@ -71,9 +71,7 @@ index 6ebb6fd663..14dc4d954b 100644
public boolean fc() {
return this.bK != null;
}
+ public boolean inCaravan() { return fd(); } // Purpur - OBFHELPER
public boolean fd() {
@@ -425,8 +435,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
return this.bJ != null;
}
@@ -84,7 +82,7 @@ index 6ebb6fd663..14dc4d954b 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityLlamaTrader.java b/src/main/java/net/minecraft/server/EntityLlamaTrader.java
index f8129ef10d..c714b387c1 100644
index f8129ef10..c714b387c 100644
--- a/src/main/java/net/minecraft/server/EntityLlamaTrader.java
+++ b/src/main/java/net/minecraft/server/EntityLlamaTrader.java
@@ -81,8 +81,8 @@ public class EntityLlamaTrader extends EntityLlama {
@@ -99,7 +97,7 @@ index f8129ef10d..c714b387c1 100644
}
// Purpur end
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java b/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java
index e181d83505..8376f1dc4e 100644
index e181d8350..8376f1dc4 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java
@@ -6,7 +6,7 @@ import java.util.List;
@@ -128,7 +126,7 @@ index e181d83505..8376f1dc4e 100644
double d0 = this.a.h((Entity) this.a.fe());
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
index 3f94c5a920..a027634801 100644
index 3f94c5a92..a02763480 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
@@ -65,4 +65,48 @@ public class CraftLlama extends CraftChestedHorse implements Llama, CraftRangedE
@@ -181,5 +179,5 @@ index 3f94c5a920..a027634801 100644
+ // Purpur end
}
--
2.24.0.rc1
2.24.0

View File

@@ -1,4 +1,4 @@
From 228403a7282633e9189efbb99bda4207eb192c26 Mon Sep 17 00:00:00 2001
From 76ec68db1e1b4af4b2039dbc84b1a075bc760388 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 18 Oct 2019 23:34:48 -0500
Subject: [PATCH] Add entity jump API
@@ -9,10 +9,10 @@ Subject: [PATCH] Add entity jump API
2 files changed, 16 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 7d424040cc..764021c17d 100644
index d4fb8e4a6..3b6a337e6 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2617,8 +2617,10 @@ public abstract class EntityLiving extends Entity {
@@ -2619,8 +2619,10 @@ public abstract class EntityLiving extends Entity {
} else if (this.aH()) {
this.c(TagsFluid.LAVA);
} else if ((this.onGround || this.N > 0.0D && this.N <= 0.4D) && this.jumpTicks == 0) {
@@ -24,7 +24,7 @@ index 7d424040cc..764021c17d 100644
} else {
this.jumpTicks = 0;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index ffd1372284..e408c89220 100644
index ffd137228..e408c8922 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -733,5 +733,19 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@@ -48,5 +48,5 @@ index ffd1372284..e408c89220 100644
// Purpur end
}
--
2.24.0.rc1
2.24.0

View File

@@ -1,4 +1,4 @@
From 9ca51998cd10d839a9df510e1c383e415b5ce20f Mon Sep 17 00:00:00 2001
From a7d8078de39790a06c8bce73b3da4f87a6bc0768 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 19 Oct 2019 01:42:50 -0500
Subject: [PATCH] Fix SpawnChangeEvent not firing for all use-cases
@@ -9,10 +9,10 @@ Subject: [PATCH] Fix SpawnChangeEvent not firing for all use-cases
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index c5cd19afa0..d918a1c7fe 100644
index 7a7874c0a..726fcc7a1 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1406,8 +1406,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -1410,8 +1410,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
return blockposition;
}
@@ -25,7 +25,7 @@ index c5cd19afa0..d918a1c7fe 100644
public boolean a(EntityHuman entityhuman, BlockPosition blockposition) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 4f4d9f0c0b..fe44a37305 100644
index 02060223f..9a2d0e22b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -380,12 +380,16 @@ public class CraftWorld implements World {

View File

@@ -1,4 +1,4 @@
From ce0f3b251a0cab7ffe17066a5afc8cd36808d933 Mon Sep 17 00:00:00 2001
From 3950117b027305da1674b84a54864525ee1a5510 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 19 Oct 2019 03:20:59 -0500
Subject: [PATCH] Add MonsterEggSpawnEvent
@@ -8,7 +8,7 @@ Subject: [PATCH] Add MonsterEggSpawnEvent
1 file changed, 27 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
index b82d53e5da..29ad29702c 100644
index 0dd9897b9..149e25336 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -163,19 +163,45 @@ public class EntityTypes<T extends Entity> {
@@ -40,7 +40,7 @@ index b82d53e5da..29ad29702c 100644
+ @Nullable
+ public T spawnCreature(World world, @Nullable ItemStack itemstack, @Nullable NBTTagCompound nbttagcompound, @Nullable IChatBaseComponent ichatbasecomponent, @Nullable EntityHuman entityhuman, BlockPosition blockposition, EnumMobSpawn enummobspawn, boolean flag, boolean flag1, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason) {
+ // Purpur end
T t0 = this.b(world, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1);
T t0 = this.createCreature(world, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1);
+ // Purpur start
+ if (spawnReason == org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG && itemstack != null && t0 != null) {
@@ -59,5 +59,5 @@ index b82d53e5da..29ad29702c 100644
// CraftBukkit end
}
--
2.24.0.rc1
2.24.0

View File

@@ -1,83 +0,0 @@
From c9f532624c52ae48b4af5280b2dc57298f529e18 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Thu, 16 Jan 2020 14:59:16 -0600
Subject: [PATCH] Bring back the GUI
---
.../net/minecraft/server/MinecraftServer.java | 3 ++-
src/main/java/org/bukkit/craftbukkit/Main.java | 1 +
src/main/resources/log4j2.xml | 15 ++++++++++++++-
3 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index ab00ed8394..fd4fdaaac1 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1367,12 +1367,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
dedicatedserver.setForceUpgrade(optionset.has(optionspec4));
dedicatedserver.setEraseCache(optionset.has(optionspec5));
dedicatedserver.c((String) optionset.valueOf(optionspec11));
- boolean flag = !optionset.has(optionspec) && !optionset.valuesOf(nonoptionargumentspec).contains("nogui");
+ */ boolean flag = !optionset.has("nogui") && !optionset.nonOptionArguments().contains("nogui"); // Purpur
if (flag && !GraphicsEnvironment.isHeadless()) {
dedicatedserver.bb();
}
+ /* // Purpur
dedicatedserver.startServerThread();
Thread thread = new Thread("Server Shutdown Thread") {
public void run() {
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index c9937fb0d6..3423535d1e 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -143,6 +143,7 @@ public class Main {
.ofType(File.class)
.defaultsTo(new File("purpur.yml"))
.describedAs("Yml file");
+ accepts("nogui", "Disables the graphical window");
// Purpur end
// Paper start
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
index 6711e6dff9..65ba664922 100644
--- a/src/main/resources/log4j2.xml
+++ b/src/main/resources/log4j2.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<Configuration status="WARN">
+<Configuration status="WARN" packages="com.mojang.util">
<Appenders>
<TerminalConsole name="TerminalConsole">
<PatternLayout>
@@ -11,6 +11,18 @@
</LoggerNamePatternSelector>
</PatternLayout>
</TerminalConsole>
+ <!-- Purpur start -->
+ <Queue name="ServerGuiConsole">
+ <PatternLayout>
+ <LoggerNamePatternSelector defaultPattern="%highlightError{[%d{HH:mm:ss} %level]: [%logger] %minecraftFormatting{%msg}%n%xEx}">
+ <!-- Log root, Minecraft, Mojang and Bukkit loggers without prefix -->
+ <!-- Disable prefix for various plugins that bypass the plugin logger -->
+ <PatternMatch key=",net.minecraft.,Minecraft,com.mojang.,com.sk89q.,ru.tehkode.,Minecraft.AWE"
+ pattern="%highlightError{[%d{HH:mm:ss} %level]: %minecraftFormatting{%msg}%n%xEx}" />
+ </LoggerNamePatternSelector>
+ </PatternLayout>
+ </Queue>
+ <!-- Purpur end -->
<RollingRandomAccessFile name="File" fileName="logs/latest.log" filePattern="logs/%d{yyyy-MM-dd}-%i.log.gz">
<PatternLayout>
<LoggerNamePatternSelector defaultPattern="[%d{HH:mm:ss}] [%t/%level]: [%logger] %minecraftFormatting{%msg}{strip}%n">
@@ -33,6 +45,7 @@
<MarkerFilter marker="NETWORK_PACKETS" onMatch="DENY" onMismatch="NEUTRAL" />
</filters>
<AppenderRef ref="File"/>
+ <AppenderRef ref="ServerGuiConsole"/> <!-- Purpur -->
<AppenderRef ref="TerminalConsole" level="info"/>
</Root>
</Loggers>
--
2.24.0

View File

@@ -0,0 +1,221 @@
From dc3dc7f0e53caf7b9e9936243c9f994b87b3d883 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Thu, 16 Jan 2020 14:59:16 -0600
Subject: [PATCH] Fix layout and add colors to the Server GUI
---
.../java/net/minecraft/server/ServerGUI.java | 6 +-
.../java/net/pl3x/purpur/swing/ColorPane.java | 129 ++++++++++++++++++
.../java/org/bukkit/craftbukkit/Main.java | 1 +
src/main/resources/log4j2.xml | 11 +-
4 files changed, 144 insertions(+), 3 deletions(-)
create mode 100644 src/main/java/net/pl3x/purpur/swing/ColorPane.java
diff --git a/src/main/java/net/minecraft/server/ServerGUI.java b/src/main/java/net/minecraft/server/ServerGUI.java
index 95561d9db..2ce99770b 100644
--- a/src/main/java/net/minecraft/server/ServerGUI.java
+++ b/src/main/java/net/minecraft/server/ServerGUI.java
@@ -109,7 +109,7 @@ public class ServerGUI extends JComponent {
private JComponent e() {
JPanel jpanel = new JPanel(new BorderLayout());
- JTextArea jtextarea = new JTextArea();
+ net.pl3x.purpur.swing.ColorPane jtextarea = new net.pl3x.purpur.swing.ColorPane(); // Purpur
JScrollPane jscrollpane = new JScrollPane(jtextarea, 22, 30);
jtextarea.setEditable(false);
@@ -160,7 +160,7 @@ public class ServerGUI extends JComponent {
}
private static final java.util.regex.Pattern ANSI = java.util.regex.Pattern.compile("\\x1B\\[([0-9]{1,2}(;[0-9]{1,2})*)?[m|K]"); // CraftBukkit
- public void a(JTextArea jtextarea, JScrollPane jscrollpane, String s) {
+ public void a(net.pl3x.purpur.swing.ColorPane jtextarea, JScrollPane jscrollpane, String s) { // Purpur
if (!SwingUtilities.isEventDispatchThread()) {
SwingUtilities.invokeLater(() -> {
this.a(jtextarea, jscrollpane, s);
@@ -174,11 +174,13 @@ public class ServerGUI extends JComponent {
flag = (double) jscrollbar.getValue() + jscrollbar.getSize().getHeight() + (double) (ServerGUI.a.getSize() * 4) > (double) jscrollbar.getMaximum();
}
+ /* // Purpur
try {
document.insertString(document.getLength(), ANSI.matcher(s).replaceAll(""), (AttributeSet) null); // CraftBukkit
} catch (BadLocationException badlocationexception) {
;
}
+ */ jtextarea.appendANSI(s); // Purpur
if (flag) {
jscrollbar.setValue(Integer.MAX_VALUE);
diff --git a/src/main/java/net/pl3x/purpur/swing/ColorPane.java b/src/main/java/net/pl3x/purpur/swing/ColorPane.java
new file mode 100644
index 000000000..6f702ad4d
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/swing/ColorPane.java
@@ -0,0 +1,129 @@
+package net.pl3x.purpur.swing;
+
+import org.apache.commons.lang.StringEscapeUtils;
+
+import javax.swing.*;
+import javax.swing.text.AttributeSet;
+import javax.swing.text.BadLocationException;
+import javax.swing.text.SimpleAttributeSet;
+import javax.swing.text.StyleConstants;
+import javax.swing.text.StyleContext;
+import java.awt.*;
+
+/*
+ * Class from: https://stackoverflow.com/a/6899478
+ */
+
+public class ColorPane extends JTextPane {
+ static final Color BLACK = Color.BLACK;
+ static final Color RED = Color.RED;
+ static final Color BLUE = Color.BLUE;
+ static final Color MAGENTA = Color.MAGENTA;
+ static final Color GREEN = Color.GREEN;
+ static final Color YELLOW = Color.getHSBColor(0.15f, 1.0f, 1.0f);
+ static final Color CYAN = Color.CYAN;
+ static final Color WHITE = Color.LIGHT_GRAY;
+
+ static Color colorCurrent = BLACK;
+ String remaining = "";
+
+ public void append(Color c, String s) {
+ StyleContext sc = StyleContext.getDefaultStyleContext();
+ AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Foreground, c);
+ if (c != BLACK) {
+ aset = sc.addAttribute(aset, StyleConstants.CharacterConstants.Bold, true);
+ }
+ int len = getDocument().getLength(); // same value as getText().length();
+
+ //setCaretPosition(len); // place caret at the end (with no selection)
+ //setCharacterAttributes(aset, false);
+ //replaceSelection(s); // there is no selection, so inserts at caret
+
+ try {
+ getDocument().insertString(len, s, aset);
+ } catch (BadLocationException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void appendANSI(String s) { // convert ANSI color codes first
+ int aPos = 0; // current char position in addString
+ int aIndex = 0; // index of next Escape sequence
+ int mIndex = 0; // index of "m" terminating Escape sequence
+ String tmpString = "";
+ boolean stillSearching = true; // true until no more Escape sequences
+ String addString = remaining + s;
+ remaining = "";
+ colorCurrent = BLACK; // reset the colors
+
+ if (addString.length() > 0) {
+ aIndex = addString.indexOf("\u001B"); // find first escape
+ if (aIndex == -1) { // no escape/color change in this string, so just send it with current color
+ append(colorCurrent, addString);
+ return;
+ }
+ // otherwise There is an escape character in the string, so we must process it
+
+ if (aIndex > 0) { // Escape is not first char, so send text up to first escape
+ tmpString = addString.substring(0, aIndex);
+ append(colorCurrent, tmpString);
+ aPos = aIndex;
+ }
+ // aPos is now at the beginning of the first escape sequence
+
+ stillSearching = true;
+ while (stillSearching) {
+ mIndex = addString.indexOf("m", aPos); // find the end of the escape sequence
+ if (mIndex < 0) { // the buffer ends halfway through the ansi string!
+ remaining = addString.substring(aPos, addString.length());
+ stillSearching = false;
+ continue;
+ } else {
+ tmpString = addString.substring(aPos, mIndex + 1);
+ colorCurrent = getANSIColor(tmpString);
+ }
+ aPos = mIndex + 1;
+ // now we have the color, send text that is in that color (up to next escape)
+
+ aIndex = addString.indexOf("\u001B", aPos);
+
+ if (aIndex == -1) { // if that was the last sequence of the input, send remaining text
+ tmpString = addString.substring(aPos, addString.length());
+ append(colorCurrent, tmpString);
+ stillSearching = false;
+ continue; // jump out of loop early, as the whole string has been sent now
+ }
+
+ // there is another escape sequence, so send part of the string and prepare for the next
+ tmpString = addString.substring(aPos, aIndex);
+ aPos = aIndex;
+ append(colorCurrent, tmpString);
+
+ } // while there's text in the input buffer
+ }
+ }
+
+ public Color getANSIColor(String ANSIColor) {
+ if (ANSIColor.isEmpty()) {
+ return BLACK;
+ } else if (ANSIColor.contains("30")) {
+ return BLACK;
+ } else if (ANSIColor.contains("31")) {
+ return RED;
+ } else if (ANSIColor.contains("32")) {
+ return GREEN;
+ } else if (ANSIColor.contains("33")) {
+ return YELLOW;
+ } else if (ANSIColor.contains("34")) {
+ return BLUE;
+ } else if (ANSIColor.contains("35")) {
+ return MAGENTA;
+ } else if (ANSIColor.contains("36")) {
+ return CYAN;
+ } else if (ANSIColor.contains("37")) {
+ return WHITE;
+ } else {
+ return BLACK;
+ }
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 7e8b6cab7..f30bcbd48 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -144,6 +144,7 @@ public class Main {
.ofType(File.class)
.defaultsTo(new File("purpur.yml"))
.describedAs("Yml file");
+ accepts("nogui", "Disables the graphical window");
// Purpur end
// Paper start
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
index 869bff4af..2a3e57c2f 100644
--- a/src/main/resources/log4j2.xml
+++ b/src/main/resources/log4j2.xml
@@ -2,7 +2,16 @@
<Configuration status="WARN" packages="com.mojang.util">
<Appenders>
<Queue name="ServerGuiConsole">
- <PatternLayout pattern="[%d{HH:mm:ss} %level]: %msg%n" />
+ <!-- Purpur start -->
+ <PatternLayout>
+ <LoggerNamePatternSelector defaultPattern="%highlightError{[%d{HH:mm:ss} %level]: [%logger] %minecraftFormatting{%msg}%n%xEx}">
+ <!-- Log root, Minecraft, Mojang and Bukkit loggers without prefix -->
+ <!-- Disable prefix for various plugins that bypass the plugin logger -->
+ <PatternMatch key=",net.minecraft.,Minecraft,com.mojang.,com.sk89q.,ru.tehkode.,Minecraft.AWE"
+ pattern="%highlightError{[%d{HH:mm:ss} %level]: %minecraftFormatting{%msg}%n%xEx}" />
+ </LoggerNamePatternSelector>
+ </PatternLayout>
+ <!-- Purpur end -->
</Queue>
<Queue name="TerminalConsole">
<PatternLayout pattern="[%d{HH:mm:ss}] [%t/%level]: %msg%n" />
--
2.24.0

View File

@@ -1,4 +1,4 @@
From c037cb674f0ed7d775555d0aabcdaeb291aaab7e Mon Sep 17 00:00:00 2001
From fd558eb5594f12ec9911f00566a37a5ffba31977 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sun, 15 Dec 2019 12:53:59 -0600
Subject: [PATCH] Disable outdated build check
@@ -8,10 +8,10 @@ Subject: [PATCH] Disable outdated build check
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 3423535d1e..f5bfbd7aba 100644
index f30bcbd48..1980256b7 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -220,7 +220,7 @@ public class Main {
@@ -221,7 +221,7 @@ public class Main {
System.setProperty(TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper
}

View File

@@ -1,4 +1,4 @@
From fbb7a7da6ba3e70c8c4f28b8174140d4de743f7a Mon Sep 17 00:00:00 2001
From f6ead952367f2367164bdf5592a8957f4c267827 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Thu, 26 Dec 2019 22:08:37 -0600
Subject: [PATCH] Add player death exp control options
@@ -9,10 +9,10 @@ Subject: [PATCH] Add player death exp control options
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index e1301d3170..36ee2cdcce 100644
index 5991a41c1..b6459cd47 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -1858,9 +1858,18 @@ public abstract class EntityHuman extends EntityLiving {
@@ -1859,9 +1859,18 @@ public abstract class EntityHuman extends EntityLiving {
@Override
protected int getExpValue(EntityHuman entityhuman) {
if (!this.world.getGameRules().getBoolean(GameRules.KEEP_INVENTORY) && !this.isSpectator()) {
@@ -35,7 +35,7 @@ index e1301d3170..36ee2cdcce 100644
return 0;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3bb968cfa1..915b3beb2b 100644
index 3bb968cfa..915b3beb2 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -178,9 +178,13 @@ public class PurpurWorldConfig {

View File

@@ -1,4 +1,4 @@
From 66fd07748dbfff18e75f6026006e521c93cd13f5 Mon Sep 17 00:00:00 2001
From a8ae7468ad8c26276f01c7e028bb3a123399079c Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sat, 11 Jan 2020 23:12:52 -0600
Subject: [PATCH] Add EntityPortalReadyEvent
@@ -11,7 +11,7 @@ Subject: [PATCH] Add EntityPortalReadyEvent
4 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/src/main/java/net/minecraft/server/BlockPortal.java b/src/main/java/net/minecraft/server/BlockPortal.java
index 2dc3ab4cfa..1c0df77c2b 100644
index 2dc3ab4cf..1c0df77c2 100644
--- a/src/main/java/net/minecraft/server/BlockPortal.java
+++ b/src/main/java/net/minecraft/server/BlockPortal.java
@@ -52,6 +52,7 @@ public class BlockPortal extends Block {
@@ -86,7 +86,7 @@ index 2dc3ab4cfa..1c0df77c2b 100644
break;
// CraftBukkit start - add the block to our list
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index b502e589d4..e5a64e07da 100644
index c24f7071a..053db1781 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -171,9 +171,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -102,7 +102,7 @@ index b502e589d4..e5a64e07da 100644
private boolean invulnerable;
protected UUID uniqueID;
protected String am;
@@ -2215,6 +2215,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2216,6 +2216,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.world.getMethodProfiler().enter("portal");
this.ag = i;
this.portalCooldown = this.ba();
@@ -111,7 +111,7 @@ index b502e589d4..e5a64e07da 100644
if (this instanceof EntityPlayer) {
((EntityPlayer) this).a(this.world.worldProvider.getDimensionManager().getType() == DimensionManager.NETHER ? DimensionManager.OVERWORLD : DimensionManager.NETHER, PlayerTeleportEvent.TeleportCause.NETHER_PORTAL);
diff --git a/src/main/java/net/minecraft/server/PortalTravelAgent.java b/src/main/java/net/minecraft/server/PortalTravelAgent.java
index b5f224e3b4..32b9ad3d81 100644
index f84dd6d9b..f50e9670b 100644
--- a/src/main/java/net/minecraft/server/PortalTravelAgent.java
+++ b/src/main/java/net/minecraft/server/PortalTravelAgent.java
@@ -11,6 +11,7 @@ public class PortalTravelAgent {
@@ -141,12 +141,12 @@ index b5f224e3b4..32b9ad3d81 100644
}
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 53763216f0..ba8f62d112 100644
index 00343a9fb..4ca4bd259 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -65,7 +65,7 @@ public class WorldServer extends World {
public boolean savingDisabled;
private boolean C;
private boolean everyoneSleeping;
private int emptyTime;
- private final PortalTravelAgent portalTravelAgent;
+ public PortalTravelAgent portalTravelAgent; // Purpur - private final -> public non-final

View File

@@ -1,232 +0,0 @@
From c9f6ecb656be006f75656866d86fbb2a509b8272 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sat, 4 Jan 2020 11:41:38 -0600
Subject: [PATCH] Allow beehives to generate with saplings
---
.../net/minecraft/server/BlockSapling.java | 3 ++
.../server/WorldGenFeatureTreeBeehive.java | 21 ++++++++++--
.../minecraft/server/WorldGenGroundBush.java | 10 +++---
.../server/WorldGenTreeAbstract.java | 2 +-
.../server/WorldGenTreeProvider.java | 16 +++++++--
.../server/WorldGenTreeProviderBirch.java | 10 +++++-
.../server/WorldGenTreeProviderOak.java | 33 ++++++++++++++++++-
.../net/pl3x/purpur/PurpurWorldConfig.java | 5 +++
8 files changed, 88 insertions(+), 12 deletions(-)
diff --git a/src/main/java/net/minecraft/server/BlockSapling.java b/src/main/java/net/minecraft/server/BlockSapling.java
index 54c49e9ef9..425beb43cc 100644
--- a/src/main/java/net/minecraft/server/BlockSapling.java
+++ b/src/main/java/net/minecraft/server/BlockSapling.java
@@ -17,6 +17,7 @@ public class BlockSapling extends BlockPlant implements IBlockFragilePlantElemen
protected static final VoxelShape b = Block.a(2.0D, 0.0D, 2.0D, 14.0D, 12.0D, 14.0D);
private final WorldGenTreeProvider c;
public static TreeType treeType; // CraftBukkit
+ public static boolean growing = false; // Purpur
protected BlockSapling(WorldGenTreeProvider worldgentreeprovider, Block.Info block_info) {
super(block_info);
@@ -65,7 +66,9 @@ public class BlockSapling extends BlockPlant implements IBlockFragilePlantElemen
if ((Integer) iblockdata.get(BlockSapling.STAGE) == 0) {
worldserver.setTypeAndData(blockposition, (IBlockData) iblockdata.a((IBlockState) BlockSapling.STAGE), 4);
} else {
+ growing = true; // Purpur
this.c.a(worldserver, worldserver.getChunkProvider().getChunkGenerator(), blockposition, iblockdata, random);
+ growing = false; // Purpur
}
}
diff --git a/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java b/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java
index 4fbc53068f..e85e096cd6 100644
--- a/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java
+++ b/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java
@@ -24,6 +24,19 @@ public class WorldGenFeatureTreeBeehive extends WorldGenFeatureTree {
@Override
public void a(GeneratorAccess generatoraccess, Random random, List<BlockPosition> list, List<BlockPosition> list1, Set<BlockPosition> set, StructureBoundingBox structureboundingbox) {
if (random.nextFloat() < this.b) {
+ // Purpur start
+ if (BlockSapling.growing) {
+ MinecraftServer.getServer().scheduleOnMain(() -> {
+ generate(generatoraccess, random, list, list1, set, structureboundingbox);
+ });
+ } else {
+ generate(generatoraccess, random, list, list1, set, structureboundingbox);
+ }
+ }
+ }
+
+ private void generate(GeneratorAccess generatoraccess, Random random, List<BlockPosition> list, List<BlockPosition> list1, Set<BlockPosition> set, StructureBoundingBox structureboundingbox) {
+ // Purpur end
EnumDirection enumdirection = BlockBeehive.a[random.nextInt(BlockBeehive.a.length)];
int i = !list1.isEmpty() ? Math.max(((BlockPosition) list1.get(0)).getY() - 1, ((BlockPosition) list.get(0)).getY()) : Math.min(((BlockPosition) list.get(0)).getY() + 1 + random.nextInt(3), ((BlockPosition) list.get(list.size() - 1)).getY());
List<BlockPosition> list2 = (List) list.stream().filter((blockposition) -> {
@@ -50,11 +63,15 @@ public class WorldGenFeatureTreeBeehive extends WorldGenFeatureTree {
}
}
- }
+ //} // Purpur
}
@Override
public <T> T a(DynamicOps<T> dynamicops) {
- return (new Dynamic(dynamicops, dynamicops.createMap(ImmutableMap.of(dynamicops.createString("type"), dynamicops.createString(IRegistry.w.getKey(this.a).toString()), dynamicops.createString("probability"), dynamicops.createFloat(this.b))))).getValue();
+ // Purpur start - decompile error
+ ImmutableMap.Builder<T, T> builder = ImmutableMap.builder();
+ builder.put(dynamicops.createString("type"), dynamicops.createString(IRegistry.w.getKey(this.a).toString())).put(dynamicops.createString("probability"), dynamicops.createFloat(this.b));
+ return (new Dynamic<T>(dynamicops, dynamicops.createMap(builder.build()))).getValue();
+ // Purpur end
}
}
diff --git a/src/main/java/net/minecraft/server/WorldGenGroundBush.java b/src/main/java/net/minecraft/server/WorldGenGroundBush.java
index bd756fd201..815ec6c6bb 100644
--- a/src/main/java/net/minecraft/server/WorldGenGroundBush.java
+++ b/src/main/java/net/minecraft/server/WorldGenGroundBush.java
@@ -38,10 +38,12 @@ public class WorldGenGroundBush extends WorldGenTreeAbstract<WorldGenFeatureTree
return true;
}
+ // Purpur - this doesnt belong here...
// CraftBukkit start - decompile error
- @Override
- public boolean generate(GeneratorAccess generatoraccess, ChunkGenerator<? extends GeneratorSettingsDefault> chunkgenerator, Random random, BlockPosition blockposition, WorldGenFeatureTreeConfiguration fc) {
- return super.a(generatoraccess, chunkgenerator, random, blockposition, fc);
- }
+ //@Override
+ //public boolean generate(GeneratorAccess generatoraccess, ChunkGenerator<? extends GeneratorSettingsDefault> chunkgenerator, Random random, BlockPosition blockposition, WorldGenFeatureTreeConfiguration fc) {
+ // return super.a(generatoraccess, chunkgenerator, random, blockposition, fc);
+ //}
// CraftBukkit end
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/WorldGenTreeAbstract.java b/src/main/java/net/minecraft/server/WorldGenTreeAbstract.java
index b7c1919ae4..0e5db4e3b2 100644
--- a/src/main/java/net/minecraft/server/WorldGenTreeAbstract.java
+++ b/src/main/java/net/minecraft/server/WorldGenTreeAbstract.java
@@ -117,7 +117,7 @@ public abstract class WorldGenTreeAbstract<T extends WorldGenFeatureTreeConfigur
iworldwriter.setTypeAndData(blockposition, iblockdata, 19);
}
- public final boolean a(GeneratorAccess generatoraccess, ChunkGenerator<? extends GeneratorSettingsDefault> chunkgenerator, Random random, BlockPosition blockposition, T t0) {
+ public final boolean generate(GeneratorAccess generatoraccess, ChunkGenerator<? extends GeneratorSettingsDefault> chunkgenerator, Random random, BlockPosition blockposition, T t0) { // Purpur
Set<BlockPosition> set = Sets.newHashSet();
Set<BlockPosition> set1 = Sets.newHashSet();
Set<BlockPosition> set2 = Sets.newHashSet();
diff --git a/src/main/java/net/minecraft/server/WorldGenTreeProvider.java b/src/main/java/net/minecraft/server/WorldGenTreeProvider.java
index 17ee097ac8..69ddae1bcc 100644
--- a/src/main/java/net/minecraft/server/WorldGenTreeProvider.java
+++ b/src/main/java/net/minecraft/server/WorldGenTreeProvider.java
@@ -8,11 +8,11 @@ public abstract class WorldGenTreeProvider {
public WorldGenTreeProvider() {}
- @Nullable
- protected abstract WorldGenFeatureConfigured<WorldGenFeatureSmallTreeConfigurationConfiguration, ?> b(Random random);
+ @Nullable protected WorldGenFeatureConfigured<WorldGenFeatureSmallTreeConfigurationConfiguration, ?> getFeature(GeneratorAccess generatoraccess, BiomeBase biome) { return b(generatoraccess.getRandom()); } // Purpur
+ @Nullable protected abstract WorldGenFeatureConfigured<WorldGenFeatureSmallTreeConfigurationConfiguration, ?> b(Random random);
public boolean a(GeneratorAccess generatoraccess, ChunkGenerator<?> chunkgenerator, BlockPosition blockposition, IBlockData iblockdata, Random random) {
- WorldGenFeatureConfigured<WorldGenFeatureSmallTreeConfigurationConfiguration, ?> worldgenfeatureconfigured = this.b(random);
+ WorldGenFeatureConfigured<WorldGenFeatureSmallTreeConfigurationConfiguration, ?> worldgenfeatureconfigured = getFeature(generatoraccess, generatoraccess.getBiome(blockposition)); // Purpur
if (worldgenfeatureconfigured == null) {
return false;
@@ -65,6 +65,16 @@ public abstract class WorldGenTreeProvider {
BlockSapling.treeType = TreeType.MEGA_REDWOOD;
} else if (worldgentreeabstract.c == BiomeDecoratorGroups.MEGA_JUNGLE_TREE) {
BlockSapling.treeType = TreeType.JUNGLE;
+ } else if (worldgentreeabstract.c == BiomeDecoratorGroups.k) {
+ BlockSapling.treeType = TreeType.TREE;
+ } else if (worldgentreeabstract.c == BiomeDecoratorGroups.l) {
+ BlockSapling.treeType = TreeType.BIG_TREE;
+ } else if (worldgentreeabstract.c == BiomeDecoratorGroups.m) {
+ BlockSapling.treeType = TreeType.TREE;
+ } else if (worldgentreeabstract.c == BiomeDecoratorGroups.n) {
+ BlockSapling.treeType = TreeType.BIG_TREE;
+ } else if (worldgentreeabstract.c == BiomeDecoratorGroups.o) {
+ BlockSapling.treeType = TreeType.BIRCH;
} else {
throw new IllegalArgumentException("Unknown tree generator " + worldgentreeabstract);
}
diff --git a/src/main/java/net/minecraft/server/WorldGenTreeProviderBirch.java b/src/main/java/net/minecraft/server/WorldGenTreeProviderBirch.java
index 0915718854..55c4ec0e55 100644
--- a/src/main/java/net/minecraft/server/WorldGenTreeProviderBirch.java
+++ b/src/main/java/net/minecraft/server/WorldGenTreeProviderBirch.java
@@ -10,6 +10,14 @@ public class WorldGenTreeProviderBirch extends WorldGenTreeProvider {
@Nullable
@Override
protected WorldGenFeatureConfigured<WorldGenFeatureSmallTreeConfigurationConfiguration, ?> b(Random random) {
- return WorldGenerator.NORMAL_TREE.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.BIRCH_TREE);
+ return WorldGenerator.NORMAL_TREE.b(BiomeDecoratorGroups.BIRCH_TREE); // Purpur - decompile error
}
+
+ // Purpur start
+ @Override
+ protected WorldGenFeatureConfigured<WorldGenFeatureSmallTreeConfigurationConfiguration, ?> getFeature(GeneratorAccess generatoraccess, BiomeBase biome) {
+ if (!generatoraccess.getMinecraftWorld().purpurConfig.beeHivesGenerateFromSaplings) return b(generatoraccess.getRandom());
+ return WorldGenerator.NORMAL_TREE.b(biome == Biomes.FLOWER_FOREST ? BiomeDecoratorGroups.o : BiomeDecoratorGroups.BIRCH_TREE);
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/WorldGenTreeProviderOak.java b/src/main/java/net/minecraft/server/WorldGenTreeProviderOak.java
index 1998d19776..b9264c84c9 100644
--- a/src/main/java/net/minecraft/server/WorldGenTreeProviderOak.java
+++ b/src/main/java/net/minecraft/server/WorldGenTreeProviderOak.java
@@ -10,6 +10,37 @@ public class WorldGenTreeProviderOak extends WorldGenTreeProvider {
@Nullable
@Override
protected WorldGenFeatureConfigured<WorldGenFeatureSmallTreeConfigurationConfiguration, ?> b(Random random) {
- return random.nextInt(10) == 0 ? WorldGenerator.FANCY_TREE.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.FANCY_TREE) : WorldGenerator.NORMAL_TREE.b((WorldGenFeatureConfiguration) BiomeDecoratorGroups.NORMAL_TREE);
+ return random.nextInt(10) == 0 ? WorldGenerator.FANCY_TREE.b(BiomeDecoratorGroups.FANCY_TREE) : WorldGenerator.NORMAL_TREE.b(BiomeDecoratorGroups.NORMAL_TREE); // Purpur - decompile error
}
+
+ // Purpur start
+ @Override
+ protected WorldGenFeatureConfigured<WorldGenFeatureSmallTreeConfigurationConfiguration, ?> getFeature(GeneratorAccess generatoraccess, BiomeBase biome) {
+ if (!generatoraccess.getMinecraftWorld().purpurConfig.beeHivesGenerateFromSaplings) return b(generatoraccess.getRandom());
+ boolean fancy = generatoraccess.getRandom().nextInt(10) == 0;
+ boolean more = biome == Biomes.PLAINS || biome == Biomes.SUNFLOWER_PLAINS;
+ boolean bees = more || biome == Biomes.FLOWER_FOREST;
+ if (fancy) {
+ if (bees) {
+ if (more) {
+ return WorldGenerator.FANCY_TREE.b(BiomeDecoratorGroups.l);
+ } else {
+ return WorldGenerator.FANCY_TREE.b(BiomeDecoratorGroups.n);
+ }
+ } else {
+ return WorldGenerator.FANCY_TREE.b(BiomeDecoratorGroups.FANCY_TREE);
+ }
+ } else {
+ if (bees) {
+ if (more) {
+ return WorldGenerator.NORMAL_TREE.b(BiomeDecoratorGroups.k);
+ } else {
+ return WorldGenerator.NORMAL_TREE.b(BiomeDecoratorGroups.m);
+ }
+ } else {
+ return WorldGenerator.NORMAL_TREE.b(BiomeDecoratorGroups.NORMAL_TREE);
+ }
+ }
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a49ccf2898..da3adb3fae 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -155,6 +155,11 @@ public class PurpurWorldConfig {
milkCuresBadOmen = getBoolean("milk-cures-bad-omen", milkCuresBadOmen);
}
+ public boolean beeHivesGenerateFromSaplings = false;
+ private void beehiveSettings() {
+ beeHivesGenerateFromSaplings = getBoolean("beehive.can-generate-from-saplings", beeHivesGenerateFromSaplings);
+ }
+
public boolean hayBlockFallDamage = true;
private void hayBlockFallDamage() {
hayBlockFallDamage = getBoolean("hay-block-fall-damage", hayBlockFallDamage);
--
2.24.0

View File

@@ -1,82 +0,0 @@
From f4bc1de0cdd05c3ea3a26bfa1afcd7f2b0238c3d Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sun, 5 Jan 2020 12:07:28 -0600
Subject: [PATCH] Add configurable beehive generation chance
---
.../server/WorldGenFeatureTreeBeehive.java | 18 ++++++++++++++++--
.../net/pl3x/purpur/PurpurWorldConfig.java | 12 ++++++++++++
2 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java b/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java
index e85e096cd6..ca4b5b77fb 100644
--- a/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java
+++ b/src/main/java/net/minecraft/server/WorldGenFeatureTreeBeehive.java
@@ -10,7 +10,7 @@ import java.util.stream.Collectors;
public class WorldGenFeatureTreeBeehive extends WorldGenFeatureTree {
- private final float b;
+ private final float b; public float getChance() { return b; } // Purpur - OBFHELPER
public WorldGenFeatureTreeBeehive(float f) {
super(WorldGenFeatureTrees.d);
@@ -23,8 +23,8 @@ public class WorldGenFeatureTreeBeehive extends WorldGenFeatureTree {
@Override
public void a(GeneratorAccess generatoraccess, Random random, List<BlockPosition> list, List<BlockPosition> list1, Set<BlockPosition> set, StructureBoundingBox structureboundingbox) {
- if (random.nextFloat() < this.b) {
// Purpur start
+ if (random.nextFloat() < getChance(generatoraccess.getMinecraftWorld(), list.get(0))) {
if (BlockSapling.growing) {
MinecraftServer.getServer().scheduleOnMain(() -> {
generate(generatoraccess, random, list, list1, set, structureboundingbox);
@@ -35,6 +35,20 @@ public class WorldGenFeatureTreeBeehive extends WorldGenFeatureTree {
}
}
+ private float getChance(World world, BlockPosition position) {
+ BiomeBase biome = world.getBiome(position);
+ if (BlockSapling.growing) {
+ if (biome == Biomes.PLAINS) return world.purpurConfig.beehivesGrowPlainsChance;
+ else if (biome == Biomes.SUNFLOWER_PLAINS) return world.purpurConfig.beehivesGrowSunflowerPlainsChance;
+ else if (biome == Biomes.FLOWER_FOREST) return world.purpurConfig.beehivesGrowFlowerForestChance;
+ } else {
+ if (biome == Biomes.PLAINS) return world.purpurConfig.beehivesGeneratePlainsChance;
+ else if (biome == Biomes.SUNFLOWER_PLAINS) return world.purpurConfig.beehivesGenerateSunflowerPlainsChance;
+ else if (biome == Biomes.FLOWER_FOREST) return world.purpurConfig.beehivesGenerateFlowerForestChance;
+ }
+ return getChance();
+ }
+
private void generate(GeneratorAccess generatoraccess, Random random, List<BlockPosition> list, List<BlockPosition> list1, Set<BlockPosition> set, StructureBoundingBox structureboundingbox) {
// Purpur end
EnumDirection enumdirection = BlockBeehive.a[random.nextInt(BlockBeehive.a.length)];
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index da3adb3fae..8fe470150e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -156,8 +156,20 @@ public class PurpurWorldConfig {
}
public boolean beeHivesGenerateFromSaplings = false;
+ public float beehivesGeneratePlainsChance = 0.05F;
+ public float beehivesGenerateSunflowerPlainsChance = 0.05F;
+ public float beehivesGenerateFlowerForestChance = 0.01F;
+ public float beehivesGrowPlainsChance = 0.05F;
+ public float beehivesGrowSunflowerPlainsChance = 0.05F;
+ public float beehivesGrowFlowerForestChance = 0.01F;
private void beehiveSettings() {
beeHivesGenerateFromSaplings = getBoolean("beehive.can-generate-from-saplings", beeHivesGenerateFromSaplings);
+ beehivesGeneratePlainsChance = (float) getDouble("beehive.generation-chance.plains", beehivesGeneratePlainsChance);
+ beehivesGenerateSunflowerPlainsChance = (float) getDouble("beehive.generation-chance.sunflower-plains", beehivesGenerateSunflowerPlainsChance);
+ beehivesGenerateFlowerForestChance = (float) getDouble("beehive.generation-chance.flower-forest", beehivesGenerateFlowerForestChance);
+ beehivesGrowPlainsChance = (float) getDouble("beehive.grow-chance.plains", beehivesGrowPlainsChance);
+ beehivesGrowSunflowerPlainsChance = (float) getDouble("beehive.grow-chance.sunflower-plains", beehivesGrowSunflowerPlainsChance);
+ beehivesGrowFlowerForestChance = (float) getDouble("beehive.grow-chance.flower-forest", beehivesGrowFlowerForestChance);
}
public boolean hayBlockFallDamage = true;
--
2.24.0

View File

@@ -1,4 +1,4 @@
From 03487b653cd66c255cc7b08f16f80df334bddd6e Mon Sep 17 00:00:00 2001
From 832e1674894790e314de7c3793663fd64d85e139 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Tue, 14 Jan 2020 19:43:40 -0600
Subject: [PATCH] Add wither skeleton takes wither damage option
@@ -9,7 +9,7 @@ Subject: [PATCH] Add wither skeleton takes wither damage option
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/EntitySkeletonWither.java b/src/main/java/net/minecraft/server/EntitySkeletonWither.java
index c2b93010a3..a00133f13d 100644
index c2b93010a..a00133f13 100644
--- a/src/main/java/net/minecraft/server/EntitySkeletonWither.java
+++ b/src/main/java/net/minecraft/server/EntitySkeletonWither.java
@@ -92,6 +92,6 @@ public class EntitySkeletonWither extends EntitySkeletonAbstract {
@@ -21,10 +21,10 @@ index c2b93010a3..a00133f13d 100644
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 8fe470150e..3ac7f468cf 100644
index a49ccf289..7b621edd9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -255,6 +255,11 @@ public class PurpurWorldConfig {
@@ -238,6 +238,11 @@ public class PurpurWorldConfig {
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
}