Update to 1.15

This commit is contained in:
William Blake Galbreath
2019-12-13 15:11:37 -06:00
parent af7f8f2bb5
commit 18ebfc0366
88 changed files with 1038 additions and 1068 deletions

2
Paper

Submodule Paper updated: 4d2f85630a...c034be8a82

View File

@@ -1 +1 @@
1.14.4--dfcb7bd3d2115a31b4172f42074f0098a511701e
1.15--5b66933dd600d9eed357045f53be8251eb6763ea

View File

@@ -1,4 +1,4 @@
From f3232cf620b40914ee46f9cecb0b550e1902e68e Mon Sep 17 00:00:00 2001
From 11f46cad08f4997f18cc7857f61771b73b2f4009 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 5088c3315..18e4505d1 100644
index 1179fd556..f36461cf9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,18 +3,17 @@
@@ -25,7 +25,7 @@ index 5088c3315..18e4505d1 100644
- <groupId>com.destroystokyo.paper</groupId>
- <artifactId>paper-api</artifactId>
+ <artifactId>purpur-api</artifactId>
<version>1.14.4-R0.1-SNAPSHOT</version>
<version>1.15-R0.1-SNAPSHOT</version>
<packaging>jar</packaging>
- <name>Paper-API</name>
@@ -45,5 +45,5 @@ index 5088c3315..18e4505d1 100644
<plugin>
<groupId>org.apache.maven.plugins</groupId>
--
2.20.1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From 3a6077c8aec71ab69a738f53ec7f2b7ce1282fee Mon Sep 17 00:00:00 2001
From 6704edef6d63a6ec2fa6d2639af20b3ba04203f0 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 8d8d89576..d430ce0ba 100644
index e37c94e4e..81d2d2b86 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2096,4 +2096,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2048,4 +2048,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Override
Spigot spigot();
// Spigot end
@@ -116,5 +116,5 @@ index 8d8d89576..d430ce0ba 100644
+ // Purpur end
}
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From d59551620f404ebae9dcac03a8639362780320e5 Mon Sep 17 00:00:00 2001
From 3f684028d9178608f302ef468f19e4fe89d8cb74 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 2d22ab30a..e1f25bdd1 100644
index 725c9059d..8205b4767 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -2988,6 +2988,36 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -3046,6 +3046,36 @@ public interface World extends PluginMessageRecipient, Metadatable {
@NotNull
public List<Raid> getRaids();

View File

@@ -1,4 +1,4 @@
From ff6d8f08c7097d865155d545e6dc5dddfc06e57a Mon Sep 17 00:00:00 2001
From cf82e3c599dd3c048b0f452ec5209df163028b94 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 e1f25bdd1..15b3f9c7b 100644
index 8205b4767..887ac0645 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -3016,6 +3016,16 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -3074,6 +3074,16 @@ public interface World extends PluginMessageRecipient, Metadatable {
* @param enabled True to enable
*/
void setFluidTickEventEnabled(boolean enabled);

View File

@@ -1,4 +1,4 @@
From d9b6e8c71036723ae8f148ad610c8196df7ee36c Mon Sep 17 00:00:00 2001
From 58d81920448221d19814f2900b539bdd3409f33a 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 beda5dc8a..a12fa0163 100644
index d10c219e3f..bace3fa775 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,11 +1,11 @@
@@ -25,7 +25,7 @@ index beda5dc8a..a12fa0163 100644
- <artifactId>paper</artifactId>
+ <artifactId>purpur</artifactId>
<packaging>jar</packaging>
<version>1.14.4-R0.1-SNAPSHOT</version>
<version>1.15-R0.1-SNAPSHOT</version>
- <name>Paper</name>
- <url>https://papermc.io</url>
+ <name>Purpur</name>
@@ -73,7 +73,7 @@ index beda5dc8a..a12fa0163 100644
</configuration>
<executions>
diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
index cd6e25923..bb227bc0f 100644
index cd6e259239..bb227bc0fb 100644
--- a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
+++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
@@ -17,7 +17,7 @@ public final class PaperConsole extends SimpleTerminalConsole {
@@ -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 0b0058138..1b6a9623c 100644
index edb3a60355..f14d1b160a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1462,7 +1462,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1474,7 +1474,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
public String getServerModName() {
@@ -100,7 +100,7 @@ index 0b0058138..1b6a9623c 100644
public CrashReport b(CrashReport crashreport) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java b/src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java
new file mode 100644
index 000000000..d8b408f06
index 0000000000..d8b408f061
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java
@@ -0,0 +1,115 @@
@@ -220,10 +220,10 @@ index 000000000..d8b408f06
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 7a8ab7d40..18bce6fa3 100644
index f3da3a82d9..8f4ca4c285 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -200,7 +200,7 @@ import javax.annotation.Nullable; // Paper
@@ -201,7 +201,7 @@ import javax.annotation.Nullable; // Paper
import javax.annotation.Nonnull; // Paper
public final class CraftServer implements Server {
@@ -233,7 +233,7 @@ index 7a8ab7d40..18bce6fa3 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 921c16dff..d1bb865f5 100644
index 21bfdf9e71..65929255d5 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 {
@@ -246,7 +246,7 @@ index 921c16dff..d1bb865f5 100644
// Paper end
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
index 674096cab..e9aee2d8a 100644
index 674096cab1..e9aee2d8a9 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
@@ -11,7 +11,7 @@ public final class Versioning {
@@ -259,5 +259,5 @@ index 674096cab..e9aee2d8a 100644
if (stream != null) {
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From 00cd866c5963485df448662ed01804b3e70ab52b Mon Sep 17 00:00:00 2001
From 350893286175492ce9dd02d807bb093b15bbd310 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,10 +20,10 @@ 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 61eeb6747..58e2a0707 100644
index 1d7d1ffbf7..d886f1d145 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -97,10 +97,12 @@ public class PaperConfig {
@@ -96,10 +96,12 @@ public class PaperConfig {
MinecraftServer.getServer().server.getCommandMap().register(entry.getKey(), "Paper", entry.getValue());
}
@@ -37,7 +37,7 @@ index 61eeb6747..58e2a0707 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 5bc19cd08..c2870b054 100644
index 3ed74ae0ec..8139108470 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
@@ -57,10 +57,10 @@ index 5bc19cd08..c2870b054 100644
// Paper end
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index d3a0ed52b..eb6929e2b 100644
index 985f303726..46b0c68207 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -97,6 +97,8 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
@@ -96,6 +96,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public final com.destroystokyo.paper.PaperWorldConfig paperConfig; // Paper
public final ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
@@ -69,7 +69,7 @@ index d3a0ed52b..eb6929e2b 100644
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
public static BlockPosition lastPhysicsProblem; // Spigot
private org.spigotmc.TickLimiter entityLimiter;
@@ -138,6 +140,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
@@ -137,6 +139,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
this.spigotConfig = new org.spigotmc.SpigotWorldConfig( worlddata.getName() ); // Spigot
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(worlddata.getName(), this.spigotConfig); // Paper
this.chunkPacketBlockController = this.paperConfig.antiXray ? new ChunkPacketBlockControllerAntiXray(this.paperConfig) : ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray
@@ -79,7 +79,7 @@ index d3a0ed52b..eb6929e2b 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 000000000..246eb8140
index 0000000000..246eb8140f
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/Metrics.java
@@ -0,0 +1,598 @@
@@ -683,7 +683,7 @@ index 000000000..246eb8140
+}
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 000000000..f8cf4ad23
index 0000000000..f8cf4ad234
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/PurpurCommand.java
@@ -0,0 +1,66 @@
@@ -755,7 +755,7 @@ index 000000000..f8cf4ad23
+}
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 000000000..6f378b5f6
index 0000000000..6f378b5f69
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -0,0 +1,133 @@
@@ -894,7 +894,7 @@ index 000000000..6f378b5f6
+}
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 000000000..30f11fe26
index 0000000000..30f11fe261
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -0,0 +1,63 @@
@@ -962,10 +962,10 @@ index 000000000..30f11fe26
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 18bce6fa3..4cd0bc64b 100644
index 8f4ca4c285..6d453b6711 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -793,6 +793,7 @@ public final class CraftServer implements Server {
@@ -794,6 +794,7 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
@@ -973,7 +973,7 @@ index 18bce6fa3..4cd0bc64b 100644
for (WorldServer world : console.getWorlds()) {
world.worldData.setDifficulty(config.difficulty);
world.setSpawnFlags(config.spawnMonsters, config.spawnAnimals);
@@ -809,6 +810,7 @@ public final class CraftServer implements Server {
@@ -810,6 +811,7 @@ public final class CraftServer implements Server {
}
world.spigotConfig.init(); // Spigot
world.paperConfig.init(); // Paper
@@ -981,7 +981,7 @@ index 18bce6fa3..4cd0bc64b 100644
}
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
@@ -827,6 +829,7 @@ public final class CraftServer implements Server {
@@ -828,6 +830,7 @@ public final class CraftServer implements Server {
reloadData();
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
com.destroystokyo.paper.PaperConfig.registerCommands(); // Paper
@@ -990,7 +990,7 @@ index 18bce6fa3..4cd0bc64b 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 460c447de..6c7ccfe18 100644
index 140b82275c..3a4881fb18 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 {
@@ -1009,5 +1009,5 @@ index 460c447de..6c7ccfe18 100644
acceptsAll(asList("server-name"), "Name of the server")
.withRequiredArg()
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From fab96d6bd565297078a7d3ac53eb3da5a6a1f70d Mon Sep 17 00:00:00 2001
From b1ad334c589029d1cf278ece3400f8857af16680 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 26 May 2019 15:19:14 -0500
Subject: [PATCH] Bring back server name
@@ -21,10 +21,10 @@ index 0c3ec83570..20c143e314 100644
public final boolean spawnNpcs = this.getBoolean("spawn-npcs", true);
public final boolean pvp = this.getBoolean("pvp", true);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index e2bb7c5b5b..2d152627cd 100644
index 6d453b6711..210c04f026 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2170,4 +2170,11 @@ public final class CraftServer implements Server {
@@ -2173,4 +2173,11 @@ public final class CraftServer implements Server {
return net.minecraft.server.MinecraftServer.currentTick;
}
// Paper end

View File

@@ -1,4 +1,4 @@
From 365204adec74f584e4009dbe535d916eb01cca2e Mon Sep 17 00:00:00 2001
From 8f5f46daa61cc43483f5fe2385799d8c6290b1bb 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
@@ -6,32 +6,32 @@ Subject: [PATCH] cows to mooshroom when fed mushrooms
---
.../java/net/minecraft/server/Entity.java | 2 +
.../java/net/minecraft/server/EntityCow.java | 70 +++++++++++++++++++
.../net/minecraft/server/EntityLiving.java | 10 ++-
.../net/minecraft/server/EntityLiving.java | 7 ++
.../java/net/pl3x/purpur/PurpurConfig.java | 5 ++
4 files changed, 85 insertions(+), 2 deletions(-)
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 e8def7f812..40ab9daade 100644
index f0d1a5b14d..682457e285 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1049,6 +1049,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1036,6 +1036,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return false;
}
+ public void playSound(SoundEffect soundeffect, float volume, float pitch) { a(soundeffect, volume, pitch); } // Paper - OBFHELPER
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);
@@ -2546,6 +2547,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
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
this.invulnerable = flag;
}
+ public void copyPositionRotation(Entity entity) { this.u(entity); } // Purpur - OBFHELPER
public void u(Entity entity) {
this.setPositionRotation(entity.locX, entity.locY, entity.locZ, entity.yaw, entity.pitch);
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..2446e61c2b 100644
index 2c8bbf20ae..e1d0f0f38d 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 {
@@ -89,7 +89,7 @@ index 2c8bbf20ae..2446e61c2b 100644
+ } else {
+ mooshroom.setVariant(EntityMushroomCow.Type.RED);
+ }
+ mooshroom.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, this.pitch);
+ mooshroom.setPositionRotation(this.locX(), this.locY(), this.locZ(), this.yaw, this.pitch);
+ mooshroom.setHealth(this.getHealth());
+ mooshroom.setAge(getAge());
+ mooshroom.copyPositionRotation(this);
@@ -113,7 +113,7 @@ index 2c8bbf20ae..2446e61c2b 100644
+ }
+ for (int i = 0; i < 15; ++i) {
+ ((WorldServer) world).sendParticles(((WorldServer) world).players, null, Particles.HAPPY_VILLAGER,
+ locX + random.nextFloat(), locY + (random.nextFloat() * 2), locZ + random.nextFloat(), 1,
+ locX() + random.nextFloat(), locY() + (random.nextFloat() * 2), locZ() + random.nextFloat(), 1,
+ random.nextGaussian() * 0.05D, random.nextGaussian() * 0.05D, random.nextGaussian() * 0.05D, 0, true);
+ }
+ return true;
@@ -124,26 +124,23 @@ index 2c8bbf20ae..2446e61c2b 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 addbafe66a..f61784fab2 100644
index 80219f2df1..0e3062468b 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2747,8 +2747,14 @@ public abstract class EntityLiving extends Entity {
this.aM = f;
@@ -2807,6 +2807,13 @@ public abstract class EntityLiving extends Entity {
this.aK = f;
}
- @Override
- public void l(float f) {
+ // Purpur start
+ public float getRenderYawOffset() {
+ return this.aK;
+ return this.aI;
+ }
+ // Purpur end
+
+ public void setRenderYawOffset(float f) { this.l(f); } // Purpur - OBFHELPER
+ @Override public void l(float f) {
this.aK = f;
}
@Override
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
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java

View File

@@ -1,4 +1,4 @@
From 56a2ae0b233972e40941b7856fab33a17ff359ea Mon Sep 17 00:00:00 2001
From bd8ee39f3fd15c4997907ad92367318138b08998 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 3 May 2019 23:53:16 -0500
Subject: [PATCH] Fix cow rotation when shearing mooshroom
@@ -8,14 +8,14 @@ Subject: [PATCH] Fix cow rotation when shearing mooshroom
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java
index 1363069ff..af3b826a4 100644
index efde7bd1d7..ce5bac35db 100644
--- a/src/main/java/net/minecraft/server/EntityMushroomCow.java
+++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java
@@ -101,7 +101,13 @@ public class EntityMushroomCow extends EntityCow {
entitycow.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, this.pitch);
entitycow.setPositionRotation(this.locX(), this.locY(), this.locZ(), this.yaw, this.pitch);
entitycow.setHealth(this.getHealth());
- entitycow.aK = this.aK;
- entitycow.aI = this.aI;
+ // Purpur start - correctly copy rotation
+ entitycow.copyPositionRotation(this);
+ entitycow.setRenderYawOffset(this.getRenderYawOffset());
@@ -25,7 +25,7 @@ index 1363069ff..af3b826a4 100644
+ // Purpur end
if (this.hasCustomName()) {
entitycow.setCustomName(this.getCustomName());
}
entitycow.setCustomNameVisible(this.getCustomNameVisible());
--
2.20.1
2.24.0.rc1

View File

@@ -1,15 +1,15 @@
From 1d2e40070482f9b48fa9c8b16023d42dd40ac28d Mon Sep 17 00:00:00 2001
From e8d0089b90abb1eb2cfda12880241af711203cfb 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
---
.../java/net/minecraft/server/EntitySnowman.java | 16 ++++++++++++++++
src/main/java/net/pl3x/purpur/PurpurConfig.java | 7 +++++++
2 files changed, 23 insertions(+)
.../net/minecraft/server/EntitySnowman.java | 37 ++++++++++---------
.../java/net/pl3x/purpur/PurpurConfig.java | 7 ++++
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 fe1381cc1..4e9cc7137 100644
index 291f4a72c6..53c5057d20 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;
@@ -20,30 +20,53 @@ index fe1381cc1..4e9cc7137 100644
private static final DataWatcherObject<Byte> b = DataWatcher.a(EntitySnowman.class, DataWatcherRegistry.a);
public EntitySnowman(EntityTypes<? extends EntitySnowman> entitytypes, World world) {
@@ -126,6 +127,21 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity {
itemstack.damage(1, entityhuman, (entityhuman1) -> {
entityhuman1.d(enumhand);
});
@@ -113,25 +114,27 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity {
ItemStack itemstack = entityhuman.b(enumhand);
if (itemstack.getItem() == Items.SHEARS && this.hasPumpkin()) {
- if (!this.world.isClientSide) {
- // CraftBukkit start
- PlayerShearEntityEvent event = new PlayerShearEntityEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), this.getBukkitEntity());
- this.world.getServer().getPluginManager().callEvent(event);
-
- if (event.isCancelled()) {
- return false;
- }
- // CraftBukkit end
- this.setHasPumpkin(false);
- itemstack.damage(1, entityhuman, (entityhuman1) -> {
- entityhuman1.d(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);
+ });
+
+ // Purpur start
+ if (net.pl3x.purpur.PurpurConfig.snowmanDropsPumpkin) {
+ EntityItem pumpkin = new EntityItem(world, locX, locY, locZ, new ItemStack(Blocks.CARVED_PUMPKIN.getItem()));
+ EntityItem pumpkin = new EntityItem(world, locX(), locY(), locZ(), new ItemStack(Blocks.CARVED_PUMPKIN.getItem()));
+ pumpkin.pickupDelay = 10;
+ world.addEntity(pumpkin);
+ }
+ return true;
+ } else if (net.pl3x.purpur.PurpurConfig.snowmanPumpkinPutBack && !hasPumpkin() && PUMPKIN.test(itemstack)) {
+ setHasPumpkin(true);
+ if (!entityhuman.abilities.canInstantlyBuild) {
+ itemstack.subtract(1);
+ }
+ return true;
+ // Purpur end
}
-
- return true;
- } else {
- return false;
}
+ return true;
+ // Purpur end
}
return super.a(entityhuman, enumhand);
public boolean hasPumpkin() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index d013f8407..37bab6180 100644
index 26e95035b2..0c408a10cf 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 {
@@ -59,5 +82,5 @@ index d013f8407..37bab6180 100644
+ }
}
--
2.20.1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From b5eeca0365ecd96c0772b82a84179b77bbb1b89d Mon Sep 17 00:00:00 2001
From 743a5398d50290d48be6395e2302ac853bdd0f51 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
@@ -7,12 +7,11 @@ Subject: [PATCH] Implement LivingEntity safeFallDistance
.../java/net/minecraft/server/EntityGiantZombie.java | 3 +++
.../net/minecraft/server/EntityHorseAbstract.java | 2 +-
src/main/java/net/minecraft/server/EntityLiving.java | 3 ++-
src/main/java/net/minecraft/server/EntityLlama.java | 2 +-
.../bukkit/craftbukkit/entity/CraftLivingEntity.java | 12 ++++++++++++
5 files changed, 19 insertions(+), 3 deletions(-)
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 8bc325c79..f23d0380f 100644
index d9e5eaad12..bcbade19ea 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 {
@@ -26,23 +25,23 @@ index 8bc325c79..f23d0380f 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
index 8aa60e95f..e60eedb54 100644
index c56efe035a..9e708769f7 100644
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
@@ -179,7 +179,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
this.a(SoundEffects.ENTITY_HORSE_LAND, 0.4F, 1.0F);
}
@@ -202,7 +202,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
- int i = MathHelper.f((f * 0.5F - 3.0F) * f1);
+ int i = MathHelper.f((f * 0.5F - this.safeFallDistance) * f1); // Purpur
@Override
protected int e(float f, float f1) {
- return MathHelper.f((f * 0.5F - 3.0F) * f1);
+ return MathHelper.f((f * 0.5F - this.safeFallDistance) * f1); // Purpur
}
if (i > 0) {
this.damageEntity(DamageSource.FALL, (float) i);
protected int getChestSlots() {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 0abca1a5b..4b59f6081 100644
index 0e3062468b..0d5236bd7e 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -122,6 +122,7 @@ public abstract class EntityLiving extends Entity {
@@ -125,6 +125,7 @@ public abstract class EntityLiving extends Entity {
// CraftBukkit start
public int expToDrop;
public int maxAirTicks = 300;
@@ -50,30 +49,17 @@ index 0abca1a5b..4b59f6081 100644
boolean forceDrops;
ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
public org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
@@ -1534,7 +1535,7 @@ public abstract class EntityLiving extends Entity {
super.b(f, f1);
@@ -1542,7 +1543,7 @@ public abstract class EntityLiving extends Entity {
MobEffect mobeffect = this.getEffect(MobEffects.JUMP);
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
- int i = MathHelper.f((f - 3.0F - f2) * f1);
+ int i = MathHelper.f((f - this.safeFallDistance - f2) * f1); // Purpur
if (i > 0) {
// CraftBukkit start
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
index d052dedec..a5dade7d0 100644
--- a/src/main/java/net/minecraft/server/EntityLlama.java
+++ b/src/main/java/net/minecraft/server/EntityLlama.java
@@ -344,7 +344,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
- return MathHelper.f((f - 3.0F - f2) * f1);
+ return MathHelper.f((f - this.safeFallDistance - f2) * f1);
}
@Override
public void b(float f, float f1) {
- int i = MathHelper.f((f * 0.5F - 3.0F) * f1);
+ int i = MathHelper.f((f * 0.5F - this.safeFallDistance) * f1); // Purpur
if (i > 0) {
if (f >= 6.0F) {
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 b27fd44dc..33f56b85e 100644
index b27fd44dcd..33f56b85ea 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 {
@@ -94,5 +80,5 @@ index b27fd44dc..33f56b85e 100644
+ // Purpur end
}
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From 95b2eda9ffd59fe885bc6ea528a6913d9586581b Mon Sep 17 00:00:00 2001
From 37fc918ff51a18259c863ec7b2185c7e5e70b996 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 9 May 2019 14:27:37 -0500
Subject: [PATCH] Silk touch spawners
@@ -13,7 +13,7 @@ Subject: [PATCH] Silk touch spawners
create mode 100644 src/main/java/net/minecraft/server/ItemSpawner.java
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
index 619237d68..a0177d8c0 100644
index 54a61283e6..4d29faccaa 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -494,6 +494,7 @@ public class Block implements IMaterial {
@@ -25,7 +25,7 @@ index 619237d68..a0177d8c0 100644
if (!world.isClientSide && !itemstack.isEmpty() && world.getGameRules().getBoolean(GameRules.DO_TILE_DROPS)) {
float f = 0.5F;
diff --git a/src/main/java/net/minecraft/server/BlockMobSpawner.java b/src/main/java/net/minecraft/server/BlockMobSpawner.java
index bb77d916a..974a5d281 100644
index 5296fdf168..901d45f284 100644
--- a/src/main/java/net/minecraft/server/BlockMobSpawner.java
+++ b/src/main/java/net/minecraft/server/BlockMobSpawner.java
@@ -11,6 +11,40 @@ public class BlockMobSpawner extends BlockTileEntity {
@@ -44,7 +44,7 @@ index bb77d916a..974a5d281 100644
+ ChatComponentText text = new ChatComponentText("Spawns a " + mobName);
+
+ NBTTagList lore = new NBTTagList();
+ lore.add(new NBTTagString(IChatBaseComponent.ChatSerializer.a(text)));
+ lore.add(NBTTagString.a(IChatBaseComponent.ChatSerializer.a(text)));
+
+ NBTTagCompound display = new NBTTagCompound();
+ display.set("Lore", lore);
@@ -78,10 +78,10 @@ index bb77d916a..974a5d281 100644
return i;
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
index 612b9b7e3..f8308c96b 100644
index 2fb04e3e93..dcba6d6c89 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -135,10 +135,17 @@ public class EntityTypes<T extends Entity> {
@@ -136,10 +136,17 @@ public class EntityTypes<T extends Entity> {
return (EntityTypes) IRegistry.a((IRegistry) IRegistry.ENTITY_TYPE, s, (Object) entitytypes_a.a(s));
}
@@ -99,8 +99,8 @@ index 612b9b7e3..f8308c96b 100644
public static Optional<EntityTypes<?>> a(String s) {
return IRegistry.ENTITY_TYPE.getOptional(MinecraftKey.a(s));
}
@@ -258,6 +265,12 @@ public class EntityTypes<T extends Entity> {
return this.ba;
@@ -259,6 +266,12 @@ public class EntityTypes<T extends Entity> {
return this.bb;
}
+ // Purpur start
@@ -110,19 +110,19 @@ index 612b9b7e3..f8308c96b 100644
+ // Purpur end
+
public String f() {
if (this.bf == null) {
this.bf = SystemUtils.a("entity", IRegistry.ENTITY_TYPE.getKey(this));
@@ -266,6 +279,7 @@ public class EntityTypes<T extends Entity> {
return this.bf;
if (this.bg == null) {
this.bg = SystemUtils.a("entity", IRegistry.ENTITY_TYPE.getKey(this));
@@ -267,6 +280,7 @@ public class EntityTypes<T extends Entity> {
return this.bg;
}
+ public IChatBaseComponent getNameComponent() { return g(); } // Purpur - OBFHELPER
public IChatBaseComponent g() {
if (this.bg == null) {
this.bg = new ChatMessage(this.f(), new Object[0]);
if (this.bh == null) {
this.bh = new ChatMessage(this.f(), new Object[0]);
diff --git a/src/main/java/net/minecraft/server/ItemSpawner.java b/src/main/java/net/minecraft/server/ItemSpawner.java
new file mode 100644
index 000000000..7dc68ffe9
index 0000000000..7dc68ffe92
--- /dev/null
+++ b/src/main/java/net/minecraft/server/ItemSpawner.java
@@ -0,0 +1,23 @@
@@ -150,7 +150,7 @@ index 000000000..7dc68ffe9
+ }
+}
diff --git a/src/main/java/net/minecraft/server/Items.java b/src/main/java/net/minecraft/server/Items.java
index 84646dbc2..987297634 100644
index 54670f64cf..282fbca4fc 100644
--- a/src/main/java/net/minecraft/server/Items.java
+++ b/src/main/java/net/minecraft/server/Items.java
@@ -155,7 +155,7 @@ public class Items {
@@ -163,5 +163,5 @@ index 84646dbc2..987297634 100644
public static final Item bZ = a(Blocks.CHEST, CreativeModeTab.c);
public static final Item ca = a(Blocks.DIAMOND_ORE, CreativeModeTab.b);
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From ebfc4ed393ce2487fe54e5658b1654ced5857ccb Mon Sep 17 00:00:00 2001
From 31106c152e9dda8876dbf2f89a26696f06f7aa61 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,10 +13,10 @@ 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 730a15f33..31454349a 100644
index 816d301f1c..0971f25b56 100644
--- a/src/main/java/net/minecraft/server/DamageSource.java
+++ b/src/main/java/net/minecraft/server/DamageSource.java
@@ -77,6 +77,7 @@ public class DamageSource {
@@ -81,6 +81,7 @@ public class DamageSource {
return (new EntityDamageSourceIndirect("thrown", entity, entity1)).c();
}
@@ -25,10 +25,10 @@ index 730a15f33..31454349a 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 40ab9daad..dd787b7b6 100644
index 682457e285..bb355803d5 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1400,6 +1400,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1378,6 +1378,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return d3 * d3 + d4 * d4 + d5 * d5;
}
@@ -36,7 +36,7 @@ index 40ab9daad..dd787b7b6 100644
public double h(Entity entity) {
return this.c(entity.getPositionVector());
}
@@ -1919,14 +1920,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1897,14 +1898,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return this.a(new ItemStack(imaterial), (float) i);
}
@@ -55,7 +55,7 @@ index 40ab9daad..dd787b7b6 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 801552fc6..9c7f7fee8 100644
index a57d0089d8..2d46c250ed 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 {
@@ -71,7 +71,7 @@ index 801552fc6..9c7f7fee8 100644
public EntityEnderCrystal(EntityTypes<? extends EntityEnderCrystal> entitytypes, World world) {
super(entitytypes, world);
@@ -54,7 +60,50 @@ public class EntityEnderCrystal extends Entity {
@@ -51,7 +57,50 @@ public class EntityEnderCrystal extends Entity {
}
}
@@ -123,7 +123,7 @@ index 801552fc6..9c7f7fee8 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 e5d032d02..7bc7b3366 100644
index 82323bf4ac..052a741c0b 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;
@@ -132,10 +132,10 @@ index e5d032d02..7bc7b3366 100644
private static final DataWatcherObject<Integer> b = DataWatcher.a(EntityPhantom.class, DataWatcherRegistry.b);
- private Vec3D c;
- private BlockPosition d;
- private EntityPhantom.AttackPhase bz;
- private EntityPhantom.AttackPhase bw;
+ private Vec3D c; public void setHomeOffset(Vec3D offset) { this.c = offset; } public Vec3D getHomeOffset() { return this.c; } // Purpur - OBFHELPER
+ private BlockPosition d; public void setHome(BlockPosition home) { this.d = home; } public BlockPosition getHome() { return this.d; } // Purpur - OBFHELPER
+ private EntityPhantom.AttackPhase bz; public AttackPhase getAttackPhase() { return this.bz; } // Purpur - OBFHELPER
+ private EntityPhantom.AttackPhase bw; public AttackPhase getAttackPhase() { return this.bw; } // Purpur - OBFHELPER
+ private BlockPosition crystalPosition; // Purpur
public EntityPhantom(EntityTypes<? extends EntityPhantom> entitytypes, World world) {
@@ -161,7 +161,7 @@ index e5d032d02..7bc7b3366 100644
}
@Override
@@ -114,6 +121,26 @@ public class EntityPhantom extends EntityFlying implements IMonster {
@@ -115,6 +122,26 @@ public class EntityPhantom extends EntityFlying implements IMonster {
super.mobTick();
}
@@ -188,7 +188,7 @@ index e5d032d02..7bc7b3366 100644
@Override
public GroupDataEntity prepare(GeneratorAccess generatoraccess, DifficultyDamageScaler difficultydamagescaler, EnumMobSpawn enummobspawn, @Nullable GroupDataEntity groupdataentity, @Nullable NBTTagCompound nbttagcompound) {
this.d = (new BlockPosition(this)).up(5);
@@ -202,6 +229,135 @@ public class EntityPhantom extends EntityFlying implements IMonster {
@@ -203,6 +230,135 @@ public class EntityPhantom extends EntityFlying implements IMonster {
}
// Paper end
@@ -324,7 +324,7 @@ index e5d032d02..7bc7b3366 100644
class b extends PathfinderGoal {
private final PathfinderTargetCondition b;
@@ -259,7 +415,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
@@ -260,7 +416,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
public boolean a() {
EntityLiving entityliving = EntityPhantom.this.getGoalTarget();
@@ -333,11 +333,11 @@ index e5d032d02..7bc7b3366 100644
}
@Override
@@ -305,11 +461,16 @@ public class EntityPhantom extends EntityFlying implements IMonster {
@@ -306,11 +462,16 @@ public class EntityPhantom extends EntityFlying implements IMonster {
@Override
public boolean a() {
- return EntityPhantom.this.getGoalTarget() != null && EntityPhantom.this.bz == EntityPhantom.AttackPhase.SWOOP;
- return EntityPhantom.this.getGoalTarget() != null && EntityPhantom.this.bw == EntityPhantom.AttackPhase.SWOOP;
+ return !isCirclingCrystal() && EntityPhantom.this.getGoalTarget() != null && EntityPhantom.this.getAttackPhase() == EntityPhantom.AttackPhase.SWOOP; // Purpur
}
@@ -351,17 +351,17 @@ index e5d032d02..7bc7b3366 100644
EntityLiving entityliving = EntityPhantom.this.getGoalTarget();
if (entityliving == null) {
@@ -379,7 +540,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
@@ -380,7 +541,7 @@ public class EntityPhantom extends EntityFlying implements IMonster {
@Override
public boolean a() {
- return EntityPhantom.this.getGoalTarget() == null || EntityPhantom.this.bz == EntityPhantom.AttackPhase.CIRCLE;
- return EntityPhantom.this.getGoalTarget() == null || EntityPhantom.this.bw == EntityPhantom.AttackPhase.CIRCLE;
+ return !isCirclingCrystal() && EntityPhantom.this.getGoalTarget() == null || EntityPhantom.this.getAttackPhase() == EntityPhantom.AttackPhase.CIRCLE; // Purpur
}
@Override
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
index dca18afdb..9aaa75e95 100644
index c8512f9f41..8b36252ae1 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 dca18afdb..9aaa75e95 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 37bab6180..0bfcef2d3 100644
index 0c408a10cf..960361ff74 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 37bab6180..0bfcef2d3 100644
public static boolean snowmanPumpkinPutBack = false;
private static void snowmansSettings() {
--
2.20.1
2.24.0.rc1

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
From 3fbc8e4ab09dd097f955a0cdc969c0b0fe94b828 Mon Sep 17 00:00:00 2001
From 9c583298f7a57968d72cdc8d772610fb58bc456b 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,19 +13,19 @@ 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 a86ece834..fbbb3b7c5 100644
index 0102a170dc..9637098462 100644
--- a/src/main/java/net/minecraft/server/BiomeBase.java
+++ b/src/main/java/net/minecraft/server/BiomeBase.java
@@ -108,6 +108,7 @@ public abstract class BiomeBase {
return this.m != null;
@@ -112,6 +112,7 @@ public abstract class BiomeBase {
return MathHelper.f(0.62222224F - f * 0.05F, 0.5F + f * 0.1F, 1.0F);
}
+ protected void addMobSpawn(EnumCreatureType creaturetype, BiomeBase.BiomeMeta biomemeta) { a(creaturetype, biomemeta); } // Purpur - OBFHELPER
protected void a(EnumCreatureType enumcreaturetype, BiomeBase.BiomeMeta biomebase_biomemeta) {
((List) this.u.get(enumcreaturetype)).add(biomebase_biomemeta);
((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 f4698a680..b075ee4ec 100644
index 12742870ca..d1f8695fee 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 f4698a680..b075ee4ec 100644
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
index 29e7639ad..be7e6bae4 100644
index b7e2022b19..c2408e7211 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 {
@@ -90,7 +90,7 @@ index 29e7639ad..be7e6bae4 100644
+ }
+
+ @Override
+ public float cX() { // jump height
+ public float dp() { // jump height
+ // make giants jump as high as everything else relative to their size
+ // 1.0 makes bottom of feet about as high as their waist when they jump
+ return 1.0F;
@@ -117,15 +117,15 @@ index 29e7639ad..be7e6bae4 100644
+
@Override
public float a(BlockPosition blockposition, IWorldReader iworldreader) {
- return iworldreader.v(blockposition) - 0.5F;
- return iworldreader.w(blockposition) - 0.5F;
+ return super.a(blockposition, iworldreader); // Purpur - fix light requirements for natural spawns
}
}
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 47090db89..2a74c3d18 100644
index 90587f4c82..53fffb3dc3 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -850,6 +850,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -856,6 +856,7 @@ public abstract class EntityInsentient extends EntityLiving {
return f;
}
@@ -133,7 +133,7 @@ index 47090db89..2a74c3d18 100644
protected void a(DifficultyDamageScaler difficultydamagescaler) {
if (this.random.nextFloat() < 0.15F * difficultydamagescaler.d()) {
int i = this.random.nextInt(2);
@@ -957,6 +958,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -963,6 +964,7 @@ public abstract class EntityInsentient extends EntityLiving {
}
}
@@ -142,7 +142,7 @@ index 47090db89..2a74c3d18 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 9d4a96ae4..694075cb1 100644
index 58bbf2f9d2..53d5900411 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 9d4a96ae4..694075cb1 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 d3409155e..1c8912530 100644
index d3409155ed..1c89125300 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 {
@@ -179,5 +179,5 @@ index d3409155e..1c8912530 100644
public static float crystalsAttackPhantomDamage = 1.0F;
public static double phantomsOrbitCrystalsRadius = 0.0D;
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From cd7d784930a0513aa753e4d148df50ad6d0ab215 Mon Sep 17 00:00:00 2001
From 615cb3372831f93095e6b0aa27ce12dc9db78634 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 18 May 2019 16:59:52 -0500
Subject: [PATCH] Prevent phantoms spawning on creative players
@@ -8,10 +8,10 @@ Subject: [PATCH] Prevent phantoms spawning on creative players
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java
index 1818e7c38..43df35a44 100644
index f488c22ed6..78ea16f010 100644
--- a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java
+++ b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java
@@ -29,7 +29,7 @@ public class MobSpawnerPhantom {
@@ -31,7 +31,7 @@ public class MobSpawnerPhantom {
while (iterator.hasNext()) {
EntityHuman entityhuman = (EntityHuman) iterator.next();
@@ -19,7 +19,7 @@ index 1818e7c38..43df35a44 100644
+ if (!entityhuman.isSpectator() && !entityhuman.isCreative()) { // Purpur
BlockPosition blockposition = new BlockPosition(entityhuman);
if (!worldserver.worldProvider.g() || blockposition.getY() >= worldserver.getSeaLevel() && worldserver.f(blockposition)) {
if (!worldserver.worldProvider.f() || blockposition.getY() >= worldserver.getSeaLevel() && worldserver.f(blockposition)) {
--
2.20.1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From d1441171fe52cc2c70c4b430da37f123705ca7cb Mon Sep 17 00:00:00 2001
From 2a405bf3462278e4dfaf7f34e5bc79de1afbf9d3 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,17 +11,17 @@ 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 8f62fd48a1..7ae79f0bd4 100644
index 969a77c597..50c494503e 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2720,10 +2720,19 @@ public abstract class EntityLiving extends Entity {
@@ -2779,10 +2779,19 @@ public abstract class EntityLiving extends Entity {
}
public boolean hasLineOfSight(Entity entity) {
- Vec3D vec3d = new Vec3D(this.locX, this.locY + (double) this.getHeadHeight(), this.locZ);
- Vec3D vec3d1 = new Vec3D(entity.locX, entity.locY + (double) entity.getHeadHeight(), entity.locZ);
- Vec3D vec3d = new Vec3D(this.locX(), this.getHeadY(), this.locZ());
- Vec3D vec3d1 = new Vec3D(entity.locX(), entity.getHeadY(), entity.locZ());
+ // Purpur start
+ return hasLineOfSight(entity.locX, entity.locY + (double) entity.getHeadHeight(), entity.locZ);
+ return hasLineOfSight(entity.locX(), entity.getHeadY(), entity.locZ());
+ }
+
+ public boolean hasLineOfSight(TileEntity te) {
@@ -30,7 +30,7 @@ index 8f62fd48a1..7ae79f0bd4 100644
- return this.world.rayTrace(new RayTrace(vec3d, vec3d1, RayTrace.BlockCollisionOption.COLLIDER, RayTrace.FluidCollisionOption.NONE, this)).getType() == MovingObjectPosition.EnumMovingObjectType.MISS;
+ public boolean hasLineOfSight(double x, double y, double z) {
+ Vec3D start = new Vec3D(locX, locY + (double) getHeadHeight(), locZ);
+ Vec3D start = new Vec3D(locX(), getHeadY(), locZ());
+ Vec3D end = new Vec3D(x, y, z);
+ return this.world.rayTrace(new RayTrace(start, end, RayTrace.BlockCollisionOption.COLLIDER, RayTrace.FluidCollisionOption.NONE, this)).getType() == MovingObjectPosition.EnumMovingObjectType.MISS;
+ // Purpur end
@@ -38,7 +38,7 @@ index 8f62fd48a1..7ae79f0bd4 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityPotion.java b/src/main/java/net/minecraft/server/EntityPotion.java
index 9983365575..2642e86f76 100644
index 2f9a73ea33..9c9131d8d4 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 9983365575..2642e86f76 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 2317adde44..f112a848f1 100644
index a1580b8c6d..3a44454ed7 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

View File

@@ -1,4 +1,4 @@
From ac356c05ef43bc12cf80573c18c57ee924fae231 Mon Sep 17 00:00:00 2001
From 1e761b4f982976c32121123d6d7256dcae9a2914 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 23 May 2019 16:20:21 -0500
Subject: [PATCH] Campfires should fall with gravity
@@ -10,10 +10,10 @@ Subject: [PATCH] Campfires should fall with gravity
3 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
index a0177d8c0..56def823e 100644
index 4d29faccaa..bad1098406 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -376,6 +376,7 @@ public class Block implements IMaterial {
@@ -387,6 +387,7 @@ public class Block implements IMaterial {
PacketDebug.a(world, blockposition);
}
@@ -22,11 +22,11 @@ index a0177d8c0..56def823e 100644
return 10;
}
diff --git a/src/main/java/net/minecraft/server/BlockCampfire.java b/src/main/java/net/minecraft/server/BlockCampfire.java
index 9d59e339c..121433a4e 100644
index 6303be944c..5d1312d2f1 100644
--- a/src/main/java/net/minecraft/server/BlockCampfire.java
+++ b/src/main/java/net/minecraft/server/BlockCampfire.java
@@ -72,8 +72,32 @@ public class BlockCampfire extends BlockTileEntity implements IBlockWaterlogged
return (IBlockData) ((IBlockData) ((IBlockData) ((IBlockData) this.getBlockData().set(BlockCampfire.d, flag)).set(BlockCampfire.c, this.j(world.getType(blockposition.down())))).set(BlockCampfire.b, !flag)).set(BlockCampfire.e, blockactioncontext.f());
@@ -74,8 +74,32 @@ public class BlockCampfire extends BlockTileEntity implements IBlockWaterlogged
return (IBlockData) ((IBlockData) ((IBlockData) ((IBlockData) this.getBlockData().set(BlockCampfire.d, flag)).set(BlockCampfire.c, this.h(world.getType(blockposition.down())))).set(BlockCampfire.b, !flag)).set(BlockCampfire.e, blockactioncontext.f());
}
+ // Purpur start - Campfires should fall with gravity
@@ -36,7 +36,7 @@ index 9d59e339c..121433a4e 100644
+ }
+
+ @Override
+ public void tick(IBlockData iblockdata, World world, BlockPosition pos, Random random) {
+ public void tick(IBlockData iblockdata, WorldServer world, BlockPosition pos, Random random) {
+ if (world.purpurConfig.campfireObeysGravity && BlockFalling.canFallThrough(world.getType(pos.down())) && pos.getY() >= 0) {
+ world.addEntity(new EntityFallingBlock(world, pos.getX() + 0.5D, pos.getY(), pos.getZ() + 0.5D, world.getType(pos)));
+ }
@@ -58,7 +58,7 @@ index 9d59e339c..121433a4e 100644
if ((Boolean) iblockdata.get(BlockCampfire.d)) {
generatoraccess.getFluidTickList().a(blockposition, FluidTypes.WATER, FluidTypes.WATER.a((IWorldReader) generatoraccess));
}
@@ -107,7 +131,7 @@ public class BlockCampfire extends BlockTileEntity implements IBlockWaterlogged
@@ -104,7 +128,7 @@ public class BlockCampfire extends BlockTileEntity implements IBlockWaterlogged
@Override
public boolean place(GeneratorAccess generatoraccess, BlockPosition blockposition, IBlockData iblockdata, Fluid fluid) {
@@ -68,7 +68,7 @@ index 9d59e339c..121433a4e 100644
if (flag) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 314fd584b..871c0e234 100644
index 314fd584b8..871c0e2349 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -61,6 +61,11 @@ public class PurpurWorldConfig {
@@ -84,5 +84,5 @@ index 314fd584b..871c0e234 100644
public int campfireRegenDuration = 80;
public int campfireRegenRange = 5;
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From db147d56a6690f1f4427813c31df18ef8730c538 Mon Sep 17 00:00:00 2001
From 4a6b57cb93aa44291057d493345d384db72c209f Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 6 Jun 2019 21:30:49 -0500
Subject: [PATCH] Campfires burn out in rain
@@ -9,10 +9,10 @@ Subject: [PATCH] Campfires burn out in rain
2 files changed, 8 insertions(+)
diff --git a/src/main/java/net/minecraft/server/BlockCampfire.java b/src/main/java/net/minecraft/server/BlockCampfire.java
index d2363d1d..563f16a3 100644
index 5d1312d2f1..7cb4ce95e7 100644
--- a/src/main/java/net/minecraft/server/BlockCampfire.java
+++ b/src/main/java/net/minecraft/server/BlockCampfire.java
@@ -86,6 +86,9 @@ public class BlockCampfire extends BlockTileEntity implements IBlockWaterlogged
@@ -88,6 +88,9 @@ public class BlockCampfire extends BlockTileEntity implements IBlockWaterlogged
if (iblockdata.get(BlockCampfire.d) && iblockdata.get(BlockCampfire.b)) {
world.setTypeAndData(pos, iblockdata.set(BlockCampfire.b, false), 3);
}
@@ -23,7 +23,7 @@ index d2363d1d..563f16a3 100644
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 871c0e23..8d1f3feb 100644
index 871c0e2349..8d1f3feb82 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -88,4 +88,9 @@ public class PurpurWorldConfig {
@@ -37,5 +37,5 @@ index 871c0e23..8d1f3feb 100644
+ }
}
--
2.20.1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From e04a47b6febfb7da9891ede1c777e0fe15d650a6 Mon Sep 17 00:00:00 2001
From d63d5843f193b635c1b29876ee675f151e252ec8 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 23 May 2019 21:50:37 -0500
Subject: [PATCH] Packed Barrels
@@ -10,10 +10,10 @@ Subject: [PATCH] Packed Barrels
3 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/src/main/java/net/minecraft/server/TileEntityBarrel.java b/src/main/java/net/minecraft/server/TileEntityBarrel.java
index 5d80ec801..dd8c6e887 100644
index 1e27abbea0..08dee7518c 100644
--- a/src/main/java/net/minecraft/server/TileEntityBarrel.java
+++ b/src/main/java/net/minecraft/server/TileEntityBarrel.java
@@ -56,7 +56,7 @@ public class TileEntityBarrel extends TileEntityLootable {
@@ -54,7 +54,7 @@ public class TileEntityBarrel extends TileEntityLootable {
private TileEntityBarrel(TileEntityTypes<?> tileentitytypes) {
super(tileentitytypes);
@@ -22,7 +22,7 @@ index 5d80ec801..dd8c6e887 100644
}
public TileEntityBarrel() {
@@ -85,7 +85,7 @@ public class TileEntityBarrel extends TileEntityLootable {
@@ -83,7 +83,7 @@ public class TileEntityBarrel extends TileEntityLootable {
@Override
public int getSize() {
@@ -31,7 +31,7 @@ index 5d80ec801..dd8c6e887 100644
}
@Override
@@ -151,6 +151,7 @@ public class TileEntityBarrel extends TileEntityLootable {
@@ -103,6 +103,7 @@ public class TileEntityBarrel extends TileEntityLootable {
@Override
protected Container createContainer(int i, PlayerInventory playerinventory) {
@@ -40,7 +40,7 @@ index 5d80ec801..dd8c6e887 100644
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 7063c6329..0ad1569e7 100644
index 1c89125300..aba4e84117 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -6,6 +6,7 @@ import org.bukkit.Bukkit;
@@ -65,7 +65,7 @@ index 7063c6329..0ad1569e7 100644
public static boolean ridableBlaze = true;
public static boolean ridableCat = true;
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
index ae119756b..631d39967 100644
index b4a7d982eb..49cc721f5c 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
@@ -155,6 +155,8 @@ public class CraftContainer extends Container {
@@ -90,5 +90,5 @@ index ae119756b..631d39967 100644
case DISPENSER:
case DROPPER:
--
2.20.1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From 51e2b79efa6673374fcf4d6ebc5052eb8f8b8342 Mon Sep 17 00:00:00 2001
From 0cd5138cb769057cb56c2b699fc4b3dfd3933bfa Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 23 Jun 2019 17:01:26 -0500
Subject: [PATCH] Add large sized ender chests
@@ -12,19 +12,19 @@ Subject: [PATCH] Add large sized ender chests
5 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/src/main/java/net/minecraft/server/BlockEnderChest.java b/src/main/java/net/minecraft/server/BlockEnderChest.java
index 4b7290238..fc5227683 100644
index 0a892a5f1a..c7afac3482 100644
--- a/src/main/java/net/minecraft/server/BlockEnderChest.java
+++ b/src/main/java/net/minecraft/server/BlockEnderChest.java
@@ -46,6 +46,7 @@ public class BlockEnderChest extends BlockTileEntity implements IBlockWaterlogge
@@ -48,6 +48,7 @@ public class BlockEnderChest extends BlockChestAbstract<TileEntityEnderChest> im
inventoryenderchest.a(tileentityenderchest);
entityhuman.openContainer(new TileInventory((i, playerinventory, entityhuman1) -> {
+ if (net.pl3x.purpur.PurpurConfig.largeEnderChests) return ContainerChest.b(i, playerinventory, inventoryenderchest); // Purpur
return ContainerChest.a(i, playerinventory, inventoryenderchest);
}, BlockEnderChest.d));
}, BlockEnderChest.e));
entityhuman.a(StatisticList.OPEN_ENDERCHEST);
diff --git a/src/main/java/net/minecraft/server/InventoryEnderChest.java b/src/main/java/net/minecraft/server/InventoryEnderChest.java
index fd31b9a6d..49b369236 100644
index fd31b9a6dc..49b369236d 100644
--- a/src/main/java/net/minecraft/server/InventoryEnderChest.java
+++ b/src/main/java/net/minecraft/server/InventoryEnderChest.java
@@ -20,7 +20,7 @@ public class InventoryEnderChest extends InventorySubcontainer {
@@ -37,7 +37,7 @@ index fd31b9a6d..49b369236 100644
// CraftBukkit end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 0ad1569e7..abc43c4e3 100644
index aba4e84117..4c25d358fd 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -165,6 +165,12 @@ public class PurpurConfig {
@@ -54,7 +54,7 @@ index 0ad1569e7..abc43c4e3 100644
private static void packedBarrels() {
packedBarrels = getBoolean("settings.packed-barrels", packedBarrels);
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
index 631d39967..47c7013f0 100644
index 49cc721f5c..a7e3585fc0 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
@@ -157,6 +157,8 @@ public class CraftContainer extends Container {
@@ -76,7 +76,7 @@ index 631d39967..47c7013f0 100644
case BARREL:
delegate = new ContainerChest(net.pl3x.purpur.PurpurConfig.packedBarrels ? Containers.GENERIC_9X6 : Containers.GENERIC_9X3, windowId, bottom, top, top.getSize() / 9); // Purpur
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
index 026a0c399..d2c06cff2 100644
index 026a0c3995..d2c06cff2c 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
@@ -81,7 +81,7 @@ public class CraftInventory implements Inventory {
@@ -89,5 +89,5 @@ index 026a0c399..d2c06cff2 100644
}
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From cc4bab45ae6d4e889e03196225b538ff245d3fdb Mon Sep 17 00:00:00 2001
From 37e9a772a5e76b43000d8cec3b48ee937364f5a3 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 24 May 2019 02:39:25 -0500
Subject: [PATCH] Right click to open sign editor
@@ -9,10 +9,10 @@ Subject: [PATCH] Right click to open sign editor
2 files changed, 16 insertions(+)
diff --git a/src/main/java/net/minecraft/server/BlockSign.java b/src/main/java/net/minecraft/server/BlockSign.java
index e058a85ba..8cf92d7a7 100644
index 8a31054a1d..503090e38a 100644
--- a/src/main/java/net/minecraft/server/BlockSign.java
+++ b/src/main/java/net/minecraft/server/BlockSign.java
@@ -52,6 +52,17 @@ public abstract class BlockSign extends BlockTileEntity implements IBlockWaterlo
@@ -56,6 +56,17 @@ public abstract class BlockSign extends BlockTileEntity implements IBlockWaterlo
}
}
@@ -23,15 +23,15 @@ index e058a85ba..8cf92d7a7 100644
+ tileentitysign.isEditable = true;
+ tileentitysign.a(entityhuman);
+ entityhuman.openSign(tileentitysign);
+ return true;
+ return EnumInteractionResult.SUCCESS;
+ }
+ // Purpur end
+
return tileentitysign.b(entityhuman);
return tileentitysign.b(entityhuman) ? EnumInteractionResult.SUCCESS : EnumInteractionResult.PASS;
} else {
return false;
return EnumInteractionResult.PASS;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 8d1f3feb8..8bd887b1c 100644
index 8d1f3feb82..8bd887b1c2 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -61,6 +61,11 @@ public class PurpurWorldConfig {
@@ -47,5 +47,5 @@ index 8d1f3feb8..8bd887b1c 100644
private void campfireObeysGravity() {
campfireObeysGravity = getBoolean("campfire-obeys-gravity", campfireObeysGravity);
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From 495e5af821f0288659b8814f61ced10d1c7fd210 Mon Sep 17 00:00:00 2001
From 34ee8eddbefe3923f22ec3021a0bedaa88af15b6 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 6 Jun 2019 17:40:30 -0500
Subject: [PATCH] Allow color codes on signs
@@ -11,10 +11,10 @@ Subject: [PATCH] Allow color codes on signs
4 files changed, 28 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index c747b5deb3..d5f80be598 100644
index 30380c8db4..4ad6b48c25 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1122,6 +1122,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -1090,6 +1090,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@Override
public void openSign(TileEntitySign tileentitysign) {
tileentitysign.a((EntityHuman) this);
@@ -23,10 +23,10 @@ index c747b5deb3..d5f80be598 100644
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index c9872cbd0c..03c9fc9180 100644
index c559a7b95d..925824c349 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2565,6 +2565,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -2575,6 +2575,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
}
}
// Paper end
@@ -42,18 +42,18 @@ index c9872cbd0c..03c9fc9180 100644
}
SignChangeEvent event = new SignChangeEvent((org.bukkit.craftbukkit.block.CraftBlock) player.getWorld().getBlockAt(x, y, z), this.server.getPlayer(this.player), lines);
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
index 0a8d9b52dd..65771ed9e1 100644
index 5eb86c4341..8810a1120b 100644
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
@@ -122,6 +122,20 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
this.k[i] = null;
@@ -119,6 +119,20 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
this.g[i] = null;
}
+ // Purpur start
+ public PacketPlayOutTileEntityData getTranslatedUpdatePacket() {
+ NBTTagCompound nbt = this.b();
+ for (int i = 0; i < 4; ++i) {
+ String line = lines[i].e().replace("\u00a7", "&");
+ String line = lines[i].getLegacyString().replace("\u00a7", "&");
+ if (line.endsWith("&r")) {
+ line = line.substring(0, line.length() - 2);
+ }

View File

@@ -1,4 +1,4 @@
From ea578ab1879715652b4393dcac01053e3f5e634e Mon Sep 17 00:00:00 2001
From 56a6ad31a83bcc34ddc66196beaf9a7047455db5 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 1 Jun 2019 01:16:35 -0500
Subject: [PATCH] Always place dragon egg when dragon is killed
@@ -9,10 +9,10 @@ Subject: [PATCH] Always place dragon egg when dragon is killed
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java
index 6700c8c65..c7470d285 100644
index 218c04245b..cfc059c00f 100644
--- a/src/main/java/net/minecraft/server/EnderDragonBattle.java
+++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java
@@ -356,7 +356,7 @@ public class EnderDragonBattle {
@@ -358,7 +358,7 @@ public class EnderDragonBattle {
this.bossBattle.setVisible(false);
this.a(true);
this.n();
@@ -22,7 +22,7 @@ index 6700c8c65..c7470d285 100644
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 4c25d358f..4baede017 100644
index 4c25d358fd..4baede017c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -142,6 +142,19 @@ public class PurpurConfig {
@@ -46,5 +46,5 @@ index 4c25d358f..4baede017 100644
public static boolean giantsHaveAI = true;
private static void giantsSettings() {
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From 06f097bcd196eca3dcf038a48b02364328cd0e65 Mon Sep 17 00:00:00 2001
From 9e203340843bfb499a69eabf211866d002b0d77f Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 6 Jun 2019 22:15:46 -0500
Subject: [PATCH] Add config for items breaking turtle eggs
@@ -9,10 +9,10 @@ Subject: [PATCH] Add config for items breaking turtle eggs
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/BlockTurtleEgg.java b/src/main/java/net/minecraft/server/BlockTurtleEgg.java
index 0118a8451..83e69425b 100644
index cb36334e41..238d260b5f 100644
--- a/src/main/java/net/minecraft/server/BlockTurtleEgg.java
+++ b/src/main/java/net/minecraft/server/BlockTurtleEgg.java
@@ -163,6 +163,17 @@ public class BlockTurtleEgg extends Block {
@@ -157,6 +157,17 @@ public class BlockTurtleEgg extends Block {
}
private boolean a(World world, Entity entity) {
@@ -32,7 +32,7 @@ index 0118a8451..83e69425b 100644
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index abd10a500..5c5a729e9 100644
index abd10a500a..5c5a729e9e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -103,4 +103,9 @@ public class PurpurWorldConfig {
@@ -46,5 +46,5 @@ index abd10a500..5c5a729e9 100644
+ }
}
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From ea4d6504bc39d430c6f154dfafa551ae288bc89b Mon Sep 17 00:00:00 2001
From c8327292a86bc1848b9f0bbddcdd9be674010c46 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 15 Jun 2019 03:12:15 -0500
Subject: [PATCH] Make Iron Golems Swim
@@ -9,10 +9,10 @@ Subject: [PATCH] Make Iron Golems Swim
2 files changed, 6 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityIronGolem.java b/src/main/java/net/minecraft/server/EntityIronGolem.java
index 2c34ab337..9bb033336 100644
index 6a41e1cfd0..966cefdcf6 100644
--- a/src/main/java/net/minecraft/server/EntityIronGolem.java
+++ b/src/main/java/net/minecraft/server/EntityIronGolem.java
@@ -14,6 +14,7 @@ public class EntityIronGolem extends EntityGolem {
@@ -20,6 +20,7 @@ public class EntityIronGolem extends EntityGolem {
@Override
protected void initPathfinder() {
@@ -21,7 +21,7 @@ index 2c34ab337..9bb033336 100644
this.goalSelector.a(1, new PathfinderGoalMeleeAttack(this, 1.0D, true));
this.goalSelector.a(2, new PathfinderGoalMoveTowardsTarget(this, 0.9D, 32.0F));
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 4baede017..5dc882288 100644
index 4baede017c..5dc8822884 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -162,6 +162,11 @@ public class PurpurConfig {
@@ -37,5 +37,5 @@ index 4baede017..5dc882288 100644
public static float crystalsAttackPhantomDamage = 1.0F;
public static double phantomsOrbitCrystalsRadius = 0.0D;
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From b3b90ce062c93b15d90c9c550138bd78f68c3904 Mon Sep 17 00:00:00 2001
From 3b36fc76fea11aed04a475ccb0b4b33bed9c927f 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,30 +11,30 @@ 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 27ae09757..457d973af 100644
index 86ce0977df..de8e48b570 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1295,6 +1295,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1283,6 +1283,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.inLava = true;
}
+ public boolean isInLava() { return aD(); } // Purpur - OBFHELPER
public boolean aD() {
+ public boolean isInLava() { return aH(); } // Purpur - OBFHELPER
public boolean aH() {
return this.inLava;
}
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
index 6df2930e2..c5b4057c3 100644
index 4388186db5..5abd8a1819 100644
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
@@ -4,6 +4,7 @@ import java.util.Iterator;
import java.util.List;
@@ -8,6 +8,7 @@ import java.util.List;
import java.util.Map;
import javax.annotation.Nullable;
+import net.pl3x.purpur.PurpurConfig; // Purpur
// CraftBukkit start
import org.bukkit.Location;
import org.bukkit.entity.Vehicle;
@@ -330,12 +331,50 @@ public abstract class EntityMinecartAbstract extends Entity {
@@ -355,12 +356,50 @@ public abstract class EntityMinecartAbstract extends Entity {
public void a(int i, int j, int k, boolean flag) {}
@@ -86,7 +86,7 @@ index 6df2930e2..c5b4057c3 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 ec96fa0a4..9ad3cc298 100644
index b73e317fbb..aa2186add7 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 ec96fa0a4..9ad3cc298 100644
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 5dc882288..db98b4c3f 100644
index 5dc8822884..db98b4c3f6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -1,9 +1,13 @@
@@ -160,5 +160,5 @@ index 5dc882288..db98b4c3f 100644
+ }
}
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From 0f1a76f451bfcea744e9f26ec1407b9aee80b847 Mon Sep 17 00:00:00 2001
From b4228af0149ea881aabe6a2eadf46781c3421a73 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,11 +9,11 @@ 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 791d03aa7..eb397b6bc 100644
index 50c494503e..7a5a1a2d3e 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1423,8 +1423,10 @@ public abstract class EntityLiving extends Entity {
this.cF(); // CraftBukkit - from below // PAIL
@@ -1381,8 +1381,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)) {
+ if (!(damagesource == DamageSource.CRAMMING && net.pl3x.purpur.PurpurConfig.disableDropsOnCrammingDeath)) { // Purpur - do not drop loot if crammed to death
@@ -24,7 +24,7 @@ index 791d03aa7..eb397b6bc 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 0e20e0b13..749dce0b4 100644
index db98b4c3f6..f9623c7c7a 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 0e20e0b13..749dce0b4 100644
private static void requireShiftToMount() {
requireShiftToMount = getBoolean("settings.mobs.require-shift-to-mount", requireShiftToMount);
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From 67ad2997ee26dc8ddc1dac341fdc928bb62e6ceb Mon Sep 17 00:00:00 2001
From d8598756085a46d3e6d662efc8be4172455b2854 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 5 Jul 2019 16:36:55 -0500
Subject: [PATCH] Implement ItemFactory#getMonsterEgg
@@ -9,7 +9,7 @@ Subject: [PATCH] Implement ItemFactory#getMonsterEgg
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/ItemMonsterEgg.java b/src/main/java/net/minecraft/server/ItemMonsterEgg.java
index 4482dd930..bb3b0abd9 100644
index b2dea4d944..df22e15a4a 100644
--- a/src/main/java/net/minecraft/server/ItemMonsterEgg.java
+++ b/src/main/java/net/minecraft/server/ItemMonsterEgg.java
@@ -8,7 +8,7 @@ import javax.annotation.Nullable;
@@ -22,10 +22,10 @@ index 4482dd930..bb3b0abd9 100644
private final int c;
private final EntityTypes<?> d;
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
index 3cddf254a..23cdaaf7e 100644
index 23d7756456..29161032c3 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
@@ -351,4 +351,18 @@ public final class CraftItemFactory implements ItemFactory {
@@ -354,4 +354,18 @@ public final class CraftItemFactory implements ItemFactory {
return nms != null ? net.minecraft.server.LocaleLanguage.getInstance().translateKey(nms.getItem().getName()) : null;
}
// Paper end
@@ -45,5 +45,5 @@ index 3cddf254a..23cdaaf7e 100644
+ // Purpur end
}
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From a8486da8353fb438f66d58fcaaaaf14225916f90 Mon Sep 17 00:00:00 2001
From f22ff4979a67ab0064e528c5b068e09e72cf00dc Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 6 Jul 2019 17:00:04 -0500
Subject: [PATCH] Dont send useless entity packets
@@ -10,7 +10,7 @@ Subject: [PATCH] Dont send useless entity packets
3 files changed, 27 insertions(+), 5 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
index 460c687d3..61af5a99f 100644
index 3a88c9a670..1f7c8f7da0 100644
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
@@ -162,6 +162,7 @@ public class EntityTrackerEntry {
@@ -20,7 +20,7 @@ index 460c687d3..61af5a99f 100644
+ if (net.pl3x.purpur.PurpurConfig.dontSendUselessEntityPackets && isUselessPacket(packet1)) packet1 = null; // Purpur
}
if ((this.e || this.tracker.impulse || this.tracker instanceof EntityLiving && ((EntityLiving) this.tracker).isGliding()) && this.n > 0) {
if ((this.e || this.tracker.impulse || this.tracker instanceof EntityLiving && ((EntityLiving) this.tracker).isGliding()) && this.tickCounter > 0) {
@@ -248,6 +249,22 @@ public class EntityTrackerEntry {
}
@@ -45,7 +45,7 @@ index 460c687d3..61af5a99f 100644
this.tracker.c(entityplayer);
entityplayer.c(this.tracker);
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutEntity.java b/src/main/java/net/minecraft/server/PacketPlayOutEntity.java
index 1a9802e75..4c5a52c80 100644
index e5da2b19c1..5b1d959354 100644
--- a/src/main/java/net/minecraft/server/PacketPlayOutEntity.java
+++ b/src/main/java/net/minecraft/server/PacketPlayOutEntity.java
@@ -5,11 +5,11 @@ import java.io.IOException;
@@ -64,9 +64,9 @@ index 1a9802e75..4c5a52c80 100644
+ protected byte f; public byte getPitch() { return f; } // Purpur - OBFHELPER
protected boolean g;
protected boolean h;
protected boolean i;
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index d44b7b173..f710919da 100644
index aa68cc366d..5ce6afde79 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -141,6 +141,11 @@ public class PurpurConfig {
@@ -82,5 +82,5 @@ index d44b7b173..f710919da 100644
private static void requireShiftToMount() {
requireShiftToMount = getBoolean("settings.mobs.require-shift-to-mount", requireShiftToMount);
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From b7ad8b31987ef8c502c142f2202a66ca7073cfb0 Mon Sep 17 00:00:00 2001
From 50fdf55beec37563faed1fa6dc40fa2ccece22c5 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 6 Jul 2019 21:12:58 -0500
Subject: [PATCH] Fix item position desync (MC-4)
@@ -10,7 +10,7 @@ Subject: [PATCH] Fix item position desync (MC-4)
3 files changed, 13 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
index 61af5a99f..b271e9ace 100644
index 1f7c8f7da0..5dd4d392a6 100644
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
@@ -124,6 +124,12 @@ public class EntityTrackerEntry {
@@ -19,20 +19,20 @@ index 61af5a99f..b271e9ace 100644
j = MathHelper.d(this.tracker.pitch * 256.0F / 360.0F);
+ // Purpur start - fixes MC-4
+ if (net.pl3x.purpur.PurpurConfig.fixItemPositionDesync && this.tracker instanceof EntityItem) {
+ Vec3D loc = PacketPlayOutEntity.decrypt(PacketPlayOutEntity.encrypt(tracker.locX), PacketPlayOutEntity.encrypt(tracker.locY), PacketPlayOutEntity.encrypt(tracker.locZ));
+ Vec3D loc = PacketPlayOutEntity.decrypt(PacketPlayOutEntity.encrypt(tracker.locX()), PacketPlayOutEntity.encrypt(tracker.locY()), PacketPlayOutEntity.encrypt(tracker.locZ()));
+ tracker.setPosition(loc.getX(), loc.getY(), loc.getZ());
+ }
+ // Purpur end
Vec3D vec3d = (new Vec3D(this.tracker.locX, this.tracker.locY, this.tracker.locZ)).d(PacketPlayOutEntity.a(this.xLoc, this.yLoc, this.zLoc));
Vec3D vec3d = this.tracker.getPositionVector().d(PacketPlayOutEntity.a(this.xLoc, this.yLoc, this.zLoc));
boolean flag1 = vec3d.g() >= 7.62939453125E-6D;
Packet<?> packet1 = null;
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutEntity.java b/src/main/java/net/minecraft/server/PacketPlayOutEntity.java
index 4c5a52c80..9ec3495d5 100644
index 5b1d959354..0010448e3a 100644
--- a/src/main/java/net/minecraft/server/PacketPlayOutEntity.java
+++ b/src/main/java/net/minecraft/server/PacketPlayOutEntity.java
@@ -13,10 +13,12 @@ public class PacketPlayOutEntity implements Packet<PacketListenerPlayOut> {
protected boolean g;
@@ -14,10 +14,12 @@ public class PacketPlayOutEntity implements Packet<PacketListenerPlayOut> {
protected boolean h;
protected boolean i;
+ public static long encrypt(double d) { return a(d); } // Purpur - OBFHELPER
public static long a(double d0) {
@@ -44,7 +44,7 @@ index 4c5a52c80..9ec3495d5 100644
return (new Vec3D((double) i, (double) j, (double) k)).a(2.44140625E-4D);
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index f710919da..0e3a64e85 100644
index 5ce6afde79..882f7711c7 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 {
@@ -60,5 +60,5 @@ index f710919da..0e3a64e85 100644
private static void requireShiftToMount() {
requireShiftToMount = getBoolean("settings.mobs.require-shift-to-mount", requireShiftToMount);
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From 030524325c17ca3149c46fd4640886dfc0a36865 Mon Sep 17 00:00:00 2001
From 633d6bcd11eb1d56f3e4a0176fa8d2feaa7e605c Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 7 Jul 2019 19:52:16 -0500
Subject: [PATCH] Add chance for zombie horse natural spawns
@@ -9,10 +9,10 @@ Subject: [PATCH] Add chance for zombie horse natural spawns
2 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 5b18f4bd52..62e938a78f 100644
index 722384a91c..372b48fb2d 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -518,12 +518,18 @@ public class WorldServer extends World {
@@ -525,12 +525,18 @@ public class WorldServer extends World {
boolean flag1 = this.getGameRules().getBoolean(GameRules.DO_MOB_SPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.b() * paperConfig.skeleHorseSpawnChance; // Paper
if (flag1) {
@@ -54,5 +54,5 @@ index 882f7711c7..f0ed3c9749 100644
private static void largeEnderChests() {
largeEnderChests = getBoolean("settings.large-ender-chests", largeEnderChests);
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From ba8da9b4384da86598467168816372d701a9ffcf Mon Sep 17 00:00:00 2001
From d2c8b1879fd458f8cdc7a0679c9ce2ec2e3fb300 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Tue, 9 Jul 2019 20:56:47 -0500
Subject: [PATCH] Fix pig zombies (MC-56653)
@@ -9,7 +9,7 @@ Subject: [PATCH] Fix pig zombies (MC-56653)
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java
index 5760a1836..54ccc93f1 100644
index 8d57c5f1b5..1c3be1c2c0 100644
--- a/src/main/java/net/minecraft/server/EntityPigZombie.java
+++ b/src/main/java/net/minecraft/server/EntityPigZombie.java
@@ -139,6 +139,7 @@ public class EntityPigZombie extends EntityZombie {
@@ -17,20 +17,20 @@ index 5760a1836..54ccc93f1 100644
if (result && entity instanceof EntityHuman && !((EntityHuman) entity).isCreative() && this.hasLineOfSight(entity)) {
+ if (net.pl3x.purpur.PurpurConfig.pigmenDontTargetUnlessHit) this.setLastDamager((EntityHuman) entity); // Purpur - fix MC-56653
this.a(entity);
this.i((EntityLiving) entity);
}
@@ -158,7 +159,7 @@ public class EntityPigZombie extends EntityZombie {
@@ -157,7 +158,7 @@ public class EntityPigZombie extends EntityZombie {
this.angerLevel = event.getNewAnger();
// CraftBukkit end
this.soundDelay = this.random.nextInt(40);
if (entity instanceof EntityLiving) {
- this.setLastDamager((EntityLiving) entity);
+ if (!net.pl3x.purpur.PurpurConfig.pigmenDontTargetUnlessHit) this.setLastDamager((EntityLiving) entity); // Purpur - fix MC-56653
}
- this.setLastDamager(entityliving);
+ if (!net.pl3x.purpur.PurpurConfig.pigmenDontTargetUnlessHit) this.setLastDamager(entityliving); // Purpur - fix MC-56653
return true;
@@ -207,6 +208,12 @@ public class EntityPigZombie extends EntityZombie {
return this.ef();
}
@@ -204,6 +205,12 @@ public class EntityPigZombie extends EntityZombie {
return this.eA();
}
+ // Purpur start - fix MC-56653
@@ -43,7 +43,7 @@ index 5760a1836..54ccc93f1 100644
public PathfinderGoalAnger(EntityPigZombie entitypigzombie) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index f0ed3c974..8a875a576 100644
index f0ed3c9749..8a875a5764 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -200,6 +200,11 @@ public class PurpurConfig {
@@ -59,5 +59,5 @@ index f0ed3c974..8a875a576 100644
public static boolean snowmanPumpkinPutBack = false;
private static void snowmansSettings() {
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,64 +0,0 @@
From fdf5cf1d6672ea52a1e10f27e78c89e4462475de Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 12 Jul 2019 02:10:06 -0500
Subject: [PATCH] Implement ChunkTooLargeEvent
---
src/main/java/net/minecraft/server/RegionFileCache.java | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java
index d3d610742..d9283b36b 100644
--- a/src/main/java/net/minecraft/server/RegionFileCache.java
+++ b/src/main/java/net/minecraft/server/RegionFileCache.java
@@ -21,6 +21,7 @@ public abstract class RegionFileCache implements AutoCloseable {
private final File actualWorld;
private boolean useAltWorld;
// Paper end
+ private final String worldName; // Purpur
protected RegionFileCache(File file) {
@@ -35,6 +36,7 @@ public abstract class RegionFileCache implements AutoCloseable {
if (name.equals("DIM-1") || name.equals("DIM1")) {
container = container.getParentFile();
}
+ worldName = container.getName(); // Purpur
this.templateWorld = new File(container, name);
File region = new File(file, "region");
if (!region.exists()) {
@@ -43,6 +45,7 @@ public abstract class RegionFileCache implements AutoCloseable {
} else {
this.useAltWorld = false;
this.templateWorld = file;
+ worldName = file.getParentFile().getParentFile().getName(); // Purpur
}
// Paper start
}
@@ -119,6 +122,7 @@ public abstract class RegionFileCache implements AutoCloseable {
regionfile.setStatus(chunk.x, chunk.z, ChunkRegionLoader.getStatus(nbttagcompound)); // Paper - cache status on disk
regionfile.setOversized(chunkX, chunkZ, false);
} catch (RegionFile.ChunkTooLargeException ignored) {
+ new net.pl3x.purpur.event.ChunkTooLargeEvent(worldName, chunkX, chunkZ, true, false).callEvent(); // Purpur
printOversizedLog("ChunkTooLarge! Someone is trying to duplicate.", regionfile.file, chunkX, chunkZ);
// Clone as we are now modifying it, don't want to corrupt the pending save state
nbttagcompound = nbttagcompound.clone();
@@ -136,6 +140,7 @@ public abstract class RegionFileCache implements AutoCloseable {
}
regionfile.setStatus(chunk.x, chunk.z, ChunkRegionLoader.getStatus(nbttagcompound)); // Paper - cache status on disk
} catch (RegionFile.ChunkTooLargeException e) {
+ new net.pl3x.purpur.event.ChunkTooLargeEvent(worldName, chunkX, chunkZ, true, true).callEvent(); // Purpur
printOversizedLog("ChunkTooLarge even after reduction. Trying in overzealous mode.", regionfile.file, chunkX, chunkZ);
// Eek, major fail. We have retry logic, so reduce threshholds and fall back
SIZE_THRESHOLD = OVERZEALOUS_THRESHOLD;
@@ -242,6 +247,7 @@ public abstract class RegionFileCache implements AutoCloseable {
DataInputStream datainputstream = regionfile.a(chunkcoordintpair);
// Paper start
if (regionfile.isOversized(chunkcoordintpair.x, chunkcoordintpair.z)) {
+ new net.pl3x.purpur.event.ChunkTooLargeEvent(worldName, chunkcoordintpair.x, chunkcoordintpair.z, false, false).callEvent(); // Purpur
printOversizedLog("Loading Oversized Chunk!", regionfile.file, chunkcoordintpair.x, chunkcoordintpair.z);
return readOversizedChunk(regionfile, chunkcoordintpair);
}
--
2.23.0.rc1

View File

@@ -1,43 +1,42 @@
From eacc9078b858179ba1d87f830e5c96a79b01f34d Mon Sep 17 00:00:00 2001
From 67679f626cafda7a0341786a1b741f6c59aef6ff Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 13 Jul 2019 15:56:22 -0500
Subject: [PATCH] Tulips change fox type
---
.../java/net/minecraft/server/EntityFox.java | 27 +++++++++++++++++++
.../java/net/minecraft/server/EntityFox.java | 26 +++++++++++++++++++
src/main/java/net/minecraft/server/Items.java | 4 +--
.../java/net/pl3x/purpur/PurpurConfig.java | 5 ++++
3 files changed, 34 insertions(+), 2 deletions(-)
3 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java
index 0a2540ae7..fbe78facd 100644
index 66078b484c..0f6d9e3c4e 100644
--- a/src/main/java/net/minecraft/server/EntityFox.java
+++ b/src/main/java/net/minecraft/server/EntityFox.java
@@ -232,6 +232,11 @@ public class EntityFox extends EntityAnimal {
@@ -228,6 +228,11 @@ public class EntityFox extends EntityAnimal {
}
private void initializePathFinderGoals() {
+ // Purpur start - do not add duplicate goals
+ this.targetSelector.a(this.bH);
+ this.targetSelector.a(this.bI);
+ this.targetSelector.a(this.bJ);
+ this.targetSelector.a(this.bE);
+ this.targetSelector.a(this.bF);
+ this.targetSelector.a(this.bG);
+ // Purpur end
if (this.getFoxType() == EntityFox.Type.RED) {
this.targetSelector.a(4, this.bH);
this.targetSelector.a(4, this.bI);
@@ -264,6 +269,7 @@ public class EntityFox extends EntityAnimal {
this.targetSelector.a(4, this.bE);
this.targetSelector.a(4, this.bF);
@@ -260,6 +265,7 @@ public class EntityFox extends EntityAnimal {
public void setFoxType(EntityFox.Type entityfox_type) {
this.datawatcher.set(EntityFox.bz, entityfox_type.c());
this.datawatcher.set(EntityFox.bw, entityfox_type.c());
+ initializePathFinderGoals(); // Purpur - fix API bug not updating pathfinders on type change
}
private List<UUID> ek() {
@@ -626,6 +632,27 @@ public class EntityFox extends EntityAnimal {
private List<UUID> eE() {
@@ -605,6 +611,26 @@ public class EntityFox extends EntityAnimal {
return getRider() == null ? super.dp() : 0.5F;
}
// Purpur start
+ @Override
+ public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
+ if (net.pl3x.purpur.PurpurConfig.tulipsChangeFoxType) {
+ ItemStack itemstack = entityhuman.b(enumhand);
@@ -59,10 +58,10 @@ index 0a2540ae7..fbe78facd 100644
+ }
+
@Override
public float cX() {
return getRider() == null ? super.cX() : 0.5F;
public void onMount(EntityHuman entityhuman) {
setGoalTarget(null);
diff --git a/src/main/java/net/minecraft/server/Items.java b/src/main/java/net/minecraft/server/Items.java
index 987297634..eed256349 100644
index 282fbca4fc..b261da87b7 100644
--- a/src/main/java/net/minecraft/server/Items.java
+++ b/src/main/java/net/minecraft/server/Items.java
@@ -106,8 +106,8 @@ public class Items {
@@ -77,7 +76,7 @@ index 987297634..eed256349 100644
public static final Item bd = a(Blocks.OXEYE_DAISY, CreativeModeTab.c);
public static final Item be = a(Blocks.CORNFLOWER, CreativeModeTab.c);
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 8a875a576..ef00ce307 100644
index 8a875a5764..ef00ce307e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -174,6 +174,11 @@ public class PurpurConfig {
@@ -93,5 +92,5 @@ index 8a875a576..ef00ce307 100644
public static boolean giantsHaveAI = true;
private static void giantsSettings() {
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From 946948609b0de44f1f30e6393d006861146baf51 Mon Sep 17 00:00:00 2001
From 81f8ef12bb7e7269371fd4d472f97dcc40b0a074 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 14 Jul 2019 19:52:47 -0500
Subject: [PATCH] Mending mends most damages equipment first
@@ -11,10 +11,10 @@ Subject: [PATCH] Mending mends most damages equipment first
4 files changed, 39 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EnchantmentManager.java b/src/main/java/net/minecraft/server/EnchantmentManager.java
index 1d16919e6..69746fd1b 100644
index fabc7a8dd7..5dc6b92f69 100644
--- a/src/main/java/net/minecraft/server/EnchantmentManager.java
+++ b/src/main/java/net/minecraft/server/EnchantmentManager.java
@@ -241,9 +241,32 @@ public class EnchantmentManager {
@@ -246,9 +246,32 @@ public class EnchantmentManager {
return getEnchantmentLevel(Enchantments.CHANNELING, itemstack) > 0;
}
@@ -49,12 +49,12 @@ index 1d16919e6..69746fd1b 100644
}
@Nullable
diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
index d8f23ff02..305504f0f 100644
index 53c6c33892..462e0976a4 100644
--- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
+++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
@@ -225,7 +225,7 @@ public class EntityExperienceOrb extends Entity {
if (this.d == 0 && entityhuman.bF == 0 && new com.destroystokyo.paper.event.player.PlayerPickupExperienceEvent(((EntityPlayer) entityhuman).getBukkitEntity(), (org.bukkit.entity.ExperienceOrb) this.getBukkitEntity()).callEvent()) { // Paper
entityhuman.bF = 2;
if (this.d == 0 && entityhuman.bC == 0 && new com.destroystokyo.paper.event.player.PlayerPickupExperienceEvent(((EntityPlayer) entityhuman).getBukkitEntity(), (org.bukkit.entity.ExperienceOrb) this.getBukkitEntity()).callEvent()) { // Paper
entityhuman.bC = 2;
entityhuman.receive(this, 1);
- Entry<EnumItemSlot, ItemStack> entry = EnchantmentManager.b(Enchantments.MENDING, (EntityLiving) entityhuman);
+ Entry<EnumItemSlot, ItemStack> entry = net.pl3x.purpur.PurpurConfig.useBetterMending ? EnchantmentManager.getMostDamagedEquipment(Enchantments.MENDING, entityhuman) : EnchantmentManager.b(Enchantments.MENDING, entityhuman); // Purpur
@@ -62,10 +62,10 @@ index d8f23ff02..305504f0f 100644
if (entry != null) {
ItemStack itemstack = (ItemStack) entry.getValue();
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
index 0e164840f..41e889165 100644
index df85f9df0a..222a8fdc3b 100644
--- a/src/main/java/net/minecraft/server/ItemStack.java
+++ b/src/main/java/net/minecraft/server/ItemStack.java
@@ -364,10 +364,19 @@ public final class ItemStack {
@@ -369,10 +369,19 @@ public final class ItemStack {
}
}
@@ -86,7 +86,7 @@ index 0e164840f..41e889165 100644
return this.tag == null ? 0 : this.tag.getInt("Damage");
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index c4f1ab8f2..0cdb4bbaf 100644
index ef00ce307e..1a49dd4d80 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -151,6 +151,11 @@ public class PurpurConfig {
@@ -102,5 +102,5 @@ index c4f1ab8f2..0cdb4bbaf 100644
private static void requireShiftToMount() {
requireShiftToMount = getBoolean("settings.mobs.require-shift-to-mount", requireShiftToMount);
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From c0f77cc38698e65711c583d78967a3d1cd3d8f6b Mon Sep 17 00:00:00 2001
From 9cf29811f1f450baf81e489fc07542d0440d8deb Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 21 Jul 2019 18:01:46 -0500
Subject: [PATCH] Players should not cram to death
@@ -8,10 +8,10 @@ Subject: [PATCH] Players should not cram to death
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index d5f80be598..9a76d14a04 100644
index 4ad6b48c25..563bf54f8b 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1081,7 +1081,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -1064,7 +1064,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@Override
public boolean isInvulnerable(DamageSource damagesource) {

View File

@@ -1,4 +1,4 @@
From 7c1721ffce29e4ae704f090e5f01c993f1117224 Mon Sep 17 00:00:00 2001
From 0887ffc6d8fb6ed2bd1488b5ca8b99d0f3d1139e 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 457d973af8..468d6cc3e1 100644
index de8e48b570..3d18c4eb60 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1522,6 +1522,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1508,6 +1508,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
}
public boolean isCollidable() {
@@ -32,10 +32,10 @@ index 457d973af8..468d6cc3e1 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
index 02595cfccd..8bd864cb39 100644
index e6032e3edc..fc4e12d9af 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -318,7 +318,7 @@ public class EntityArmorStand extends EntityLiving {
@@ -323,7 +323,7 @@ public class EntityArmorStand extends EntityLiving {
}
@Override
@@ -45,7 +45,7 @@ index 02595cfccd..8bd864cb39 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java
index 8a8acf14ae..88b94505ca 100644
index f83e35f5ba..ad070687b5 100644
--- a/src/main/java/net/minecraft/server/EntityBat.java
+++ b/src/main/java/net/minecraft/server/EntityBat.java
@@ -54,7 +54,7 @@ public class EntityBat extends EntityAmbient {
@@ -58,7 +58,7 @@ index 8a8acf14ae..88b94505ca 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java
index 32b7f78050..b5bcd1f80d 100644
index 6a1d32df6e..03624bbd6a 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 {
@@ -71,7 +71,7 @@ index 32b7f78050..b5bcd1f80d 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
index 2177a4370e..05a5169c1d 100644
index 5cd46c7475..c02d2afbe0 100644
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
@@ -165,7 +165,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
@@ -84,10 +84,10 @@ index 2177a4370e..05a5169c1d 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 6cb7cb44ae..7000275d85 100644
index 7a5a1a2d3e..7581316497 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2614,7 +2614,7 @@ public abstract class EntityLiving extends Entity {
@@ -2673,7 +2673,7 @@ public abstract class EntityLiving extends Entity {
protected void doTick() {}
protected void collideNearby() {
@@ -96,7 +96,7 @@ index 6cb7cb44ae..7000275d85 100644
if (!list.isEmpty()) {
int i = this.world.getGameRules().getInt(GameRules.MAX_ENTITY_CRAMMING);
@@ -2752,8 +2752,10 @@ public abstract class EntityLiving extends Entity {
@@ -2811,8 +2811,10 @@ public abstract class EntityLiving extends Entity {
}
@Override
@@ -110,10 +110,10 @@ index 6cb7cb44ae..7000275d85 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
index c5b4057c33..d5a28392ac 100644
index 5abd8a1819..2aa8eb4071 100644
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
@@ -82,7 +82,7 @@ public abstract class EntityMinecartAbstract extends Entity {
@@ -106,7 +106,7 @@ public abstract class EntityMinecartAbstract extends Entity {
}
@Override
@@ -123,10 +123,10 @@ index c5b4057c33..d5a28392ac 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java
index 0eeb110554..7c2c3119bb 100644
index 04f0ef54b1..e21d075c61 100644
--- a/src/main/java/net/minecraft/server/EntityParrot.java
+++ b/src/main/java/net/minecraft/server/EntityParrot.java
@@ -351,7 +351,7 @@ public class EntityParrot extends EntityPerchable implements EntityBird {
@@ -358,7 +358,7 @@ public class EntityParrot extends EntityPerchable implements EntityBird {
}
@Override
@@ -136,7 +136,7 @@ index 0eeb110554..7c2c3119bb 100644
}
diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java
index 56739e6ed5..0bac6e4245 100644
index a2d1ef3602..8d7273a38b 100644
--- a/src/main/java/net/minecraft/server/IEntitySelector.java
+++ b/src/main/java/net/minecraft/server/IEntitySelector.java
@@ -33,11 +33,16 @@ public final class IEntitySelector {
@@ -155,7 +155,7 @@ index 56739e6ed5..0bac6e4245 100644
- if (!entity1.isCollidable()) {
+ if (!entity1.isCollidable(ignoreClimbing)) { // Purpur
return false;
} else if (entity.world.isClientSide && (!(entity1 instanceof EntityHuman) || !((EntityHuman) entity1).dG())) {
} 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 1a49dd4d80..f7e1da705d 100644

View File

@@ -1,4 +1,4 @@
From 9384dee8945bc47a570c822953cb965ae9275caf Mon Sep 17 00:00:00 2001
From fa2f33292c0e5798936fdd7779cfe403e22929ab Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Mon, 22 Jul 2019 14:24:26 -0500
Subject: [PATCH] Implement a hard limit for pillager outpost spawns
@@ -9,10 +9,10 @@ Subject: [PATCH] Implement a hard limit for pillager outpost spawns
2 files changed, 6 insertions(+)
diff --git a/src/main/java/net/minecraft/server/ChunkProviderGenerate.java b/src/main/java/net/minecraft/server/ChunkProviderGenerate.java
index b794a39d3..39159e34a 100644
index 70f43c5159..9a56bd30e4 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderGenerate.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderGenerate.java
@@ -142,6 +142,7 @@ public class ChunkProviderGenerate extends ChunkGeneratorAbstract<GeneratorSetti
@@ -143,6 +143,7 @@ public class ChunkProviderGenerate extends ChunkGeneratorAbstract<GeneratorSetti
}
} else if (enumcreaturetype == EnumCreatureType.MONSTER) {
if (WorldGenerator.PILLAGER_OUTPOST.a(this.a, blockposition)) {
@@ -21,7 +21,7 @@ index b794a39d3..39159e34a 100644
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a6f014a05..a934099d8 100644
index a6f014a050..a934099d81 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -118,4 +118,9 @@ public class PurpurWorldConfig {
@@ -35,5 +35,5 @@ index a6f014a05..a934099d8 100644
+ }
}
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From affa6df535d45ccc3c6a7194d88f7817d7e6671f Mon Sep 17 00:00:00 2001
From 9769d07cd8e213fde7d7b4b643dd365524458262 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Mon, 22 Jul 2019 17:32:17 -0500
Subject: [PATCH] Implement configurable search radius for villagers to spawn
@@ -10,19 +10,19 @@ Subject: [PATCH] Implement configurable search radius for villagers to spawn
2 files changed, 8 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index 7f747fac9..830d93a85 100644
index 7ea55c9393..e5361be33a 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -886,6 +886,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -871,6 +871,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@Nullable
private EntityIronGolem eG() {
private EntityIronGolem fb() {
+ if (world.purpurConfig.radiusVillagerIronGolemSpawns > 0 && world.a(EntityIronGolem.class, getBoundingBox().grow(world.purpurConfig.radiusVillagerIronGolemSpawns)).size() > world.purpurConfig.limitVillagerIronGolemSpawns) return null; // Purpur
BlockPosition blockposition = new BlockPosition(this);
int i = 0;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a934099d8..8d01cdc8e 100644
index a934099d81..8d01cdc8e3 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -123,4 +123,11 @@ public class PurpurWorldConfig {
@@ -38,5 +38,5 @@ index a934099d8..8d01cdc8e 100644
+ }
}
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From f91fe361c6bb589031f8760abbb38909ee0b25a9 Mon Sep 17 00:00:00 2001
From c3f604dc22a1eba909826324190c3b1d7b7d34a6 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,10 +10,10 @@ 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 1b6a9623cf..ab596e74e3 100644
index f14d1b160a..cf807e825f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -175,6 +175,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -178,6 +178,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
public static final int TICK_TIME = 1000000000 / TPS;
private static final int SAMPLE_INTERVAL = 20; // Paper
public final double[] recentTps = new double[ 3 ];
@@ -21,7 +21,7 @@ index 1b6a9623cf..ab596e74e3 100644
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
@@ -907,6 +908,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -915,6 +916,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
recentTps[0] = tps1.getAverage();
recentTps[1] = tps5.getAverage();
recentTps[2] = tps15.getAverage();
@@ -46,10 +46,10 @@ 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 2d152627cd..ec9e770838 100644
index 210c04f026..ec1e2a13d3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2176,5 +2176,10 @@ public final class CraftServer implements Server {
@@ -2179,5 +2179,10 @@ public final class CraftServer implements Server {
public String getServerName() {
return getProperties().serverName;
}

View File

@@ -1,4 +1,4 @@
From 1718060fdd9467cd879dbda54222c84e81cea4a9 Mon Sep 17 00:00:00 2001
From e9017245f70b307f62d07cd1c0e6ba87c6e9de42 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Tue, 23 Jul 2019 08:28:21 -0500
Subject: [PATCH] Implement configurable villager brain ticks
@@ -9,7 +9,7 @@ Subject: [PATCH] Implement configurable villager brain ticks
2 files changed, 13 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index 830d93a85..d1d62a900 100644
index e5361be33a..12da4a22b8 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -53,6 +53,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -23,7 +23,7 @@ index 830d93a85..d1d62a900 100644
@@ -66,6 +67,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
this.setCanPickupLoot(true);
this.setVillagerData(this.getVillagerData().withType(villagertype).withProfession(VillagerProfession.NONE));
this.br = this.a(new Dynamic(DynamicOpsNBT.a, new NBTTagCompound()));
this.bo = this.a(new Dynamic(DynamicOpsNBT.a, new NBTTagCompound()));
+ brainTickOffset = getRandom().nextInt(100); // Purpur
}
@@ -38,9 +38,9 @@ index 830d93a85..d1d62a900 100644
+ // Purpur end
this.getBehaviorController().a((WorldServer) this.world, this); // CraftBukkit - decompile error
this.world.getMethodProfiler().exit();
if (!this.dY() && this.bE > 0) {
if (!this.et() && this.bB > 0) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 48d4f1f5a..44232346e 100644
index 48d4f1f5aa..44232346e1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -232,6 +232,13 @@ public class PurpurConfig {
@@ -58,5 +58,5 @@ index 48d4f1f5a..44232346e 100644
private static void zombieHorseSettings() {
zombieHorseSpawnChance = (float) getDouble("settings.mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance);
--
2.23.0.rc1
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From 50ee92ba6f2975ede6a73c18885ae44c44d4227c Mon Sep 17 00:00:00 2001
From eba616d0174d1b56458799b7944350a89fffc7d4 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
@@ -13,13 +13,13 @@ Subject: [PATCH] Implement elytra settings
6 files changed, 50 insertions(+), 4 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 7000275d85..b5f0b01c36 100644
index 7581316497..7d424040cc 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2593,9 +2593,16 @@ public abstract class EntityLiving extends Entity {
@@ -2652,9 +2652,16 @@ public abstract class EntityLiving extends Entity {
if (itemstack.getItem() == Items.ELYTRA && ItemElytra.e(itemstack)) {
flag = true;
if (!this.world.isClientSide && (this.bp + 1) % 20 == 0) {
if (!this.world.isClientSide && (this.bm + 1) % 20 == 0) {
- itemstack.damage(1, this, (entityliving) -> {
- entityliving.c(EnumItemSlot.CHEST);
- });
@@ -36,7 +36,7 @@ index 7000275d85..b5f0b01c36 100644
}
} else {
flag = false;
@@ -3241,6 +3248,7 @@ public abstract class EntityLiving extends Entity {
@@ -3317,6 +3324,7 @@ public abstract class EntityLiving extends Entity {
}
}
@@ -45,10 +45,10 @@ index 7000275d85..b5f0b01c36 100644
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 9e86ef4ce2..832cea636b 100644
index a43e52889f..cc8fbccd16 100644
--- a/src/main/java/net/minecraft/server/ItemFireworks.java
+++ b/src/main/java/net/minecraft/server/ItemFireworks.java
@@ -38,6 +38,14 @@ public class ItemFireworks extends Item {
@@ -39,6 +39,14 @@ public class ItemFireworks extends Item {
// Paper start
com.destroystokyo.paper.event.player.PlayerElytraBoostEvent event = new com.destroystokyo.paper.event.player.PlayerElytraBoostEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack), (org.bukkit.entity.Firework) entityfireworks.getBukkitEntity());
if (event.callEvent() && world.addEntity(entityfireworks)) {
@@ -64,10 +64,10 @@ index 9e86ef4ce2..832cea636b 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 41e8891651..43e89b99b1 100644
index 222a8fdc3b..5379d0e0d8 100644
--- a/src/main/java/net/minecraft/server/ItemStack.java
+++ b/src/main/java/net/minecraft/server/ItemStack.java
@@ -402,7 +402,7 @@ public final class ItemStack {
@@ -401,7 +401,7 @@ public final class ItemStack {
int j;
if (i > 0) {
@@ -76,7 +76,7 @@ index 41e8891651..43e89b99b1 100644
int k = 0;
for (int l = 0; j > 0 && l < i; ++l) {
@@ -448,6 +448,12 @@ public final class ItemStack {
@@ -447,6 +447,12 @@ public final class ItemStack {
if (this.isDamaged(i, t0.getRandom(), t0 instanceof EntityPlayer ? (EntityPlayer) t0 : null)) {
consumer.accept(t0);
Item item = this.getItem();
@@ -90,7 +90,7 @@ index 41e8891651..43e89b99b1 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 c408157368..28f9f6e405 100644
index b8c36e9b10..cff48fafa0 100644
--- a/src/main/java/net/minecraft/server/ItemTrident.java
+++ b/src/main/java/net/minecraft/server/ItemTrident.java
@@ -93,6 +93,16 @@ public class ItemTrident extends Item {
@@ -107,14 +107,14 @@ index c408157368..28f9f6e405 100644
+ }
+ // Purpur end
+
entityhuman.f((double) f2, (double) f3, (double) f4);
entityhuman.q(20);
entityhuman.h((double) f2, (double) f3, (double) f4);
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 d2eb861af2..b89f9fe7b1 100644
index 0c7f094e54..dfa2a863a0 100644
--- a/src/main/java/net/minecraft/server/Vec3D.java
+++ b/src/main/java/net/minecraft/server/Vec3D.java
@@ -93,6 +93,7 @@ public class Vec3D implements IPosition {
@@ -97,6 +97,7 @@ public class Vec3D implements IPosition {
return (double) MathHelper.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
}

View File

@@ -1,4 +1,4 @@
From 57e8301289f665aaf55793cb18208e553ef361da Mon Sep 17 00:00:00 2001
From 3e5cdd0aa4915e7bbcdd16870984b5a8de04217b 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,10 +10,10 @@ 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 ab596e74e3..093457ed7b 100644
index cf807e825f..db4187e24a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -174,7 +174,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -177,7 +177,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
public static final int TPS = 20;
public static final int TICK_TIME = 1000000000 / TPS;
private static final int SAMPLE_INTERVAL = 20; // Paper
@@ -22,7 +22,7 @@ index ab596e74e3..093457ed7b 100644
public boolean lagging = false; // Purpur
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
@@ -825,6 +825,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -833,6 +833,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 ab596e74e3..093457ed7b 100644
public final RollingAverage tps1 = new RollingAverage(60);
public final RollingAverage tps5 = new RollingAverage(60 * 5);
public final RollingAverage tps15 = new RollingAverage(60 * 15);
@@ -901,13 +902,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -909,13 +910,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,10 +52,10 @@ index ab596e74e3..093457ed7b 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 ec9e770838..5b40a53c45 100644
index ec1e2a13d3..46924beafc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2009,6 +2009,7 @@ public final class CraftServer implements Server {
@@ -2012,6 +2012,7 @@ public final class CraftServer implements Server {
@Override
public double[] getTPS() {
return new double[] {

View File

@@ -1,4 +1,4 @@
From 916ee5d62872a87cb932256aca0de26dcb696980 Mon Sep 17 00:00:00 2001
From e800b70ec7a2080ccc46d4231bc22743d9ee871f Mon Sep 17 00:00:00 2001
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
Date: Mon, 11 Mar 2019 12:18:29 -0700
Subject: [PATCH] Rate limit packets incoming from players
@@ -12,10 +12,10 @@ Subject: [PATCH] Rate limit packets incoming from players
create mode 100644 src/main/java/com/destroystokyo/paper/network/PacketLimiter.java
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index 4362720ba3..1fcb815b2e 100644
index d886f1d145..a60b825a0a 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -392,6 +392,18 @@ public class PaperConfig {
@@ -368,6 +368,18 @@ public class PaperConfig {
maxBookTotalSizeMultiplier = getDouble("settings.book-size.total-multiplier", maxBookTotalSizeMultiplier);
}
@@ -194,7 +194,7 @@ index 96a785af27..ff8b5e76f3 100644
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index afc1a5f858..30595523e6 100644
index 925824c349..cdc81ff1e2 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -140,6 +140,60 @@ public class PlayerConnection implements PacketListenerPlayIn {

View File

@@ -1,4 +1,4 @@
From a5b5ba6ffa2c7eea71d8cca1f357823667d0dfae Mon Sep 17 00:00:00 2001
From 28543aa9576c88c469bb774a3b6a0783f1cdad3f Mon Sep 17 00:00:00 2001
From: Tom <cryptite@gmail.com>
Date: Fri, 12 Jul 2019 07:59:35 -0500
Subject: [PATCH] Don't recalculate permissions for players on world change
@@ -9,10 +9,10 @@ Subject: [PATCH] Don't recalculate permissions for players on world change
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
index 4ba349e1a3..7a5bd0857e 100644
index 7b79ee4fe5..6398c367f9 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -711,7 +711,7 @@ public abstract class PlayerList {
@@ -712,7 +712,7 @@ public abstract class PlayerList {
entityplayer1.playerConnection.sendPacket(new PacketPlayOutServerDifficulty(worlddata.getDifficulty(), worlddata.isDifficultyLocked()));
entityplayer1.playerConnection.sendPacket(new PacketPlayOutExperience(entityplayer1.exp, entityplayer1.expTotal, entityplayer1.expLevel));
this.a(entityplayer1, worldserver);
@@ -21,14 +21,14 @@ index 4ba349e1a3..7a5bd0857e 100644
if (!entityplayer.playerConnection.isDisconnected()) {
worldserver.addPlayerRespawn(entityplayer1);
this.players.add(entityplayer1);
@@ -754,6 +754,7 @@ public abstract class PlayerList {
@@ -755,6 +755,7 @@ public abstract class PlayerList {
return entityplayer1;
}
+ public void updatePermissions(EntityPlayer entityPlayer) { d(entityPlayer); } // Purpur
public void d(EntityPlayer entityplayer) {
GameProfile gameprofile = entityplayer.getProfile();
int i = this.server.a(gameprofile);
int i = this.server.b(gameprofile);
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 44232346e1..22df3577cc 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java

View File

@@ -1,4 +1,4 @@
From 5fde04fa7eb04056763689b50cd583be287fd33c Mon Sep 17 00:00:00 2001
From a11da53e9d020ff628e1dc4d5bcb7ace653776cd Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 1 Aug 2019 19:15:12 -0500
Subject: [PATCH] Add blacklist option for grindstone
@@ -51,10 +51,10 @@ index ed88e208d0..0a5abd2e10 100644
Map<Enchantment, Integer> map = EnchantmentManager.a(itemstack);
Iterator iterator = map.entrySet().iterator();
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
index 43e89b99b1..e538ba3991 100644
index 5379d0e0d8..2ab8b9a3d0 100644
--- a/src/main/java/net/minecraft/server/ItemStack.java
+++ b/src/main/java/net/minecraft/server/ItemStack.java
@@ -538,6 +538,12 @@ public final class ItemStack {
@@ -541,6 +541,12 @@ public final class ItemStack {
return !this.e() ? this.doMaterialsMatch(itemstack) : !itemstack.isEmpty() && this.getItem() == itemstack.getItem();
}

View File

@@ -1,4 +1,4 @@
From cffd71583a96d5d1517e9112eafe5db20974bc3d Mon Sep 17 00:00:00 2001
From 7db14bbe9478f1d5e6a9fcc77e865ee4772cd1d3 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,19 +17,19 @@ Subject: [PATCH] Implement AFK API
10 files changed, 113 insertions(+), 24 deletions(-)
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 468d6cc3e1..5377dc1583 100644
index 3d18c4eb60..95b580e80b 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1396,6 +1396,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1374,6 +1374,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return MathHelper.c(f * f + f1 * f1 + f2 * f2);
}
+ public double getDistanceSq(double x, double y, double z) { return e(x, y, z); } // Purpur - OBFHELPER
public double e(double d0, double d1, double d2) {
double d3 = this.locX - d0;
double d4 = this.locY - d1;
+ public double getDistanceSq(double x, double y, double z) { return g(x, y, z); } // Purpur - OBFHELPER
public double g(double d0, double d1, double d2) {
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 8b5ceec8d8..3610611299 100644
index 886fbb7dff..2ec3e660b3 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 {
@@ -47,15 +47,15 @@ index 8b5ceec8d8..3610611299 100644
+
public EntityHuman(World world, GameProfile gameprofile) {
super(EntityTypes.PLAYER, world);
this.bY = ItemStack.a;
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 9a76d14a04..d88fa128c7 100644
index 563bf54f8b..d58c91cfb7 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1607,8 +1607,51 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -1581,8 +1581,51 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
public void resetIdleTimer() {
this.cm = SystemUtils.getMonotonicMillis();
this.cj = SystemUtils.getMonotonicMillis();
+ setAfk(false); // Purpur
}
@@ -105,7 +105,7 @@ index 9a76d14a04..d88fa128c7 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 9aaa75e959..70fe852791 100644
index 8b36252ae1..5e2d56d5de 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 {
@@ -130,7 +130,7 @@ index 9aaa75e959..70fe852791 100644
- } while (!IEntitySelector.f.test(entityhuman));
- } while (!IEntitySelector.b.test(entityhuman));
-
- d4 = entityhuman.e(d0, d1, d2);
- d4 = entityhuman.g(d0, d1, d2);
- } while (d3 >= 0.0D && d4 >= d3 * d3);
-
- return true;
@@ -150,7 +150,7 @@ index 9aaa75e959..70fe852791 100644
@Nullable
diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java
index 0bac6e4245..df79e4af9d 100644
index 8d7273a38b..71c61dc45e 100644
--- a/src/main/java/net/minecraft/server/IEntitySelector.java
+++ b/src/main/java/net/minecraft/server/IEntitySelector.java
@@ -7,6 +7,7 @@ import javax.annotation.Nullable;
@@ -170,10 +170,10 @@ index 0bac6e4245..df79e4af9d 100644
public static Predicate<Entity> a(double d0, double d1, double d2, double d3) {
double d4 = d3 * d3;
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index 30595523e6..6f584d515f 100644
index cdc81ff1e2..2e74e46d5d 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -274,6 +274,12 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -277,6 +277,12 @@ public class PlayerConnection implements PacketListenerPlayIn {
}
if (this.player.F() > 0L && this.minecraftServer.getIdleTimeout() > 0 && SystemUtils.getMonotonicMillis() - this.player.F() > (long) (this.minecraftServer.getIdleTimeout() * 1000 * 60)) {
@@ -186,7 +186,7 @@ index 30595523e6..6f584d515f 100644
this.player.resetIdleTimer(); // CraftBukkit - SPIGOT-854
this.disconnect(new ChatMessage("multiplayer.disconnect.idling", new Object[0]));
}
@@ -490,6 +496,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -493,6 +499,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
this.lastYaw = to.getYaw();
this.lastPitch = to.getPitch();
@@ -195,7 +195,7 @@ index 30595523e6..6f584d515f 100644
// Skip the first time we do this
if (true) { // Spigot - don't skip any move events
Location oldTo = to.clone();
@@ -1150,6 +1158,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -1162,6 +1170,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
this.lastYaw = to.getYaw();
this.lastPitch = to.getPitch();
@@ -205,10 +205,10 @@ index 30595523e6..6f584d515f 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 62e938a78f..5e51dbf172 100644
index 372b48fb2d..f6431f1de6 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -359,7 +359,7 @@ public class WorldServer extends World {
@@ -360,7 +360,7 @@ public class WorldServer extends World {
}
if (this.C && this.players.stream().noneMatch((entityplayer) -> {
@@ -217,7 +217,7 @@ index 62e938a78f..5e51dbf172 100644
})) {
this.C = false;
if (this.getGameRules().getBoolean(GameRules.DO_DAYLIGHT_CYCLE)) {
@@ -626,7 +626,7 @@ public class WorldServer extends World {
@@ -631,7 +631,7 @@ public class WorldServer extends World {
while (iterator.hasNext()) {
EntityPlayer entityplayer = (EntityPlayer) iterator.next();
@@ -261,10 +261,10 @@ index 059cf85f4f..0764be9d1a 100644
public double elytraDamageMultiplyBySpeed = 0;
public boolean elytraIgnoreUnbreaking = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index e920545df1..c098de3152 100644
index 712056cad1..c12d52e5df 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2088,4 +2088,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2063,4 +2063,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return spigot;
}
// Spigot end
@@ -287,7 +287,7 @@ index e920545df1..c098de3152 100644
+ // Purpur end
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 92601c581c..185717c804 100644
index f86404f83a..5eeeb770e3 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -128,6 +128,7 @@ public class ActivationRange

View File

@@ -1,4 +1,4 @@
From 3cd2e9d59270365d1315c92b17c8a0c5c454184f Mon Sep 17 00:00:00 2001
From 1ab6786f1a7c38e228214f8c10e02a6376329b1e Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 11 Aug 2019 22:25:33 -0500
Subject: [PATCH] Advancement stuffs

View File

@@ -1,4 +1,4 @@
From 06f5f8eca842c388f4338ceab0e667231a9c348f Mon Sep 17 00:00:00 2001
From a306a2d8ef846c4944889f35b3288afab222ad28 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 17 Aug 2019 15:27:09 -0500
Subject: [PATCH] Add option for zombies targetting turtle eggs
@@ -9,7 +9,7 @@ Subject: [PATCH] Add option for zombies targetting turtle eggs
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
index 61c427f18b..51191b1195 100644
index 8f9d252c1e..47248cc45e 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -48,7 +48,7 @@ public class EntityZombie extends EntityMonster {

View File

@@ -1,4 +1,4 @@
From 7154ef7c0bb8c9196c77d0913828ac949f0754c9 Mon Sep 17 00:00:00 2001
From 32bf5f46921685a320bdae7baebf60ab446c963d Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 23 Aug 2019 20:57:29 -0500
Subject: [PATCH] Implement bamboo growth settings
@@ -9,16 +9,16 @@ Subject: [PATCH] Implement bamboo growth settings
2 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/src/main/java/net/minecraft/server/BlockBamboo.java b/src/main/java/net/minecraft/server/BlockBamboo.java
index 3a9c3b54a9..f0401c3e72 100644
index 02c548dd9c..e4693fb27d 100644
--- a/src/main/java/net/minecraft/server/BlockBamboo.java
+++ b/src/main/java/net/minecraft/server/BlockBamboo.java
@@ -89,7 +89,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
if (world.random.nextInt(Math.max(1, (int) (100.0F / world.spigotConfig.bambooModifier) * 3)) == 0 && world.isEmpty(blockposition.up()) && world.getLightLevel(blockposition.up(), 0) >= 9) { // Spigot
int i = this.b((IBlockAccess) world, blockposition) + 1;
if (random.nextInt(Math.max(1, (int) (100.0F / worldserver.spigotConfig.bambooModifier) * 3)) == 0 && worldserver.isEmpty(blockposition.up()) && worldserver.getLightLevel(blockposition.up(), 0) >= 9) { // Spigot
int i = this.b(worldserver, blockposition) + 1;
- if (i < 16) {
+ if (i < world.purpurConfig.bambooMaxHeight) { // Purpur
this.a(iblockdata, world, blockposition, random, i);
+ if (i < worldserver.purpurConfig.bambooMaxHeight) { // Purpur
this.a(iblockdata, (World) worldserver, blockposition, random, i);
}
}
@@ -120,7 +120,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
@@ -32,14 +32,14 @@ index 3a9c3b54a9..f0401c3e72 100644
@Override
@@ -139,7 +139,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
BlockPosition blockposition1 = blockposition.up(i);
IBlockData iblockdata1 = world.getType(blockposition1);
IBlockData iblockdata1 = worldserver.getType(blockposition1);
- if (k >= 16 || (Integer) iblockdata1.get(BlockBamboo.f) == 1 || !world.isEmpty(blockposition1.up())) {
+ if (k >= world.purpurConfig.bambooMaxHeight || (Integer) iblockdata1.get(BlockBamboo.f) == 1 || !world.isEmpty(blockposition1.up())) { // Purpur
- if (k >= 16 || (Integer) iblockdata1.get(BlockBamboo.f) == 1 || !worldserver.isEmpty(blockposition1.up())) {
+ if (k >= worldserver.purpurConfig.bambooMaxHeight || (Integer) iblockdata1.get(BlockBamboo.f) == 1 || !worldserver.isEmpty(blockposition1.up())) { // Purpur
return;
}
@@ -185,7 +185,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
@@ -180,7 +180,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
}
int j = (Integer) iblockdata.get(BlockBamboo.d) != 1 && iblockdata2.getBlock() != Blocks.BAMBOO ? 0 : 1;
@@ -48,7 +48,7 @@ index 3a9c3b54a9..f0401c3e72 100644
// CraftBukkit start
if (org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockSpreadEvent(world, blockposition, blockposition.up(), (IBlockData) ((IBlockData) ((IBlockData) this.getBlockData().set(BlockBamboo.d, j)).set(BlockBamboo.e, blockpropertybamboosize)).set(BlockBamboo.f, k), 3)) {
@@ -200,7 +200,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
@@ -195,7 +195,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
protected int a(IBlockAccess iblockaccess, BlockPosition blockposition) {
int i;
@@ -57,7 +57,7 @@ index 3a9c3b54a9..f0401c3e72 100644
;
}
@@ -210,7 +210,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
@@ -205,7 +205,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
protected int b(IBlockAccess iblockaccess, BlockPosition blockposition) {
int i;

View File

@@ -1,4 +1,4 @@
From 5b63c689aa1542e570b8d4e8ad03059fbd67d043 Mon Sep 17 00:00:00 2001
From c5da017d13973de5d642a4b972296dbcdcf4ce59 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 23 Aug 2019 21:56:31 -0500
Subject: [PATCH] Option for slimes not pushable
@@ -10,10 +10,10 @@ Subject: [PATCH] Option for slimes not pushable
3 files changed, 32 insertions(+)
diff --git a/src/main/java/net/minecraft/server/BlockPiston.java b/src/main/java/net/minecraft/server/BlockPiston.java
index de804348f3..52cc35d0a7 100644
index b29525c40d..3a47df79f3 100644
--- a/src/main/java/net/minecraft/server/BlockPiston.java
+++ b/src/main/java/net/minecraft/server/BlockPiston.java
@@ -9,6 +9,8 @@ import java.util.Set;
@@ -10,6 +10,8 @@ import java.util.Map.Entry;
// CraftBukkit start
import com.google.common.collect.ImmutableList;
import java.util.AbstractList;
@@ -22,7 +22,7 @@ index de804348f3..52cc35d0a7 100644
import org.bukkit.craftbukkit.block.CraftBlock;
import org.bukkit.event.block.BlockPistonRetractEvent;
import org.bukkit.event.block.BlockPistonExtendEvent;
@@ -329,6 +331,16 @@ public class BlockPiston extends BlockDirectional {
@@ -332,6 +334,16 @@ public class BlockPiston extends BlockDirectional {
} else {
event = new BlockPistonRetractEvent(bblock, blocks, CraftBlock.notchToBlockFace(enumdirection1));
}
@@ -40,7 +40,7 @@ index de804348f3..52cc35d0a7 100644
if (event.isCancelled()) {
diff --git a/src/main/java/net/minecraft/server/BlockSlime.java b/src/main/java/net/minecraft/server/BlockSlime.java
index fd54958f65..3ee8332c95 100644
index 01f32659d9..52ab86f0b1 100644
--- a/src/main/java/net/minecraft/server/BlockSlime.java
+++ b/src/main/java/net/minecraft/server/BlockSlime.java
@@ -49,4 +49,11 @@ public class BlockSlime extends BlockHalfTransparent {

View File

@@ -1,4 +1,4 @@
From d6e9fe4a886c5b87aa18d0c6653cc637f1a0d546 Mon Sep 17 00:00:00 2001
From abf73c2baed8515f9e2d6d9664b859685c42ffed Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 24 Aug 2019 14:42:54 -0500
Subject: [PATCH] Ender Dragon always drops full exp
@@ -9,15 +9,15 @@ Subject: [PATCH] Ender Dragon always drops full exp
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
index 6a6367a2e1..578676fec9 100644
index 5935ecb529..c7db47ae93 100644
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
@@ -558,7 +558,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
@@ -567,7 +567,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
boolean flag = this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT);
short short0 = 500;
- if (this.bP != null && !this.bP.d()) {
+ if (net.pl3x.purpur.PurpurConfig.enderDragonAlwaysDropsFullExp || (this.bP != null && !this.bP.d())) { // Purpur
- if (this.bN != null && !this.bN.d()) {
+ if (net.pl3x.purpur.PurpurConfig.enderDragonAlwaysDropsFullExp || (this.bN != null && !this.bN.d())) { // Purpur
short0 = 12000;
}

View File

@@ -1,4 +1,4 @@
From 3ea6afe462da21924c767a6efb68233de314757c Mon Sep 17 00:00:00 2001
From 5f11f209c5b6ad99a7f699e542b31d7e21b7339a 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 2a74c3d185..610bf54584 100644
index 53fffb3dc3..53b45215bc 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -896,9 +896,15 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -902,9 +902,15 @@ public abstract class EntityInsentient extends EntityLiving {
}
@@ -31,11 +31,11 @@ index 2a74c3d185..610bf54584 100644
}
diff --git a/src/main/java/net/minecraft/server/ItemArmor.java b/src/main/java/net/minecraft/server/ItemArmor.java
index dec03e4ae5..ce77b7e33f 100644
index cef073c81e..4014c7d116 100644
--- a/src/main/java/net/minecraft/server/ItemArmor.java
+++ b/src/main/java/net/minecraft/server/ItemArmor.java
@@ -33,7 +33,7 @@ public class ItemArmor extends Item {
return ItemStack.a;
@@ -31,7 +31,7 @@ public class ItemArmor extends Item {
return false;
} else {
EntityLiving entityliving = (EntityLiving) list.get(0);
- EnumItemSlot enumitemslot = EntityInsentient.h(itemstack);
@@ -43,7 +43,7 @@ index dec03e4ae5..ce77b7e33f 100644
ItemStack itemstack1 = itemstack.cloneAndSubtract(1);
// CraftBukkit start
World world = isourceblock.getWorld();
@@ -81,6 +81,7 @@ public class ItemArmor extends Item {
@@ -79,6 +79,7 @@ public class ItemArmor extends Item {
BlockDispenser.a((IMaterial) this, ItemArmor.a);
}

View File

@@ -1,4 +1,4 @@
From 726de26909cd6f0643a8b781cbb5ddecd0929e3a Mon Sep 17 00:00:00 2001
From cd12c4564c9432cf757dd71443dc72b6ca809c62 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 31 Aug 2019 17:24:41 -0500
Subject: [PATCH] Add killer rabbit natural spawn chance
@@ -9,10 +9,10 @@ Subject: [PATCH] Add killer rabbit natural spawn chance
2 files changed, 7 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java
index d48610df3a..498c453d71 100644
index d36a074c89..c8de748664 100644
--- a/src/main/java/net/minecraft/server/EntityRabbit.java
+++ b/src/main/java/net/minecraft/server/EntityRabbit.java
@@ -328,6 +328,8 @@ public class EntityRabbit extends EntityAnimal {
@@ -321,6 +321,8 @@ public class EntityRabbit extends EntityAnimal {
}
private int a(GeneratorAccess generatoraccess) {

View File

@@ -1,4 +1,4 @@
From f1cd162a9a053fa793a85354770acae1223da892 Mon Sep 17 00:00:00 2001
From 2654372002db43e578e7d72832a91b1223ceb2b7 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 31 Aug 2019 17:47:11 -0500
Subject: [PATCH] Add option to spawn Toast
@@ -9,19 +9,19 @@ Subject: [PATCH] Add option to spawn Toast
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java
index 498c453d71..41d8d1ccb0 100644
index c8de748664..35b8e182c6 100644
--- a/src/main/java/net/minecraft/server/EntityRabbit.java
+++ b/src/main/java/net/minecraft/server/EntityRabbit.java
@@ -300,7 +300,7 @@ public class EntityRabbit extends EntityAnimal {
if (!this.hasCustomName()) {
this.setCustomName(new ChatMessage(SystemUtils.a("entity", EntityRabbit.bA), new Object[0]));
this.setCustomName(new ChatMessage(SystemUtils.a("entity", EntityRabbit.bx), new Object[0]));
}
- }
+ } else if (i == 98) setCustomName(new ChatMessage("Toast")); // Purpur
this.datawatcher.set(EntityRabbit.bz, i);
this.datawatcher.set(EntityRabbit.bw, i);
}
@@ -329,6 +329,7 @@ public class EntityRabbit extends EntityAnimal {
@@ -322,6 +322,7 @@ public class EntityRabbit extends EntityAnimal {
private int a(GeneratorAccess generatoraccess) {
if (net.pl3x.purpur.PurpurConfig.killerRabbitChance > 0D && net.pl3x.purpur.PurpurConfig.killerRabbitChance > random.nextDouble()) return 99; // Purpur

View File

@@ -1,4 +1,4 @@
From f71a6b979a284bf7f992a60251937b33250f9e01 Mon Sep 17 00:00:00 2001
From c9997e5b02ff432c5b64261ae3612edd7ac538c3 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 7 Sep 2019 22:47:59 -0500
Subject: [PATCH] Add option for boats to eject players on land
@@ -9,13 +9,13 @@ Subject: [PATCH] Add option for boats to eject players on land
2 files changed, 6 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java
index b5bcd1f80d..37a98eba61 100644
index 03624bbd6a..36969eeb2b 100644
--- a/src/main/java/net/minecraft/server/EntityBoat.java
+++ b/src/main/java/net/minecraft/server/EntityBoat.java
@@ -425,6 +425,7 @@ public class EntityBoat extends Entity {
@@ -427,6 +427,7 @@ public class EntityBoat extends Entity {
if (f > 0.0F) {
this.aH = f;
this.aE = f;
+ if (world.purpurConfig.boatEjectPlayersOnLand) ejectPassengers(); // Purpur
return EntityBoat.EnumStatus.ON_LAND;
} else {

View File

@@ -1,4 +1,4 @@
From ba08bce0d3b1032f7099f4a9e35dac7871d753ab Mon Sep 17 00:00:00 2001
From 12eadd5e5f9b5e9847b9eb9567dd7e39df4bb074 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 610bf54584..996146f61f 100644
index 53b45215bc..b417501cea 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -1044,6 +1044,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -1050,6 +1050,7 @@ public abstract class EntityInsentient extends EntityLiving {
if (!this.isAlive()) {
return false;
} else if (this.getLeashHolder() == entityhuman) {
@@ -22,10 +22,10 @@ index 610bf54584..996146f61f 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 d1d62a900f..2a848304df 100644
index 12da4a22b8..8b036c3b53 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -989,4 +989,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -981,4 +981,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
return optional.isPresent() && optional1.isPresent() ? i - ((MinecraftSerializableLong) optional.get()).a() < 24000L && i - ((MinecraftSerializableLong) optional1.get()).a() < 36000L : false;
}

View File

@@ -1,4 +1,4 @@
From 46a5fe7cbdae341b895a29c270760ad731fb9562 Mon Sep 17 00:00:00 2001
From 0a517343ec23abd4780b28456e5c19f093585461 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 6 Oct 2019 12:46:35 -0500
Subject: [PATCH] Add option to set armorstand step height
@@ -9,15 +9,15 @@ Subject: [PATCH] Add option to set armorstand step height
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
index 8bd864cb39..f58cfa6da1 100644
index fc4e12d9af..3b42b680eb 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -62,7 +62,7 @@ public class EntityArmorStand extends EntityLiving {
this.leftLegPose = EntityArmorStand.by;
this.rightLegPose = EntityArmorStand.bz;
this.leftLegPose = EntityArmorStand.bv;
this.rightLegPose = EntityArmorStand.bw;
if (world != null) this.canTick = world.paperConfig.armorStandTick; // Paper - armour stand ticking
- this.K = 0.0F;
+ this.K = net.pl3x.purpur.PurpurConfig.armorstandStepHeight; // Purpur
- this.H = 0.0F;
+ this.H = net.pl3x.purpur.PurpurConfig.armorstandStepHeight; // Purpur
}
public EntityArmorStand(World world, double d0, double d1, double d2) {

View File

@@ -1,4 +1,4 @@
From 58e0aff97d803390d5e033fa7f44cc219659d6a1 Mon Sep 17 00:00:00 2001
From d3357fd01e1481c19ebb6d92e9e8d4dd327af6d4 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Mon, 7 Oct 2019 00:15:37 -0500
Subject: [PATCH] Add API for Villager#resetOffers()
@@ -9,10 +9,10 @@ Subject: [PATCH] Add API for Villager#resetOffers()
2 files changed, 15 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
index f161ccb979..c074d33723 100644
index 9b75c67c72..ddd19aa2f9 100644
--- a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
@@ -72,6 +72,13 @@ public abstract class EntityVillagerAbstract extends EntityAgeable implements NP
@@ -82,6 +82,13 @@ public abstract class EntityVillagerAbstract extends EntityAgeable implements NP
return this.tradingPlayer != null;
}
@@ -26,16 +26,16 @@ index f161ccb979..c074d33723 100644
@Override
public MerchantRecipeList getOffers() {
if (this.trades == null) {
@@ -213,6 +220,7 @@ public abstract class EntityVillagerAbstract extends EntityAgeable implements NP
@@ -223,6 +230,7 @@ public abstract class EntityVillagerAbstract extends EntityAgeable implements NP
return this.world;
}
+ protected void updateTrades() { eh(); } // Purpur
protected abstract void eh();
+ protected void updateTrades() { eC(); } // Purpur
protected abstract void eC();
protected void a(MerchantRecipeList merchantrecipelist, VillagerTrades.IMerchantRecipeOption[] avillagertrades_imerchantrecipeoption, int i) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java
index f291a8d754..0cd358236e 100644
index a73ebaa75f..ac89ed9377 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java
@@ -112,4 +112,11 @@ public class CraftVillager extends CraftAbstractVillager implements Villager {

View File

@@ -1,4 +1,4 @@
From 2338e165900308afbfa6299b3a5077fef2e21d6e Mon Sep 17 00:00:00 2001
From cbad8f66944097c606fb7e9351e5261a6cb05bbe Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 11 Oct 2019 00:17:39 -0500
Subject: [PATCH] Alternative Keepalive Handling
@@ -22,7 +22,7 @@ index 8e93f1540b..470f92c4fb 100644
return this.a;
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index b066ed57dc..9c3727ecd1 100644
index 2e74e46d5d..b51f7b4537 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -74,6 +74,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -33,7 +33,7 @@ index b066ed57dc..9c3727ecd1 100644
// CraftBukkit start - multithreaded fields
private volatile int chatThrottle;
private static final AtomicIntegerFieldUpdater chatSpamField = AtomicIntegerFieldUpdater.newUpdater(PlayerConnection.class, "chatThrottle");
@@ -242,6 +243,21 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -245,6 +246,21 @@ public class PlayerConnection implements PacketListenerPlayIn {
long currentTime = SystemUtils.getMonotonicMillis();
long elapsedTime = currentTime - this.getLastPing();
@@ -55,7 +55,7 @@ index b066ed57dc..9c3727ecd1 100644
if (this.isPendingPing()) {
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
PlayerConnection.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getName()); // more info
@@ -2656,6 +2672,18 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -2666,6 +2682,18 @@ public class PlayerConnection implements PacketListenerPlayIn {
@Override
public void a(PacketPlayInKeepAlive packetplayinkeepalive) {

View File

@@ -1,4 +1,4 @@
From c5fecee384e8f908932c82f11ed61330c554a234 Mon Sep 17 00:00:00 2001
From 2c10cc6fa7b50f6954a8a89e13cc897182c811cf Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 18 Oct 2019 22:19:40 -0500
Subject: [PATCH] Expose getItemStack for Trident
@@ -9,10 +9,10 @@ Subject: [PATCH] Expose getItemStack for Trident
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/EntityThrownTrident.java b/src/main/java/net/minecraft/server/EntityThrownTrident.java
index 392cadf310..46e816dadd 100644
index 59bb039ad7..ed8e26aa45 100644
--- a/src/main/java/net/minecraft/server/EntityThrownTrident.java
+++ b/src/main/java/net/minecraft/server/EntityThrownTrident.java
@@ -74,7 +74,7 @@ public class EntityThrownTrident extends EntityArrow {
@@ -77,7 +77,7 @@ public class EntityThrownTrident extends EntityArrow {
}
@Override

View File

@@ -1,24 +1,25 @@
From 6c8732cc438eb595e0124a21cd57c3d445145677 Mon Sep 17 00:00:00 2001
From 78d42880d3d97db6fabdab39149a975189963a05 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 ++++++---
.../minecraft/server/EntityLlamaTrader.java | 4 +-
.../server/PathfinderGoalLlamaFollow.java | 4 +-
.../bukkit/craftbukkit/entity/CraftLlama.java | 44 +++++++++++++++++++
3 files changed, 62 insertions(+), 6 deletions(-)
4 files changed, 64 insertions(+), 8 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
index 72372497d9..a8cf42fd35 100644
index 6ebb6fd663..14dc4d954b 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
@Nullable
private EntityLlama bM;
private EntityLlama bJ;
@Nullable
- private EntityLlama bN;
+ private EntityLlama bN; @Nullable public EntityLlama getCaravanTail() { return bN; } // Purpur - OBFHELPER
- private EntityLlama bK;
+ private EntityLlama bK; @Nullable public EntityLlama getCaravanTail() { return bK; } // Purpur - OBFHELPER
+ public boolean shouldJoinCaravan = true; // Purpur
public EntityLlama(EntityTypes<? extends EntityLlama> entitytypes, World world) {
@@ -42,48 +43,63 @@ index 72372497d9..a8cf42fd35 100644
+ nbttagcompound.setBoolean("Purpur.ShouldJoinCaravan", shouldJoinCaravan);
+ }
+ // Purpur end
this.en();
this.eI();
}
@@ -409,29 +414,34 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
@@ -403,29 +408,34 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
}
}
+ public void leaveCaravan() { eG(); } // Purpur - OBFHELPER
public void eG() {
if (this.bM != null) {
+ public void leaveCaravan() { fb(); } // Purpur - OBFHELPER
public void fb() {
if (this.bJ != null) {
+ new net.pl3x.purpur.event.entity.LlamaLeaveCaravanEvent((org.bukkit.entity.Llama) getBukkitEntity()).callEvent(); // Purpur
this.bM.bN = null;
this.bJ.bK = null;
}
this.bM = null;
this.bJ = null;
}
+ public void joinCaravan(EntityLlama entitiyllama) { a(entitiyllama); } // Purpur - OBFHELPER
public void a(EntityLlama entityllama) {
+ if (!shouldJoinCaravan || !new net.pl3x.purpur.event.entity.LlamaJoinCaravanEvent((org.bukkit.entity.Llama) getBukkitEntity(), (org.bukkit.entity.Llama) entityllama.getBukkitEntity()).callEvent()) return; // Purpur
this.bM = entityllama;
this.bM.bN = this;
this.bJ = entityllama;
this.bJ.bK = this;
}
+ public boolean hasCaravanTail() { return eH(); } // Purpur - OBFHELPER
public boolean eH() {
return this.bN != null;
+ public boolean hasCaravanTail() { return fc(); } // Purpur - OBFHELPER
public boolean fc() {
return this.bK != null;
}
+ public boolean inCaravan() { return eI(); } // Purpur - OBFHELPER
public boolean eI() {
return this.bM != null;
+ public boolean inCaravan() { return fd(); } // Purpur - OBFHELPER
public boolean fd() {
return this.bJ != null;
}
- @Nullable
- public EntityLlama eJ() {
+ public EntityLlama getCaravanHead() { return eJ(); } @Nullable public EntityLlama eJ() { // Purpur - OBFHELPER
return this.bM;
- public EntityLlama fe() {
+ public EntityLlama getCaravanHead() { return fe(); } @Nullable public EntityLlama fe() { // Purpur - OBFHELPER
return this.bJ;
}
diff --git a/src/main/java/net/minecraft/server/EntityLlamaTrader.java b/src/main/java/net/minecraft/server/EntityLlamaTrader.java
index f8129ef10d..c714b387c1 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 {
}
// Purpur start
- public boolean isSaddled() { return eq(); } // Purpur - OBFHELPER
- @Override public boolean eq() {
+ public boolean isSaddled() { return eL(); } // Purpur - OBFHELPER
+ @Override public boolean eL() {
return isTamed();
}
// Purpur end
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java b/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java
index a46a985a65..9cc0d2e956 100644
index e181d83505..8376f1dc4e 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;
@@ -100,7 +116,7 @@ index a46a985a65..9cc0d2e956 100644
@Override
public boolean a() {
+ if (!getLlama().shouldJoinCaravan) return false; // Purpur
if (!this.a.isLeashed() && !this.a.eI()) {
if (!this.a.isLeashed() && !this.a.fd()) {
List<Entity> list = this.a.world.getEntities(this.a, this.a.getBoundingBox().grow(9.0D, 4.0D, 9.0D), (entity) -> {
EntityTypes<?> entitytypes = entity.getEntityType();
@@ -77,6 +78,7 @@ public class PathfinderGoalLlamaFollow extends PathfinderGoal {
@@ -108,8 +124,8 @@ index a46a985a65..9cc0d2e956 100644
@Override
public boolean b() {
+ if (!getLlama().shouldJoinCaravan) return false; // Purpur
if (this.a.eI() && this.a.eJ().isAlive() && this.a(this.a, 0)) {
double d0 = this.a.h((Entity) this.a.eJ());
if (this.a.fd() && this.a.fe().isAlive() && this.a(this.a, 0)) {
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

View File

@@ -1,4 +1,4 @@
From 90e2b818af21de79de11ebcf0020b6c89f9ce293 Mon Sep 17 00:00:00 2001
From 228403a7282633e9189efbb99bda4207eb192c26 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,13 +9,13 @@ 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 b5f0b01c36..fbe13d9dac 100644
index 7d424040cc..764021c17d 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2557,8 +2557,10 @@ public abstract class EntityLiving extends Entity {
} else if (this.aD()) {
@@ -2617,8 +2617,10 @@ public abstract class EntityLiving extends Entity {
} else if (this.aH()) {
this.c(TagsFluid.LAVA);
} else if ((this.onGround || this.Q > 0.0D && this.Q <= 0.4D) && this.jumpTicks == 0) {
} else if ((this.onGround || this.N > 0.0D && this.N <= 0.4D) && this.jumpTicks == 0) {
+ if (new net.pl3x.purpur.event.entity.EntityJumpEvent(getBukkitLivingEntity()).callEvent()) { // Purpur
this.jump();
this.jumpTicks = 10;

View File

@@ -1,37 +1,37 @@
From 56bea4aa2394d22e31b992c3715a1b4c519f7320 Mon Sep 17 00:00:00 2001
From 3deb8c03cbe3d16b0906e037ebcb2be02aa17783 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 18 Oct 2019 23:58:56 -0500
Subject: [PATCH] Add block and fluid tick events
---
.../java/net/minecraft/server/WorldServer.java | 6 ++++--
.../java/net/minecraft/server/WorldServer.java | 8 ++++++--
.../net/pl3x/purpur/PurpurWorldConfig.java | 7 +++++++
.../org/bukkit/craftbukkit/CraftWorld.java | 18 ++++++++++++++++++
3 files changed, 29 insertions(+), 2 deletions(-)
3 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 5e51dbf172..dba8335554 100644
index f6431f1de6..e70bc4d4dc 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -573,7 +573,7 @@ public class WorldServer extends World {
@@ -580,13 +580,15 @@ public class WorldServer extends World {
gameprofilerfiller.enter("randomTick");
IBlockData iblockdata = chunksection.getType(blockposition2.getX() - j, blockposition2.getY() - j1, blockposition2.getZ() - k);
- if (iblockdata.q()) {
+ if (iblockdata.q() && (!purpurConfig.blockTickEvent || new net.pl3x.purpur.event.block.BlockTickEvent(getWorld(), blockposition2.x, blockposition2.y, blockposition2.z, true).callEvent())) { // Purpur
iblockdata.getBlock().randomTick = true; // Paper - fix MC-113809
iblockdata.b((World) this, blockposition2, this.random);
iblockdata.getBlock().randomTick = false; // Paper - fix MC-113809
@@ -581,7 +581,7 @@ public class WorldServer extends World {
+ iblockdata.getBlock().randomTick = true; // Paper - fix MC-113809
iblockdata.b(this, blockposition2, this.random);
+ iblockdata.getBlock().randomTick = false; // Paper - fix MC-113809
}
Fluid fluid = iblockdata.p();
Fluid fluid = iblockdata.getFluid();
- if (fluid.h()) {
+ if (fluid.h() && (!purpurConfig.fluidTickEvent || new net.pl3x.purpur.event.block.FluidTickEvent(getWorld(), blockposition2.x, blockposition2.y, blockposition2.z, true).callEvent())) { // Purpur
fluid.b(this, blockposition2, this.random);
}
@@ -670,6 +670,7 @@ public class WorldServer extends World {
@@ -675,6 +677,7 @@ public class WorldServer extends World {
Fluid fluid = this.getFluid(nextticklistentry.a);
if (fluid.getType() == nextticklistentry.b()) {
@@ -39,14 +39,14 @@ index 5e51dbf172..dba8335554 100644
fluid.a((World) this, nextticklistentry.a);
}
@@ -679,6 +680,7 @@ public class WorldServer extends World {
@@ -684,6 +687,7 @@ public class WorldServer extends World {
IBlockData iblockdata = this.getType(nextticklistentry.a);
if (iblockdata.getBlock() == nextticklistentry.b()) {
+ if (purpurConfig.blockTickEvent && !new net.pl3x.purpur.event.block.BlockTickEvent(getWorld(), nextticklistentry.a.x, nextticklistentry.a.y, nextticklistentry.a.z).callEvent()) return; // Purpur
iblockdata.a((World) this, nextticklistentry.a, this.random);
}
iblockdata.getBlock().randomTick = true; // Paper - fix MC-113809
iblockdata.a(this, nextticklistentry.a, this.random);
iblockdata.getBlock().randomTick = false; // Paper - fix MC-113809
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f687444604..3ad3415c4a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -66,11 +66,11 @@ index f687444604..3ad3415c4a 100644
private void editableSigns() {
editableSigns = getBoolean("editable-signs", editableSigns);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index f33d9c8b44..ac7e16cdcc 100644
index a974391025..05389f5bbe 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2350,6 +2350,24 @@ public class CraftWorld implements World {
return persistentRaid.a.values().stream().map(CraftRaid::new).collect(Collectors.toList());
@@ -2384,6 +2384,24 @@ public class CraftWorld implements World {
return persistentRaid.raids.values().stream().map(CraftRaid::new).collect(Collectors.toList());
}
+ // Purpur start

View File

@@ -1,31 +1,32 @@
From c5762ebef35be6a13d450004f93e3c7984f81a17 Mon Sep 17 00:00:00 2001
From 5b5b757044b8fe16128b67d4e858c3aa510d36d1 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 19 Oct 2019 00:29:02 -0500
Subject: [PATCH] Add more evoker API
---
.../java/net/minecraft/server/EntityEvoker.java | 5 +++--
.../java/net/minecraft/server/EntityEvoker.java | 6 ++++--
.../org/bukkit/craftbukkit/entity/CraftEvoker.java | 13 +++++++++++++
2 files changed, 16 insertions(+), 2 deletions(-)
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntityEvoker.java b/src/main/java/net/minecraft/server/EntityEvoker.java
index 8d923a34c3..b22f071990 100644
index 3560c95298..ed0111a722 100644
--- a/src/main/java/net/minecraft/server/EntityEvoker.java
+++ b/src/main/java/net/minecraft/server/EntityEvoker.java
@@ -90,12 +90,13 @@ public class EntityEvoker extends EntityIllagerWizard {
@@ -85,12 +85,14 @@ public class EntityEvoker extends EntityIllagerWizard {
return SoundEffects.ENTITY_EVOKER_HURT;
}
+ public void setWololoTarget(@Nullable EntitySheep sheep) { a(sheep); } // Purpur - OBFHELPER
private void a(@Nullable EntitySheep entitysheep) {
this.bz = entitysheep;
this.bw = entitysheep;
}
- @Nullable
- private EntitySheep ep() {
+ @Nullable public EntitySheep getWololoTarget() { return ep(); } // Purpur - OBFHELPER
+ @Nullable private EntitySheep ep() {
return this.bz;
- private EntitySheep eK() {
+
+ @Nullable public EntitySheep getWololoTarget() { return eK(); } // Purpur - OBFHELPER
+ @Nullable private EntitySheep eK() {
return this.bw;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEvoker.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEvoker.java

View File

@@ -1,4 +1,4 @@
From 5d8f75f465d9985353d919129ed0996a6e042c60 Mon Sep 17 00:00:00 2001
From 478fa240814a1fe4f68df47ab07c1a8fc1e9c525 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 19 Oct 2019 00:34:43 -0500
Subject: [PATCH] Add getPlacementBlockData to World
@@ -8,10 +8,10 @@ Subject: [PATCH] Add getPlacementBlockData to World
1 file changed, 5 insertions(+)
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index ac7e16cdcc..d4db567205 100644
index 05389f5bbe..60405821b6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2366,6 +2366,11 @@ public class CraftWorld implements World {
@@ -2400,6 +2400,11 @@ public class CraftWorld implements World {
public void setFluidTickEventEnabled(boolean enabled) {
getHandle().purpurConfig.fluidTickEvent = enabled;
}

View File

@@ -1,4 +1,4 @@
From 33f577964c65dc07468b42c08f00da4e0e0351c8 Mon Sep 17 00:00:00 2001
From 08fd7b5ab01c28a2f295ed10394188a885ae1194 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 19 Oct 2019 00:52:12 -0500
Subject: [PATCH] Add setting to suppress unknown attribute warnings

View File

@@ -1,4 +1,4 @@
From 4400fecb0d24cda272bc41114a905dcde070624f Mon Sep 17 00:00:00 2001
From 654dcb8b77c0ceeba21978e364d7f5fa2b718511 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 3658a799a7..ae6ed98ed9 100644
index 46b0c68207..5ec70c4e3b 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1458,8 +1458,11 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
@@ -1387,8 +1387,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
return blockposition;
}
@@ -25,10 +25,10 @@ index 3658a799a7..ae6ed98ed9 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 d4db567205..b94882b198 100644
index 60405821b6..a1c9c9dc2d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -379,12 +379,16 @@ public class CraftWorld implements World {
@@ -380,12 +380,16 @@ public class CraftWorld implements World {
@Override
public boolean setSpawnLocation(int x, int y, int z) {
try {

View File

@@ -1,4 +1,4 @@
From b1e4664cdc73bee097d32b10c3eea44cd81045f9 Mon Sep 17 00:00:00 2001
From 7142824e543bed1c563977106dcc855ee7f76e4f Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 19 Oct 2019 02:20:45 -0500
Subject: [PATCH] Add option to allow iron golems to spawn in air
@@ -9,10 +9,10 @@ Subject: [PATCH] Add option to allow iron golems to spawn in air
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/EntityIronGolem.java b/src/main/java/net/minecraft/server/EntityIronGolem.java
index 9bb033336c..6fdc4e6d6a 100644
index 966cefdcf6..9ed5672d78 100644
--- a/src/main/java/net/minecraft/server/EntityIronGolem.java
+++ b/src/main/java/net/minecraft/server/EntityIronGolem.java
@@ -169,7 +169,7 @@ public class EntityIronGolem extends EntityGolem {
@@ -224,7 +224,7 @@ public class EntityIronGolem extends EntityGolem {
BlockPosition blockposition1 = blockposition.down();
IBlockData iblockdata = iworldreader.getType(blockposition1);

View File

@@ -1,4 +1,4 @@
From 15223190288e5d7d84bf8780184f0718019fb283 Mon Sep 17 00:00:00 2001
From 5e6941ddcd9149cf40509ad0d63795411de96112 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 19 Oct 2019 02:25:16 -0500
Subject: [PATCH] Add playPickupItemAnimation to LivingEntity

View File

@@ -1,4 +1,4 @@
From 69c1869edcf56eafc428a8e649b2228639b794e7 Mon Sep 17 00:00:00 2001
From a138c77da110feb66a206c9fc883e7d80d70935d Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 19 Oct 2019 02:35:35 -0500
Subject: [PATCH] Add getPlayer to SkeletonHorseTrapEvent
@@ -8,7 +8,7 @@ Subject: [PATCH] Add getPlayer to SkeletonHorseTrapEvent
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java b/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java
index f093744136..01f69e81ad 100644
index 37626f925f..f8fd2d99cc 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java
@@ -2,7 +2,8 @@ package net.minecraft.server;
@@ -25,8 +25,8 @@ index f093744136..01f69e81ad 100644
@Override
public boolean a() {
- return this.a.world.isPlayerNearby(this.a.locX, this.a.locY, this.a.locZ, 10.0D);
+ return (player = getHorse().world.findNearbyPlayer(getHorse(), 10D)) != null; // Purpur
- return this.a.world.isPlayerNearby(this.a.locX(), this.a.locY(), this.a.locZ(), 10.0D);
+ return (player = getHorse().world.findNearbyPlayer(getHorse(), 10.0D)) != null; // Purpur
}
@Override

View File

@@ -1,4 +1,4 @@
From bc45df1c6bdba7b7f33a2f5ccaf9f88de834a24a Mon Sep 17 00:00:00 2001
From 243154bb0369a788ac328dafc608775ec3c6516b Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 19 Oct 2019 02:43:17 -0500
Subject: [PATCH] Add LootableInventoryFirstFillEvent

View File

@@ -1,4 +1,4 @@
From ca3a6ee2ec47c2c27e489cd391a08bc889b59c76 Mon Sep 17 00:00:00 2001
From ce0f3b251a0cab7ffe17066a5afc8cd36808d933 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,10 +8,10 @@ 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 f8600cc07f..9d7b7cad38 100644
index b82d53e5da..29ad29702c 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -162,19 +162,45 @@ public class EntityTypes<T extends Entity> {
@@ -163,19 +163,45 @@ public class EntityTypes<T extends Entity> {
@Nullable
public Entity spawnCreature(World world, @Nullable ItemStack itemstack, @Nullable EntityHuman entityhuman, BlockPosition blockposition, EnumMobSpawn enummobspawn, boolean flag, boolean flag1) {

View File

@@ -1,4 +1,4 @@
From 802e64b9f8494e865901c339b040d3d72d94be40 Mon Sep 17 00:00:00 2001
From b7c9459f996473f158443a5ba5879e5959add149 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 19 Oct 2019 03:28:06 -0500
Subject: [PATCH] Add ThrownEggHatchEvent
@@ -8,7 +8,7 @@ Subject: [PATCH] Add ThrownEggHatchEvent
1 file changed, 9 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityEgg.java b/src/main/java/net/minecraft/server/EntityEgg.java
index aedf2ce17d..e82798cf21 100644
index 970f9109d9..a6212dc597 100644
--- a/src/main/java/net/minecraft/server/EntityEgg.java
+++ b/src/main/java/net/minecraft/server/EntityEgg.java
@@ -52,6 +52,15 @@ public class EntityEgg extends EntityProjectileThrowable {
@@ -26,7 +26,7 @@ index aedf2ce17d..e82798cf21 100644
+
if (hatching) {
for (int i = 0; i < b0; ++i) {
Entity entity = world.getWorld().createEntity(new org.bukkit.Location(world.getWorld(), this.locX, this.locY, this.locZ, this.yaw, 0.0F), hatchingType.getEntityClass());
Entity entity = world.getWorld().createEntity(new org.bukkit.Location(world.getWorld(), this.locX(), this.locY(), this.locZ(), this.yaw, 0.0F), hatchingType.getEntityClass());
--
2.24.0.rc1

View File

@@ -1,4 +1,4 @@
From fba249fae3251b05417156a06dbcd080f5839306 Mon Sep 17 00:00:00 2001
From 68e5c7525982d7ba1be5c8c613aa0038d08972de Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 19 Oct 2019 03:36:52 -0500
Subject: [PATCH] Fix furnace cook speed multiplier using values between 0 and
@@ -9,7 +9,7 @@ Subject: [PATCH] Fix furnace cook speed multiplier using values between 0 and
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java
index 55b5646103..caa5b4368c 100644
index 04849c3da6..ff153003b1 100644
--- a/src/main/java/net/minecraft/server/TileEntityFurnace.java
+++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java
@@ -291,8 +291,10 @@ public abstract class TileEntityFurnace extends TileEntityContainer implements I

View File

@@ -1,4 +1,4 @@
From ccfa78953a0fc3fe610268338cfdfd11c41c1d60 Mon Sep 17 00:00:00 2001
From 8cd2f55a5d205378ff704811df327682f4cd1546 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 19 Oct 2019 03:53:54 -0500
Subject: [PATCH] Add back EntityCreatePortalEvent for EnderDragon
@@ -8,7 +8,7 @@ Subject: [PATCH] Add back EntityCreatePortalEvent for EnderDragon
1 file changed, 49 insertions(+), 8 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java
index c7470d2852..97bb59369f 100644
index cfc059c00f..a2cb2693a4 100644
--- a/src/main/java/net/minecraft/server/EnderDragonBattle.java
+++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java
@@ -21,8 +21,8 @@ public class EnderDragonBattle {
@@ -22,7 +22,7 @@ index c7470d2852..97bb59369f 100644
private final ShapeDetector f;
private int g;
private int h;
@@ -354,8 +354,8 @@ public class EnderDragonBattle {
@@ -356,8 +356,8 @@ public class EnderDragonBattle {
if (entityenderdragon.getUniqueID().equals(this.m)) {
this.bossBattle.setProgress(0.0F);
this.bossBattle.setVisible(false);
@@ -33,7 +33,7 @@ index c7470d2852..97bb59369f 100644
if (net.pl3x.purpur.PurpurConfig.enderDragonAlwaysDropsEggBlock || !this.l) { // Purpur - always place dragon egg
this.d.setTypeUpdate(this.d.getHighestBlockYAt(HeightMap.Type.MOTION_BLOCKING, WorldGenEndTrophy.a), Blocks.DRAGON_EGG.getBlockData());
}
@@ -366,21 +366,62 @@ public class EnderDragonBattle {
@@ -368,21 +368,62 @@ public class EnderDragonBattle {
}
@@ -74,7 +74,7 @@ index c7470d2852..97bb59369f 100644
+ private void generateGateway(BlockPosition blockPosition) { a(blockPosition); } // Purpur - OBFHELPER
private void a(BlockPosition blockposition) {
this.d.triggerEffect(3000, blockposition, 0);
WorldGenerator.END_GATEWAY.generate(this.d, this.d.getChunkProvider().getChunkGenerator(), new Random(), blockposition, WorldGenEndGatewayConfiguration.a());
WorldGenerator.END_GATEWAY.b(WorldGenEndGatewayConfiguration.a()).a(this.d, this.d.getChunkProvider().getChunkGenerator(), new Random(), blockposition); // Paper - decompile fix
}
+ // Purpur start

View File

@@ -1,4 +1,4 @@
From f7042a404bdd4b7a5d79b5f8f0b9a2b46cfdb43e Mon Sep 17 00:00:00 2001
From 4dee2c19e21f815569d565c56d5d7d25c9c5b00a Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sat, 23 Nov 2019 17:55:42 -0600
Subject: [PATCH] Implement infinite lava
@@ -9,13 +9,13 @@ Subject: [PATCH] Implement infinite lava
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/FluidTypeLava.java b/src/main/java/net/minecraft/server/FluidTypeLava.java
index ff677c59e5..240f0a9fdc 100644
index d25368d032..3ce21da824 100644
--- a/src/main/java/net/minecraft/server/FluidTypeLava.java
+++ b/src/main/java/net/minecraft/server/FluidTypeLava.java
@@ -149,7 +149,7 @@ public abstract class FluidTypeLava extends FluidTypeFlowing {
@Override
protected boolean g() {
protected boolean f() {
- return false;
+ return net.pl3x.purpur.PurpurConfig.infiniteLava;
}

View File

@@ -1,4 +1,4 @@
From e4857b12fbb38db43e72a82ad6d9182619557d00 Mon Sep 17 00:00:00 2001
From 8c66e5748d306678a0c33f2e4bf5eb7ed40f29c4 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Fri, 29 Nov 2019 20:33:41 -0600
Subject: [PATCH] Phantoms only attack insomniacs
@@ -10,10 +10,10 @@ Subject: [PATCH] Phantoms only attack insomniacs
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java
index 69a1c79e74..02cd96f64e 100644
index ccc1ade4e4..af0828c28a 100644
--- a/src/main/java/net/minecraft/server/EntityPhantom.java
+++ b/src/main/java/net/minecraft/server/EntityPhantom.java
@@ -391,8 +391,11 @@ public class EntityPhantom extends EntityFlying implements IMonster {
@@ -392,8 +392,11 @@ public class EntityPhantom extends EntityFlying implements IMonster {
EntityHuman entityhuman = (EntityHuman) iterator.next();
if (EntityPhantom.this.a((EntityLiving) entityhuman, PathfinderTargetCondition.a)) {
@@ -28,7 +28,7 @@ index 69a1c79e74..02cd96f64e 100644
}
}
diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java
index df79e4af9d..7312e1586b 100644
index 71c61dc45e..becf9d29e2 100644
--- a/src/main/java/net/minecraft/server/IEntitySelector.java
+++ b/src/main/java/net/minecraft/server/IEntitySelector.java
@@ -25,6 +25,7 @@ public final class IEntitySelector {

View File

@@ -1,4 +1,4 @@
From 133184a0864f4daec4b4b5752b620781176bf117 Mon Sep 17 00:00:00 2001
From 0a7cb9e8304d9aebdda3063c6d1076a25e804bce Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Fri, 29 Nov 2019 22:10:12 -0600
Subject: [PATCH] Villagers follow emerald blocks
@@ -9,7 +9,7 @@ Subject: [PATCH] Villagers follow emerald blocks
2 files changed, 12 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index 2a848304df..f9da2f1058 100644
index 8b036c3b53..22b6e02895 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -29,6 +29,7 @@ import org.bukkit.event.entity.VillagerReplenishTradeEvent;
@@ -17,9 +17,9 @@ index 2a848304df..f9da2f1058 100644
public class EntityVillager extends EntityVillagerAbstract implements ReputationHandler, VillagerDataHolder {
+ private static final RecipeItemStack TEMPT_ITEMS = RecipeItemStack.a(Blocks.EMERALD_BLOCK.getItem()); // Purpur
private static final DataWatcherObject<VillagerData> bC = DataWatcher.a(EntityVillager.class, DataWatcherRegistry.q);
public static final Map<Item, Integer> bA = ImmutableMap.of(Items.BREAD, 4, Items.POTATO, 1, Items.CARROT, 1, Items.BEETROOT, 1);
private static final Set<Item> bD = ImmutableSet.of(Items.BREAD, Items.POTATO, Items.CARROT, Items.WHEAT, Items.WHEAT_SEEDS, Items.BEETROOT, new Item[]{Items.BEETROOT_SEEDS});
private static final DataWatcherObject<VillagerData> bz = DataWatcher.a(EntityVillager.class, DataWatcherRegistry.q);
public static final Map<Item, Integer> bx = ImmutableMap.of(Items.BREAD, 4, Items.POTATO, 1, Items.CARROT, 1, Items.BEETROOT, 1);
private static final Set<Item> bA = ImmutableSet.of(Items.BREAD, Items.POTATO, Items.CARROT, Items.WHEAT, Items.WHEAT_SEEDS, Items.BEETROOT, new Item[]{Items.BEETROOT_SEEDS});
@@ -70,6 +71,15 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
brainTickOffset = getRandom().nextInt(100); // Purpur
}

View File

@@ -1,4 +1,4 @@
From 5a594c375f52e81252ca15d34e17a1fd8c37da34 Mon Sep 17 00:00:00 2001
From 3a270f96763f004d959fc1d455972c2dac4a0d6a Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Fri, 29 Nov 2019 22:37:44 -0600
Subject: [PATCH] Add charged creeper spawn chance
@@ -9,7 +9,7 @@ Subject: [PATCH] Add charged creeper spawn chance
2 files changed, 21 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
index 038ff1d93c..0c49828b3d 100644
index 9bce3f7716..be6a1ea054 100644
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
@@ -1,11 +1,16 @@
@@ -29,7 +29,7 @@ index 038ff1d93c..0c49828b3d 100644
// CraftBukkit end
public class EntityCreeper extends EntityMonster {
@@ -68,6 +73,17 @@ public class EntityCreeper extends EntityMonster {
@@ -70,6 +75,17 @@ public class EntityCreeper extends EntityMonster {
this.datawatcher.register(EntityCreeper.d, false);
}

View File

@@ -1,4 +1,4 @@
From 19dfa417405272bbab21d90f3fd0a88828ebb0c7 Mon Sep 17 00:00:00 2001
From 209df14113e37519c2a2bfc00c15e04266c9ce31 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Fri, 29 Nov 2019 23:47:42 -0600
Subject: [PATCH] Despawn egg hatches chicken
@@ -9,10 +9,10 @@ Subject: [PATCH] Despawn egg hatches chicken
2 files changed, 23 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
index df26cef6a6..4849f600a1 100644
index e61af3f5eb..b9ad1ff70e 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -164,6 +164,24 @@ public class EntityItem extends Entity {
@@ -165,6 +165,24 @@ public class EntityItem extends Entity {
}
// Spigot end
@@ -24,7 +24,7 @@ index df26cef6a6..4849f600a1 100644
+ if (item != null && item.getItem() == Items.EGG) {
+ EntityChicken chicken = EntityTypes.CHICKEN.create(world);
+ if (chicken != null) {
+ chicken.setPosition(locX, locY, locZ);
+ chicken.setPosition(locX(), locY(), locZ());
+ chicken.setAge(-24000);
+ world.addEntity(chicken, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.EGG);
+ }
@@ -34,7 +34,7 @@ index df26cef6a6..4849f600a1 100644
+ }
+ // Purpur end
+
private void v() {
private void u() {
Vec3D vec3d = this.getMot();
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java

View File

@@ -1,4 +1,4 @@
From f8ffd6150b096620260a3bae19180b547ef2f493 Mon Sep 17 00:00:00 2001
From 13e0dfab77cbabfffd3b5b83e86ffbab5f33ccb1 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sat, 30 Nov 2019 01:31:09 -0600
Subject: [PATCH] Option for hay block fall damage
@@ -9,7 +9,7 @@ Subject: [PATCH] Option for hay block fall damage
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/BlockHay.java b/src/main/java/net/minecraft/server/BlockHay.java
index e820cc0b06..e872d4666a 100644
index ca81c49f0a..ca8f957989 100644
--- a/src/main/java/net/minecraft/server/BlockHay.java
+++ b/src/main/java/net/minecraft/server/BlockHay.java
@@ -9,6 +9,6 @@ public class BlockHay extends BlockRotatable {

View File

@@ -1,4 +1,4 @@
From b3254cd0c8a19f1773a50e43315a75fdb36a4ec0 Mon Sep 17 00:00:00 2001
From 91cca1e9d85a776b1aeff360f49c93eeae35371d Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sat, 30 Nov 2019 03:30:17 -0600
Subject: [PATCH] Add sleep options
@@ -9,7 +9,7 @@ Subject: [PATCH] Add sleep options
2 files changed, 29 insertions(+), 3 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index 3610611299..26e1b8e2dc 100644
index 2ec3e660b3..9d7122632b 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -14,6 +14,11 @@ import java.util.OptionalInt;
@@ -33,7 +33,7 @@ index 3610611299..26e1b8e2dc 100644
public abstract class EntityHuman extends EntityLiving {
@@ -143,6 +147,21 @@ public abstract class EntityHuman extends EntityLiving {
this.datawatcher.register(EntityHuman.bw, new NBTTagCompound());
this.datawatcher.register(EntityHuman.bt, new NBTTagCompound());
}
+ // Purpur start
@@ -60,18 +60,18 @@ index 3610611299..26e1b8e2dc 100644
- if (!this.world.isClientSide && this.world.J()) {
+ if (!this.world.isClientSide && unableToSleepRightNow()) { // Purpur
this.wakeup(false, true, true);
this.wakeup(false, true);
}
} else if (this.sleepTicks > 0) {
@@ -1268,7 +1287,7 @@ public abstract class EntityHuman extends EntityLiving {
@@ -1334,7 +1353,7 @@ public abstract class EntityHuman extends EntityLiving {
return Either.left(EntityHuman.EnumBedResult.NOT_POSSIBLE_HERE);
}
- if (this.world.J()) {
+ if (unableToSleepRightNow()) { // Purpur
this.setRespawnPosition(blockposition, false, true);
return Either.left(EntityHuman.EnumBedResult.NOT_POSSIBLE_NOW);
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a1237c5b9d..f61ed338ce 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java

View File

@@ -1,4 +1,4 @@
From cb243d10d29ec985bc421e44127bf382b10de3e0 Mon Sep 17 00:00:00 2001
From c111fde8e661027df0bed942b8878309eabf11b2 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sat, 7 Dec 2019 14:35:43 -0600
Subject: [PATCH] Double Click Jar Check
@@ -8,7 +8,7 @@ Subject: [PATCH] Double Click Jar Check
1 file changed, 6 insertions(+)
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 31af710a07..b105416ba3 100644
index 3a4881fb18..5873ad54fa 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -20,6 +20,12 @@ public class Main {

View File

@@ -11,7 +11,7 @@ done
if [[ "$1" == up* ]]; then
(
cd "$basedir/Paper/"
git fetch && git reset --hard origin/ver/1.14
git fetch && git reset --hard origin/master
cd ../
git add Paper
)