Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@31699ae Updated Upstream (Bukkit/CraftBukkit) (#10242)
This commit is contained in:
granny
2024-02-11 21:56:58 -08:00
parent 425889dc45
commit 70a76c42bf
77 changed files with 356 additions and 375 deletions

View File

@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
version = 1.20.4-R0.1-SNAPSHOT
mcVersion = 1.20.4
paperCommit = cde5587e58f08ce2d8875bb9d13a4be56825e353
paperCommit = 31699ae9a8f3a57491e9c9276cffa5a51e9a5f60
org.gradle.caching = true
org.gradle.parallel = true

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur config files
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 9af4bc16da09e59009c47911219e99450cdf2aa5..6e0e8fef9293619f5e7fd2613cc351afed7e908a 100644
index b4f8281d3797ec825a7671f38077cd65d5a1d76e..86807781e9d80544d822c979493e16cdcedac962 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2198,6 +2198,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2214,6 +2214,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
}
// Paper end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 31aa6ef5fc2b3b88c72f5a15b8cc7a0e50c29f46..1a9c00eae76694f9b1ebbb655124b34b160997cb 100644
index 254a02ddb5dc867c9dd6c2086791f7ab94247fd3..37b1f55923d0a2aae79ebe4e5b06c7944ba5eeff 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3619,4 +3619,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3687,4 +3687,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Override
Spigot spigot();
// Spigot end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Ridables
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
index 1d0fd7ff8449f815a7d980af0b378181ea8bf8d8..566c74756c66db859a4f738a7716a61d012c6df1 100644
index 9022567f32a58b94ed030db22524876d8f1df4aa..9fedbceb7f0cd65594a7084d9743373704333ad6 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -1107,4 +1107,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
@@ -1102,4 +1102,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
*/
@NotNull String getScoreboardEntryName();
// Paper end - entity scoreboard name

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 1a9c00eae76694f9b1ebbb655124b34b160997cb..89ed5f11862012b634916aaf531475de18dacd07 100644
index 37b1f55923d0a2aae79ebe4e5b06c7944ba5eeff..9386029164f5cd1e38f0e54a42e2c1c8a8f21cf6 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3627,5 +3627,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3695,5 +3695,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @return True if Player uses Purpur Client
*/
public boolean usesPurpurClient();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Bring back server name
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 48fab492609e0bae459d20cc2eae78b87e37ab75..d910fd8a8f254c825da8a2b74a3fae402d1a5c39 100644
index ca27559cf4aa1c2e44fdca2022e213b1b1c80f4e..07632f62a75c1e43be8386786d21f16f9cad895f 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2842,4 +2842,15 @@ public final class Bukkit {
@@ -2862,4 +2862,15 @@ public final class Bukkit {
public static Server.Spigot spigot() {
return server.spigot();
}
@@ -25,10 +25,10 @@ index 48fab492609e0bae459d20cc2eae78b87e37ab75..d910fd8a8f254c825da8a2b74a3fae40
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 6e0e8fef9293619f5e7fd2613cc351afed7e908a..5a7168111af08c58f0b331dfdbf0ac1d68f6a2a6 100644
index 86807781e9d80544d822c979493e16cdcedac962..13de03608bf8ec8892754b48a1016bc0e76ea5f7 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2493,4 +2493,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2509,4 +2509,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
boolean isOwnedByCurrentRegion(@NotNull Entity entity);
// Paper end - Folia region threading API

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Lagging threshold
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index d910fd8a8f254c825da8a2b74a3fae402d1a5c39..61ac743590e85e744664d16e02ba0e7027e8dd49 100644
index 07632f62a75c1e43be8386786d21f16f9cad895f..96f63969955af4baf93aff1bae9fcb8b73a4f62b 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2852,5 +2852,14 @@ public final class Bukkit {
@@ -2872,5 +2872,14 @@ public final class Bukkit {
public static String getServerName() {
return server.getServerName();
}
@@ -24,10 +24,10 @@ index d910fd8a8f254c825da8a2b74a3fae402d1a5c39..61ac743590e85e744664d16e02ba0e70
// Purpur end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 5a7168111af08c58f0b331dfdbf0ac1d68f6a2a6..e37b5bd4cf7a3ae1d0e7ef01c4718e99392eed59 100644
index 13de03608bf8ec8892754b48a1016bc0e76ea5f7..d5e7619f222e69fe29f4ae7a3fd2df1ba6362b86 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2501,5 +2501,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2517,5 +2517,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull
String getServerName();

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
Co-authored by: Encode42 <me@encode42.dev>
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
index 8cca7e7128e2438372b5c802f76bdd14d86d874c..d3a0df7b895898578a7473c4c4b4f71694fc2bb2 100644
index 9fedbceb7f0cd65594a7084d9743373704333ad6..c646c51674f348bec6e2dee796cde5710da7bb67 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -1137,5 +1137,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
@@ -1132,5 +1132,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
* @return True if ridable in water
*/
boolean isRidableInWater();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Added the ability to add combustible items
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 61ac743590e85e744664d16e02ba0e7027e8dd49..610887890529db62887174a10e1687ea1883fafa 100644
index 96f63969955af4baf93aff1bae9fcb8b73a4f62b..3f06db1c4a5f9418790fe4d3fe6f0f41d37c89ca 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2861,5 +2861,24 @@ public final class Bukkit {
@@ -2881,5 +2881,24 @@ public final class Bukkit {
public static boolean isLagging() {
return server.isLagging();
}
@@ -34,10 +34,10 @@ index 61ac743590e85e744664d16e02ba0e7027e8dd49..610887890529db62887174a10e1687ea
// Purpur end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index e37b5bd4cf7a3ae1d0e7ef01c4718e99392eed59..c001488119c64f9ee2babce29a8ff9f86aec9bfb 100644
index d5e7619f222e69fe29f4ae7a3fd2df1ba6362b86..6f77c4a839d228ee2c84fa52961d19eea538d9cf 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2508,5 +2508,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2524,5 +2524,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @return True if lagging
*/
boolean isLagging();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add local difficulty api
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index bf4b94ea2577e9d7e344385209fc0644a4e6bfbb..8368b34d071f4f2c687e753ae52de4c03e3ac9f9 100644
index c5fe36050eeaff80cfb989fe2f38370215af6fe5..9ac1ee847e64427cb9b1b396c23b6689f7c99f9c 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -4172,6 +4172,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@@ -4213,6 +4213,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@Nullable
public DragonBattle getEnderDragonBattle();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Debug Marker API
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index ab6c060717c01ff6d6a6153c29f2f7aa4f3a0588..2bb2b9ba757d18510e3f45304cfbb56c28113ed7 100644
index 3f06db1c4a5f9418790fe4d3fe6f0f41d37c89ca..d218cd30fc0733a83e3e0ba3279eb21561b0b08e 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2880,5 +2880,89 @@ public final class Bukkit {
@@ -2900,5 +2900,89 @@ public final class Bukkit {
public static void removeFuel(@NotNull Material material) {
server.removeFuel(material);
}
@@ -99,10 +99,10 @@ index ab6c060717c01ff6d6a6153c29f2f7aa4f3a0588..2bb2b9ba757d18510e3f45304cfbb56c
// Purpur end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index c001488119c64f9ee2babce29a8ff9f86aec9bfb..529fb1beadefc79ce6bf5755d5223301b9933152 100644
index 6f77c4a839d228ee2c84fa52961d19eea538d9cf..be0e4c789a02d67160287c39cf6bdf8ef2229afc 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2523,5 +2523,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -2539,5 +2539,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @param material The material that will no longer be a fuel
*/
public void removeFuel(@NotNull Material material);
@@ -179,10 +179,10 @@ index c001488119c64f9ee2babce29a8ff9f86aec9bfb..529fb1beadefc79ce6bf5755d5223301
// Purpur end
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 87ab8d4d5f6311c88572fa9a5536aca991e2e86b..3d4481ea5328735357a7c60c99e5b3a073e7aa0f 100644
index 9ac1ee847e64427cb9b1b396c23b6689f7c99f9c..565ce4b0c5eb300953aaefa786b9f8938c771f2a 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -4180,6 +4180,76 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
@@ -4221,6 +4221,76 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
* @return The local difficulty
*/
public float getLocalDifficultyAt(@NotNull Location location);
@@ -260,10 +260,10 @@ index 87ab8d4d5f6311c88572fa9a5536aca991e2e86b..3d4481ea5328735357a7c60c99e5b3a0
/**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 89ed5f11862012b634916aaf531475de18dacd07..6ead75818a5dea24e47fda0795e8845d591fb817 100644
index 9386029164f5cd1e38f0e54a42e2c1c8a8f21cf6..fed6d78e1d30a551db021dbe8c5e6d70eced681a 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3647,5 +3647,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3715,5 +3715,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @deprecated Use {@link #resetIdleDuration()} instead
*/
void resetIdleTimer();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 6ead75818a5dea24e47fda0795e8845d591fb817..f161411b29dc11eb7f6a47899128401af8bec5a1 100644
index fed6d78e1d30a551db021dbe8c5e6d70eced681a..6dc63bfe85d83a7cff369f06c57ebe0aa04c63a3 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3717,5 +3717,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3785,5 +3785,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Clears all debug block highlights
*/
void clearBlockHighlights();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fire Immunity API
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
index c20f29e1ddfd1d73df19f6d6f730fa23dc23dc7a..42b8de355855baecd0a435314909116c210d002d 100644
index c646c51674f348bec6e2dee796cde5710da7bb67..f842fd5505f1e52b81299da179ed26780a1a1a13 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -1144,5 +1144,18 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
@@ -1139,5 +1139,18 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
* @return True if in daylight
*/
boolean isInDaylight();

View File

@@ -1539,7 +1539,7 @@ index d06185566b447c432d4dc2e3ba04d121bcdbc71b..d1c21d36de331905aedb08b0a8d4fbf9
}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 2ecf79086e9e8069f43120e9146e98962a75eca8..f0e2a8641f65657a9f2c4c9a2ce7ef05b1fcf26e 100644
index 68d268b6fff126e8645b6deec3fb549ea2286b77..435b129c433704c24828d8fb57e14333c9423207 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -221,6 +221,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -1794,7 +1794,7 @@ index 6934e9dac0d69c043b73b7c46d59f2d39b37c67f..dbe612427b894df9da1335b94163ba9b
if (this.isRainingAt(blockposition)) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index a7e40f72a3b56916620a7f089410ec3a6db0cffc..e54816e2a5145b1ef1ca72b470498b419a659f48 100644
index 6d943b5c38932de5fc3abb28618bf518c36edb47..9b7ee7a5a3c52a931e9db1c84f9941c5d9619d49 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1139,6 +1139,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1918,7 +1918,7 @@ index d6cbe98e67fdbf8db46338a88ab1356dd63b50a3..20dd3a63b2f955b05a75eb240e33ae4c
int LARGE_MAX_STACK_SIZE = 64;
int DEFAULT_DISTANCE_LIMIT = 8;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 9ee1e3da1cb16291ff3e37829e25227a6b97a177..e987a9142b577ebe3fabcda87df8bc066e859122 100644
index 906eded9a2ab61737a30cfe89292a71237ce4eb7..0f2af6968f6bb47f5ef7e3f63cbfdc2f6df53999 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -308,7 +308,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -1953,7 +1953,7 @@ index 9ee1e3da1cb16291ff3e37829e25227a6b97a177..e987a9142b577ebe3fabcda87df8bc06
this.baseTick();
}
@@ -4402,16 +4411,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -4405,16 +4414,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
@@ -1979,7 +1979,7 @@ index 9ee1e3da1cb16291ff3e37829e25227a6b97a177..e987a9142b577ebe3fabcda87df8bc06
double d1 = 0.0D;
boolean flag = this.isPushedByFluid();
boolean flag1 = false;
@@ -4419,14 +4430,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -4422,14 +4433,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
int k1 = 0;
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
@@ -2047,7 +2047,7 @@ index 9ee1e3da1cb16291ff3e37829e25227a6b97a177..e987a9142b577ebe3fabcda87df8bc06
if (d2 >= axisalignedbb.minY) {
flag1 = true;
@@ -4448,9 +4506,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -4451,9 +4509,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
// CraftBukkit end
}
}
@@ -2074,10 +2074,10 @@ index 09e8445a3f8c6b3ebc852a75a9a25b41a51ba659..dc11683ee4d8a6b7a1c42bcae36dc6e8
private String descriptionId;
@Nullable
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 6523795e715e5d472739e9bc6433143115c3de8f..317ff325f0a30d9ed83d3049cf96c53838c050ee 100644
index 902c0e7f2a167845f46adef4578bc71ca8cabfe8..a66dc9c1fcaa0e89e00c78f2cd2fd6bf537a790b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -141,7 +141,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
@@ -142,7 +142,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
import org.bukkit.event.player.PlayerItemConsumeEvent;
// CraftBukkit end
@@ -2085,7 +2085,7 @@ index 6523795e715e5d472739e9bc6433143115c3de8f..317ff325f0a30d9ed83d3049cf96c538
public abstract class LivingEntity extends Entity implements Attackable {
@@ -412,7 +411,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -413,7 +412,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
boolean flag = this instanceof net.minecraft.world.entity.player.Player;
if (!this.level().isClientSide) {
@@ -2094,7 +2094,7 @@ index 6523795e715e5d472739e9bc6433143115c3de8f..317ff325f0a30d9ed83d3049cf96c538
this.hurt(this.damageSources().inWall(), 1.0F);
} else if (flag && !this.level().getWorldBorder().isWithinBounds(this.getBoundingBox())) {
double d0 = this.level().getWorldBorder().getDistanceToBorder(this) + this.level().getWorldBorder().getDamageSafeZone();
@@ -1409,6 +1408,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1410,6 +1409,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
return this.getHealth() <= 0.0F;
}
@@ -2114,7 +2114,7 @@ index 6523795e715e5d472739e9bc6433143115c3de8f..317ff325f0a30d9ed83d3049cf96c538
@Override
public boolean hurt(DamageSource source, float amount) {
if (this.isInvulnerableTo(source)) {
@@ -2003,6 +2015,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -2016,6 +2028,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
return this.lastClimbablePos;
}
@@ -2136,7 +2136,7 @@ index 6523795e715e5d472739e9bc6433143115c3de8f..317ff325f0a30d9ed83d3049cf96c538
if (this.isSpectator()) {
return false;
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 209090870e1a4aa2f59cfa2e29419dbcc9665635..195c86a52b1757c7aadf45babc52bfef58de1dc3 100644
index fa0b78139fecc0245e168ebeb4172ea2531a3fec..4be5ae6bfc7bbb8c928e13208dfcd7f455c56cfe 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -221,14 +221,16 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -3271,10 +3271,10 @@ index ebe65474a4a05ff1637d7f37ebcfe690af59def5..42142c512b12e5b269c19f1e821c50e7
@Nullable
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 14d3986ae6ec721f07dc82b37d62d3bea484ad15..694995883b68bbea05e0a31b9aac413353721657 100644
index 9f7ed337463cc9bb370a5541d9de5cd8f9c1a78a..9f5a6398a7dca841570a895054cee969dc96bca4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -264,7 +264,7 @@ import javax.annotation.Nullable; // Paper
@@ -266,7 +266,7 @@ import javax.annotation.Nullable; // Paper
import javax.annotation.Nonnull; // Paper
public final class CraftServer implements Server {
@@ -3283,7 +3283,7 @@ index 14d3986ae6ec721f07dc82b37d62d3bea484ad15..694995883b68bbea05e0a31b9aac4133
private final String serverVersion;
private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft");
@@ -1125,6 +1125,11 @@ public final class CraftServer implements Server {
@@ -1137,6 +1137,11 @@ public final class CraftServer implements Server {
plugin.getPluginMeta().getDisplayName(),
"This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies."
));
@@ -3308,10 +3308,10 @@ index 96d772eb02f79f8c478f5e6f065e387aa7665b18..c5ce412f321b8b4f31cc042893659e21
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 8036ed91714d638eb2a8e8c2bea4bf62bc18cb57..604c7a270349b440c87b92ab51e5aab5cdde15e2 100644
index 1324f05de8106032ce290e928cf106fb4f450517..0493e0cf3fac2d4e065118f60f1d7b19751b467f 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -482,7 +482,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -497,7 +497,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@Override
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {

View File

@@ -199,10 +199,10 @@ index d1c21d36de331905aedb08b0a8d4fbf97e100a13..a6d3f90f7867cfbda0ef406ff3ce1bd8
public SystemReport fillSystemReport(SystemReport details) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 694995883b68bbea05e0a31b9aac413353721657..863c19db0ee0bdc96fa20943257fb19d32cde3fc 100644
index 9f5a6398a7dca841570a895054cee969dc96bca4..357d7b8ca85ec3ed1fc53b230ae574d9f7c8cddf 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -264,7 +264,7 @@ import javax.annotation.Nullable; // Paper
@@ -266,7 +266,7 @@ import javax.annotation.Nullable; // Paper
import javax.annotation.Nonnull; // Paper
public final class CraftServer implements Server {
@@ -239,10 +239,10 @@ index 4e56018b64d11f76c8da43fd8f85c6de72204e36..9607675e6c5bff2183c4420d11fc63ee
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index b057d4d4226e1b6f2db92f81f4efb69ce207f829..4a838de77a88d868266da286952990d898b95ee7 100644
index f1e4dfd203d455ec089cd2b5679c4083400dbc7f..6f9cb8f328f47d6f3eb3142d701d80ceb51af926 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -940,7 +940,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@@ -953,7 +953,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
return EntityCategory.WATER;
}
@@ -265,10 +265,10 @@ index e85b9bb3f9c225d289a4959921970b9963881199..c1e2d3a75b9d4710ab6d8b5c62af4bc1
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 604c7a270349b440c87b92ab51e5aab5cdde15e2..570f33eeb8cfd61db843c9915a832c4e59372978 100644
index 0493e0cf3fac2d4e065118f60f1d7b19751b467f..d5f642e4b1c1ede7e9d2dea072aa5f22c73b5c23 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -482,7 +482,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -497,7 +497,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@Override
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {

View File

@@ -72,7 +72,7 @@ index f341813e9713e39bfe142ca34b751de3d8efd25b..b0d96ae08959cdca9177eb875faa99f4
boolean flag1 = this.source.acceptsSuccess() && !this.silent;
boolean flag2 = broadcastToOps && this.source.shouldInformAdmins() && !this.silent;
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index c5f92c80d7ca1e1c7f5b9304a5a1173ebfd9c269..1fbfe61b3d7fc372f044d2e9f3500d6665209973 100644
index 435b129c433704c24828d8fb57e14333c9423207..aa47b0af34cff5eaa638d6c24c718d02a0a266cf 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -219,6 +219,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -112,10 +112,10 @@ index d6a08f06812bc15813559eb8ff66eddf7cf22888..bce8df10ac9dfb7a9bba76fc05357c8b
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 863c19db0ee0bdc96fa20943257fb19d32cde3fc..c0460e51363649d8f635e4c34a76062f69baaa08 100644
index 357d7b8ca85ec3ed1fc53b230ae574d9f7c8cddf..460e21d0bcead970eda3e49dadc9e77c0bdf98bf 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1042,6 +1042,7 @@ public final class CraftServer implements Server {
@@ -1054,6 +1054,7 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot
this.console.paperConfigurations.reloadConfigs(this.console);
@@ -123,7 +123,7 @@ index 863c19db0ee0bdc96fa20943257fb19d32cde3fc..c0460e51363649d8f635e4c34a76062f
for (ServerLevel world : this.console.getAllLevels()) {
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
@@ -1057,6 +1058,7 @@ public final class CraftServer implements Server {
@@ -1069,6 +1070,7 @@ public final class CraftServer implements Server {
}
}
world.spigotConfig.init(); // Spigot
@@ -131,7 +131,7 @@ index 863c19db0ee0bdc96fa20943257fb19d32cde3fc..c0460e51363649d8f635e4c34a76062f
}
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
@@ -1072,6 +1074,7 @@ public final class CraftServer implements Server {
@@ -1084,6 +1086,7 @@ public final class CraftServer implements Server {
this.reloadData();
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper
@@ -139,7 +139,7 @@ index 863c19db0ee0bdc96fa20943257fb19d32cde3fc..c0460e51363649d8f635e4c34a76062f
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -3006,6 +3009,18 @@ public final class CraftServer implements Server {
@@ -3018,6 +3021,18 @@ public final class CraftServer implements Server {
return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Purpur client support
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 0dba30c41affafe7b1d585b515925043b37712fa..3d78fbb7cef37c3d108ef9da1b76ffa13aa2f6fd 100644
index 58591bf2f63b9c5e97d9ce4188dff3366968a178..1d91ce01e7ce806a5b2e937ff855ebf159534f29 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -281,6 +281,7 @@ public class ServerPlayer extends Player {
@@ -43,10 +43,10 @@ index 0306771b8f90dcdd77f151c19c6c2d75c41f8feb..34559eae0ea3f88d7b9a3c9e4a2350c4
try {
String channels = payload.toString(com.google.common.base.Charsets.UTF_8);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 39b25c2478eadd373383a3445a7f27ea30d18550..f78667d0bc7c6f481c5d8fef6f98a0b53e86b9c7 100644
index 206520f6f20b2e48b1eefdd4edb26510b88e4c92..ab96c92d3d995a64ea9fd1c3996da35148195c48 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3376,4 +3376,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3427,4 +3427,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void setSendViewDistance(final int viewDistance) {
this.getHandle().setSendViewDistance(viewDistance);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Component related conveniences
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 3d78fbb7cef37c3d108ef9da1b76ffa13aa2f6fd..6c3e5ad96ff1c33181663d89c3c227e1a96e4912 100644
index 1d91ce01e7ce806a5b2e937ff855ebf159534f29..d39a3359249e2a312da0645d5abb625d98fe4034 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1884,6 +1884,26 @@ public class ServerPlayer extends Player {
@@ -36,7 +36,7 @@ index 3d78fbb7cef37c3d108ef9da1b76ffa13aa2f6fd..6c3e5ad96ff1c33181663d89c3c227e1
public void displayClientMessage(Component message, boolean overlay) {
this.sendSystemMessage(message, overlay);
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index e0ee45036b9bf14a6e2013fe291cde0402b85b1f..5eedc109e84a8e059ccacf43fc2a8d8475ee3543 100644
index 91feb12732564c90656da487664dbc12e55397fc..a2e76fb8431cd4dc0cbf94245086c939625fb0da 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1063,6 +1063,20 @@ public abstract class PlayerList {
@@ -61,10 +61,10 @@ index e0ee45036b9bf14a6e2013fe291cde0402b85b1f..5eedc109e84a8e059ccacf43fc2a8d84
Iterator iterator = this.players.iterator();
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
index fc6903b20a6e084729306fc960a6fc80e094f76c..dad8d358e60902eb186cbc5686219f66d3babf89 100644
index fe9b45bfc3d000956f6de5594bf5732fa0e6bb08..6f1b9cd34a714c02e9800ff2972aa24ad4080842 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
@@ -126,6 +126,15 @@ public class DamageSource {
@@ -169,6 +169,15 @@ public class DamageSource {
}
}
@@ -81,10 +81,10 @@ index fc6903b20a6e084729306fc960a6fc80e094f76c..dad8d358e60902eb186cbc5686219f66
return this.type().msgId();
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 1d9331fe9ce7308eda2e7da2ae726810d455f090..2323f36e011b375204fc792a7091c85c801344d0 100644
index 0f2af6968f6bb47f5ef7e3f63cbfdc2f6df53999..169d5e539b1474a3e400b53e21f867e5fb175182 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4133,6 +4133,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -4136,6 +4136,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return SlotAccess.NULL;
}

View File

@@ -66,7 +66,7 @@ index d39a3359249e2a312da0645d5abb625d98fe4034..44409eed0b603a1e8203a35ff0263d36
public void doTick() {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index e54816e2a5145b1ef1ca72b470498b419a659f48..dd233d0eb9a073dd3f40401b2d0212df613ed319 100644
index 9b7ee7a5a3c52a931e9db1c84f9941c5d9619d49..671757b90c21d2c7e9eeb24340e6b820e3d1a99e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2722,6 +2722,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -79,7 +79,7 @@ index e54816e2a5145b1ef1ca72b470498b419a659f48..dd233d0eb9a073dd3f40401b2d0212df
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 5e68978874a30c4e7bb90dfabdcc2aacf4987841..b4bcfd6ebb94ae5f497b8f92e88fa3be9e1207f2 100644
index 169d5e539b1474a3e400b53e21f867e5fb175182..46e3d7a949d79d9168e0a976be09be5a178bea15 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -378,7 +378,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -91,7 +91,7 @@ index 5e68978874a30c4e7bb90dfabdcc2aacf4987841..b4bcfd6ebb94ae5f497b8f92e88fa3be
private float eyeHeight;
public boolean isInPowderSnow;
public boolean wasInPowderSnow;
@@ -3007,6 +3007,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -3011,6 +3011,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.passengers = ImmutableList.copyOf(list);
}
@@ -105,7 +105,7 @@ index 5e68978874a30c4e7bb90dfabdcc2aacf4987841..b4bcfd6ebb94ae5f497b8f92e88fa3be
this.gameEvent(GameEvent.ENTITY_MOUNT, passenger);
}
}
@@ -3046,6 +3053,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -3050,6 +3057,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return false;
}
// CraftBukkit end
@@ -120,7 +120,7 @@ index 5e68978874a30c4e7bb90dfabdcc2aacf4987841..b4bcfd6ebb94ae5f497b8f92e88fa3be
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
this.passengers = ImmutableList.of();
} else {
@@ -4984,4 +4999,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -4987,4 +5002,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
}
// Paper end - Expose entity id counter
@@ -190,10 +190,10 @@ index 1bb8b6e91c44cd13411d96d749fa64835c75a267..75c278b67ad2b78766efd8f89c4c2ca7
protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 317ff325f0a30d9ed83d3049cf96c53838c050ee..2a3fa4cf65ba2c79de34256ae29a35b5903c7c37 100644
index a66dc9c1fcaa0e89e00c78f2cd2fd6bf537a790b..dfc7b015da2a553122f98677c12636a84ce90a1f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -216,9 +216,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -217,9 +217,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
protected int deathScore;
public float lastHurt;
public boolean jumping;
@@ -206,7 +206,7 @@ index 317ff325f0a30d9ed83d3049cf96c53838c050ee..2a3fa4cf65ba2c79de34256ae29a35b5
protected int lerpSteps;
protected double lerpX;
protected double lerpY;
@@ -284,7 +284,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -285,7 +285,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.effectsDirty = true;
this.useItem = ItemStack.EMPTY;
this.lastClimbablePos = Optional.empty();
@@ -215,7 +215,7 @@ index 317ff325f0a30d9ed83d3049cf96c53838c050ee..2a3fa4cf65ba2c79de34256ae29a35b5
this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit
// CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor
this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue());
@@ -335,6 +335,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -336,6 +336,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public static AttributeSupplier.Builder createLivingAttributes() {
return AttributeSupplier.builder().add(Attributes.MAX_HEALTH).add(Attributes.KNOCKBACK_RESISTANCE).add(Attributes.MOVEMENT_SPEED).add(Attributes.ARMOR).add(Attributes.ARMOR_TOUGHNESS).add(Attributes.MAX_ABSORPTION);
}
@@ -223,7 +223,7 @@ index 317ff325f0a30d9ed83d3049cf96c53838c050ee..2a3fa4cf65ba2c79de34256ae29a35b5
@Override
protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) {
@@ -2729,7 +2730,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -2742,7 +2743,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
protected long lastJumpTime = 0L; // Paper - Prevent excessive velocity through repeated crits
@@ -232,7 +232,7 @@ index 317ff325f0a30d9ed83d3049cf96c53838c050ee..2a3fa4cf65ba2c79de34256ae29a35b5
Vec3 vec3d = this.getDeltaMovement();
// Paper start - Prevent excessive velocity through repeated crits
long time = System.nanoTime();
@@ -3507,8 +3508,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3520,8 +3521,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.pushEntities();
this.level().getProfiler().pop();
// Paper start - Add EntityMoveEvent
@@ -245,7 +245,7 @@ index 317ff325f0a30d9ed83d3049cf96c53838c050ee..2a3fa4cf65ba2c79de34256ae29a35b5
Location from = new Location(this.level().getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO);
Location to = new Location(this.level().getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
@@ -3518,6 +3521,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3531,6 +3534,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
}
}
@@ -268,7 +268,7 @@ index 317ff325f0a30d9ed83d3049cf96c53838c050ee..2a3fa4cf65ba2c79de34256ae29a35b5
// Paper end - Add EntityMoveEvent
if (!this.level().isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 195c86a52b1757c7aadf45babc52bfef58de1dc3..155e2c928edb63e15c36dd831051c08a8cf2a3fc 100644
index 4be5ae6bfc7bbb8c928e13208dfcd7f455c56cfe..1a31090435898c9ffc1a4e124d2d6c9130a77015 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -148,8 +148,8 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -1251,7 +1251,7 @@ index 6cfe0d6c46caa122db107c607d27a2bdcd82f7a8..cb05267fb287b9de9d1829e90d9bb9c9
float f1 = 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F;
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
index 7a82ba6e29fde33841c049e8520300aa66608f34..214e9b119e2a5b1039840c5d3f6d57e0aedd60ef 100644
index e1f174ff0f791b20be7d6ad8e4a172d1e0c81e33..2f1385cbd88e7085ee5f39f8b5c371c9f0206c23 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -63,6 +63,23 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
@@ -1850,7 +1850,7 @@ index 1d80678f7e8f658e43616f0baf723f096a99122a..ffcb68cd299370d5a17ed92ba3814c8a
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
this.goalSelector.addGoal(3, new TemptGoal(this, 1.1D, Ingredient.of(Items.WHEAT), false));
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
index b5d6857eaf2bed14adcb5f5e80d91b44eb8b0dcc..bc57978d89db43e97a38ea56c3541e8f6318c2d2 100644
index 9eab1170cb123d3b60a02314702516704f959ab7..c48ceed671e1804756d8a11208e5f7e5094a4bb1 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -54,12 +54,31 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@@ -2010,7 +2010,7 @@ index b05b560b7570e97bc234b75f26233909fcf575b3..71234b258157579d3a47064e7e299bb7
return "entity.minecraft.tropical_fish.predefined." + variant;
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index d595f1590619b24d460fc2c10a5412844f62cba0..55566dd9d6fa032f3436247be039d6ed3d8a1fee 100644
index dbdb6c432448b151fa4421f14235f8bad23dc720..4707f0d1c78d6080201c313717ef912d4805873d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -86,6 +86,23 @@ public class Turtle extends Animal {
@@ -2045,7 +2045,7 @@ index d595f1590619b24d460fc2c10a5412844f62cba0..55566dd9d6fa032f3436247be039d6ed
this.goalSelector.addGoal(0, new Turtle.TurtlePanicGoal(this, 1.2D));
this.goalSelector.addGoal(1, new Turtle.TurtleBreedGoal(this, 1.0D));
this.goalSelector.addGoal(1, new Turtle.TurtleLayEggGoal(this, 1.0D));
@@ -346,13 +364,15 @@ public class Turtle extends Animal {
@@ -344,13 +362,15 @@ public class Turtle extends Animal {
return new Vector3f(0.0F, dimensions.height + (this.isBaby() ? 0.0F : 0.15625F) * scaleFactor, -0.25F * scaleFactor);
}
@@ -2062,7 +2062,7 @@ index d595f1590619b24d460fc2c10a5412844f62cba0..55566dd9d6fa032f3436247be039d6ed
}
private void updateSpeed() {
@@ -372,7 +392,7 @@ public class Turtle extends Animal {
@@ -370,7 +390,7 @@ public class Turtle extends Animal {
}
@Override
@@ -2071,7 +2071,7 @@ index d595f1590619b24d460fc2c10a5412844f62cba0..55566dd9d6fa032f3436247be039d6ed
this.updateSpeed();
if (this.operation == MoveControl.Operation.MOVE_TO && !this.turtle.getNavigation().isDone()) {
double d0 = this.wantedX - this.turtle.getX();
@@ -388,7 +408,7 @@ public class Turtle extends Animal {
@@ -386,7 +406,7 @@ public class Turtle extends Animal {
this.turtle.setYRot(this.rotlerp(this.turtle.getYRot(), f, 90.0F));
this.turtle.yBodyRot = this.turtle.getYRot();
@@ -2265,7 +2265,7 @@ index 33c160994f70f71446d665e7487913437c9f9db4..a1bc178165f3481c2b4e399f0284f448
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
index f693d4d6a6a3c3d31c2d85ceb5b5b01366c970a1..a1a382a4cc96ff1156bbd8cbc8298e4ae6540990 100644
index 1f09d47b0ffb07b49b4d8bd79a371dd61f1c2a92..fee24a7b0fa7797279ca68ff26fbe6bb183ca3a1 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -86,6 +86,13 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl
@@ -5114,10 +5114,10 @@ index 1c89f20debfad9807c90a21cc336d5790294ebce..3782209c6d3408393e91ffe64976a15c
this.setTradingPlayer(player);
this.openTradingScreen(player, this.getDisplayName(), 1);
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index df8d6f3eb675354ce0d180fc56886ce12788d6ae..3549f83b37f5b895381ead73fc59e96ed79f042c 100644
index 5ca1f834f311a87323ced2578535e66efa14e47f..835e4451b075d00de53f99a796b91010fbae29b2 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -192,6 +192,19 @@ public abstract class Player extends LivingEntity {
@@ -193,6 +193,19 @@ public abstract class Player extends LivingEntity {
}
// CraftBukkit end
@@ -5204,7 +5204,7 @@ index 8698104e3eb98e2cc5da5de87a8f538860c1d91d..39ae3335866669be54f31ee6cd10d41b
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index fd2ed472ea3722d642484ae91f63ae72c99cf2cd..846887b454dd85fd0d91bb454be12f8282f76689 100644
index 347bd2482c89e06716121bd7d05941203bab2a8b..aa89fcab22c7ad0c9425f5ae65cc2c6b150579cc 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -591,6 +591,15 @@ public class CraftEventFactory {
@@ -5223,29 +5223,13 @@ index fd2ed472ea3722d642484ae91f63ae72c99cf2cd..846887b454dd85fd0d91bb454be12f82
return event;
}
@@ -1096,6 +1105,7 @@ public class CraftEventFactory {
damageCause = DamageCause.ENTITY_EXPLOSION;
}
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions, source.isCritical()); // Paper - add critical damage API
+ damager.processClick(InteractionHand.MAIN_HAND); // Purpur
}
event.setCancelled(cancelled);
@@ -1210,6 +1220,7 @@ public class CraftEventFactory {
} else {
entity.lastDamageCancelled = true; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled
}
+ damager.getHandle().processClick(InteractionHand.MAIN_HAND); // Purpur
return event;
}
@@ -1273,6 +1284,7 @@ public class CraftEventFactory {
@@ -1182,6 +1191,7 @@ public class CraftEventFactory {
EntityDamageEvent event;
if (damager != null) {
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions, critical); // Paper - add critical damage API
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions, critical);
+ damager.processClick(InteractionHand.MAIN_HAND); // Purpur
} else {
event = new EntityDamageEvent(damagee.getBukkitEntity(), cause, modifiers, modifierFunctions);
event = new EntityDamageEvent(damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index be3b733d7a641a7651ace1b3bd5ac56f26db5947..463af65182c0894a75a138df8100f3f616143f4c 100644

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index b4bcfd6ebb94ae5f497b8f92e88fa3be9e1207f2..88700c88c5487224f9d4a2ba1648a70860b173a3 100644
index 46e3d7a949d79d9168e0a976be09be5a178bea15..9a025cb4b760090fe506d7c398d5c86fb3ac13ca 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -159,7 +159,7 @@ import org.bukkit.plugin.PluginManager;
@@ -34,10 +34,10 @@ index 75c278b67ad2b78766efd8f89c4c2ca7eb7cdcb2..dc99e7f0e6f173c1313c0d5e9ea5dd6b
protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 2a3fa4cf65ba2c79de34256ae29a35b5903c7c37..cc8553b95fd2c3b68f952b54e96de048ae8f07c1 100644
index dfc7b015da2a553122f98677c12636a84ce90a1f..e907240898d30084acd7b048c44fc85d4c2435df 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -285,6 +285,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -286,6 +286,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.useItem = ItemStack.EMPTY;
this.lastClimbablePos = Optional.empty();
this.attributes = new AttributeMap(DefaultAttributes.getSupplier(type), this); // Purpur
@@ -45,7 +45,7 @@ index 2a3fa4cf65ba2c79de34256ae29a35b5903c7c37..cc8553b95fd2c3b68f952b54e96de048
this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit
// CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor
this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue());
@@ -300,6 +301,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -301,6 +302,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.brain = this.makeBrain(new Dynamic(dynamicopsnbt, (Tag) dynamicopsnbt.createMap((Map) ImmutableMap.of(dynamicopsnbt.createString("memories"), (Tag) dynamicopsnbt.emptyMap()))));
}
@@ -174,7 +174,7 @@ index 2412cdb1bdaf7a558ad7235fca7ea5c74eeaad3f..f3a145be1970dd1e78e04b2ea0d77c63
@Override
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 9133fc6cf8ecc5670b5c3745c882430308e7c184..450a0b91fdeef9a868063c9501aa531ce3f8b3b7 100644
index 142e45f4b5f2eb90b980f5085abe104505fa7dab..310f7b5ad4d1441c186045c296aded01610c1b4a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -182,6 +182,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
@@ -206,7 +206,7 @@ index cb05267fb287b9de9d1829e90d9bb9c9f4aac9f7..46e28d807a72b6d302d29d65c52ab081
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
index 214e9b119e2a5b1039840c5d3f6d57e0aedd60ef..93a8091c31eaf78e53c83f3591163b1146a352e2 100644
index 2f1385cbd88e7085ee5f39f8b5c371c9f0206c23..d6fbb914ad2434e4431f3aa6bfab07b8b8eb0da4 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -80,6 +80,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
@@ -379,7 +379,7 @@ index ffcb68cd299370d5a17ed92ba3814c8afe613cf9..1d69558cccc6add5f02f1ff070c985bd
protected void registerGoals() {
this.eatBlockGoal = new EatBlockGoal(this);
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
index bc57978d89db43e97a38ea56c3541e8f6318c2d2..0c128449fbe51aa7e437568ba4bc857c1175df2b 100644
index c48ceed671e1804756d8a11208e5f7e5094a4bb1..35392365838bd412255777d1a53bc058eb13ff73 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -71,6 +71,11 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@@ -427,7 +427,7 @@ index 71234b258157579d3a47064e7e299bb7fb90908f..7d02e552a27632939bb9c40a62f4e0df
return "entity.minecraft.tropical_fish.predefined." + variant;
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index 55566dd9d6fa032f3436247be039d6ed3d8a1fee..3fcc57ed165203a36b35e121c2c0cc88ba5f73b8 100644
index 4707f0d1c78d6080201c313717ef912d4805873d..511de848cb9cfed304fa59cb38205db4b71dd8eb 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -103,6 +103,11 @@ public class Turtle extends Animal {
@@ -475,7 +475,7 @@ index a1bc178165f3481c2b4e399f0284f4482ba246c1..48b0df2acccd0d406ba05aaeb6dfbfde
public Map<String, Vector3f> getModelRotationValues() {
return this.modelRotationValues;
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
index a1a382a4cc96ff1156bbd8cbc8298e4ae6540990..aace7991c198ccfe1338625e7b64b88921cefe0c 100644
index fee24a7b0fa7797279ca68ff26fbe6bb183ca3a1..2ffa81c374bd4dc618b8e284317d13f6a070dc52 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -320,6 +320,23 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Barrels and enderchests 6 rows
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 5eedc109e84a8e059ccacf43fc2a8d8475ee3543..2b65d30a143fdc2af635125901f2aba8fdc8c4a7 100644
index a2e76fb8431cd4dc0cbf94245086c939625fb0da..a2715cc02f3a8a12aa8538fb7b52e5da03f1278c 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1188,6 +1188,27 @@ public abstract class PlayerList {
@@ -37,10 +37,10 @@ index 5eedc109e84a8e059ccacf43fc2a8d8475ee3543..2b65d30a143fdc2af635125901f2aba8
public boolean isWhiteListed(GameProfile profile) {
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 16e90cc84433a0cdabcf3fec8d9734d074b73c71..9d3e681faa5639b540e8c9b68dc9098ace3ecf03 100644
index 835e4451b075d00de53f99a796b91010fbae29b2..0c06194b9a182447459815d88a8dcb96b7b4b896 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -181,6 +181,7 @@ public abstract class Player extends LivingEntity {
@@ -182,6 +182,7 @@ public abstract class Player extends LivingEntity {
public float hurtDir; // Paper - protected -> public
public boolean affectsSpawning = true; // Paper - Affects Spawning API
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] AFK API
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 62fd29f19b93f07a87377f26d9e5b169b9d80f4f..e4f36920d54688b515b86ada943765d460361889 100644
index 44409eed0b603a1e8203a35ff0263d360d81be32..cdb3cf1b9a809e3936164dbbcf9ccdfc21b9906c 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2234,8 +2234,68 @@ public class ServerPlayer extends Player {
@@ -78,7 +78,7 @@ index 62fd29f19b93f07a87377f26d9e5b169b9d80f4f..e4f36920d54688b515b86ada943765d4
return this.stats;
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index dd233d0eb9a073dd3f40401b2d0212df613ed319..5323fa77e8b4e489286a61c50fbaa4f8088f9988 100644
index 671757b90c21d2c7e9eeb24340e6b820e3d1a99e..cf2c47ad32539865c94dc768c9fe592086b85a4e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -324,6 +324,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -192,10 +192,10 @@ index 931cbbe41905d7ed3fd46c53d3ddd06a6b9a7c8a..d8642979b7296737d08529f6db4f64e4
if (baseEntity == null) {
if (this.isCombat && (!targetEntity.canBeSeenAsEnemy() || targetEntity.level().getDifficulty() == Difficulty.PEACEFUL)) {
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index dc502d0b247f56e4a2df8500d66695e20ef55998..62f47598dfb32dbe811f448c10196896c65fb9d6 100644
index 0c06194b9a182447459815d88a8dcb96b7b4b896..e1e5837c6f90c811f63053bbca80c512229cd727 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -187,6 +187,13 @@ public abstract class Player extends LivingEntity {
@@ -188,6 +188,13 @@ public abstract class Player extends LivingEntity {
public boolean fauxSleeping;
public int oldLevel = -1;
@@ -223,10 +223,10 @@ index ed84c87a3f76bc0254c1abb189e6b8b808823465..5bc68b1ef33f297e9a4b1bdd7d69f86a
if (range < 0.0D || d < range * range) {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index f78667d0bc7c6f481c5d8fef6f98a0b53e86b9c7..4559705de05190e6c665e6894d3f753e8034dd2c 100644
index ab96c92d3d995a64ea9fd1c3996da35148195c48..008da41d0fa6d80dc731e4eeb9aa4d4cb4b1873e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -482,10 +482,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -488,10 +488,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setPlayerListName(String name) {
@@ -243,7 +243,7 @@ index f78667d0bc7c6f481c5d8fef6f98a0b53e86b9c7..4559705de05190e6c665e6894d3f753e
for (ServerPlayer player : (List<ServerPlayer>) this.server.getHandle().players) {
if (player.getBukkitEntity().canSee(this)) {
player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle()));
@@ -3382,5 +3387,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3433,5 +3438,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean usesPurpurClient() {
return getHandle().purpurClient;
}

View File

@@ -17,10 +17,10 @@ index bab2471616404821671264ccefd729cab8d0bf58..ae75edfaa9e4c72f11fbb7ffc66294be
public final boolean spawnNpcs = this.get("spawn-npcs", true);
public final boolean pvp = this.get("pvp", true);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index c0460e51363649d8f635e4c34a76062f69baaa08..b0b8c77473d1e81c753cc657c90d8fbdbdda9570 100644
index 460e21d0bcead970eda3e49dadc9e77c0bdf98bf..8a9af4a0d5c59361ffcf0ed572a1f1ee141d1780 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3252,4 +3252,11 @@ public final class CraftServer implements Server {
@@ -3264,4 +3264,11 @@ public final class CraftServer implements Server {
}
// Paper end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity safeFallDistance
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index cc8553b95fd2c3b68f952b54e96de048ae8f07c1..fe4b5878a0d9dffb8602f01344fb4c828ee71fe0 100644
index e907240898d30084acd7b048c44fc85d4c2435df..a9d54deefa076a03bd142983261f997270a49e1e 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -251,6 +251,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -252,6 +252,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
protected boolean skipDropExperience;
// CraftBukkit start
public int expToDrop;
@@ -16,7 +16,7 @@ index cc8553b95fd2c3b68f952b54e96de048ae8f07c1..fe4b5878a0d9dffb8602f01344fb4c82
public boolean forceDrops;
public ArrayList<DefaultDrop> drops = new ArrayList<>(); // Paper - Restore vanilla drops behavior
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
@@ -351,7 +352,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -352,7 +353,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.tryAddSoulSpeed();
}
@@ -25,7 +25,7 @@ index cc8553b95fd2c3b68f952b54e96de048ae8f07c1..fe4b5878a0d9dffb8602f01344fb4c82
double d1 = this.getX();
double d2 = this.getY();
double d3 = this.getZ();
@@ -366,7 +367,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -367,7 +368,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
d3 = (double) landedPosition.getZ() + 0.5D + d5 / d6 * 0.5D;
}
@@ -34,7 +34,7 @@ index cc8553b95fd2c3b68f952b54e96de048ae8f07c1..fe4b5878a0d9dffb8602f01344fb4c82
double d7 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
int i = (int) (150.0D * d7);
@@ -2096,7 +2097,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -2109,7 +2110,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
MobEffectInstance mobeffect = this.getEffect(MobEffects.JUMP);
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
@@ -69,10 +69,10 @@ index 2a30499fd6f4a1340f6911f0f7f079bcbe8576a3..c3c0fbe71c9af1125c80698865cb9eaf
// Purpur start
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 4a838de77a88d868266da286952990d898b95ee7..d78d47a7c8583d3a8c92883e6b2e44ea1d4b8d45 100644
index 6f9cb8f328f47d6f3eb3142d701d80ceb51af926..152dff14fec82432aeddf82cda6236b7d6326dca 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1143,4 +1143,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@@ -1156,4 +1156,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
getHandle().knockback(strength, directionX, directionZ);
};
// Paper end

View File

@@ -25,10 +25,10 @@ index c90a488e41ef65b57818cd91403e65e5f5e19cd9..feece6ec8fda944e2fcbf7c59327d0a1
}
// Paper end - further improve server tick loop
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index b0b8c77473d1e81c753cc657c90d8fbdbdda9570..19a306262a617ea3f72ba117a4e0de5ff6bf9a37 100644
index 8a9af4a0d5c59361ffcf0ed572a1f1ee141d1780..152a10866560549d7d8deed328ee9ee2d9ed932c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3258,5 +3258,10 @@ public final class CraftServer implements Server {
@@ -3270,5 +3270,10 @@ public final class CraftServer implements Server {
public String getServerName() {
return this.getProperties().serverName;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Disable loot drops on death by cramming
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index fe4b5878a0d9dffb8602f01344fb4c828ee71fe0..8fece4bf10534f899d0609891211946d1aa650be 100644
index a9d54deefa076a03bd142983261f997270a49e1e..ba1ca47591756558d6722788695338ef03aadef6 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1842,6 +1842,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1843,6 +1843,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.dropEquipment(); // CraftBukkit - from below
if (this.shouldDropLoot() && this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
@@ -16,7 +16,7 @@ index fe4b5878a0d9dffb8602f01344fb4c828ee71fe0..8fece4bf10534f899d0609891211946d
this.dropFromLootTable(source, flag);
// Paper start
final boolean prev = this.clearEquipmentSlots;
@@ -1850,6 +1851,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1851,6 +1852,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
// Paper end
this.dropCustomDeathLoot(source, i, flag);
this.clearEquipmentSlots = prev; // Paper
@@ -25,7 +25,7 @@ index fe4b5878a0d9dffb8602f01344fb4c828ee71fe0..8fece4bf10534f899d0609891211946d
// CraftBukkit start - Call death event // Paper start - call advancement triggers with correct entity equipment
org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops, () -> {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 24dcdf3ca52129d3d35902c94ae302e35385cd50..f74721f815ffb066dba8741cd50ffed87de9754c 100644
index 755d53e04bb0ed678bebc3497476e252dd5a736e..b7bf1a6e59e33d13887ae3d98f37658f52030e37 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -95,6 +95,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add player death exp control options
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 62f47598dfb32dbe811f448c10196896c65fb9d6..ed24084bc7db7b0b1ef577fdab96b28a5fd81d52 100644
index e1e5837c6f90c811f63053bbca80c512229cd727..f26322bfa6b26d2b97a1e89218c685b508a3253b 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1935,9 +1935,19 @@ public abstract class Player extends LivingEntity {
@@ -1936,9 +1936,19 @@ public abstract class Player extends LivingEntity {
@Override
public int getExperienceReward() {
if (!this.level().getGameRules().getBoolean(GameRules.RULE_KEEPINVENTORY) && !this.isSpectator()) {
@@ -32,7 +32,7 @@ index 62f47598dfb32dbe811f448c10196896c65fb9d6..ed24084bc7db7b0b1ef577fdab96b28a
return 0;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f8350126625341c4defc9a5d47f8ed42875c0241..f83d25ca31593e39fc64f292f0c6daaeac01d713 100644
index 09c131e3b5282d1ac1230ddc2677f2a49449dc48..66e12893bb9d8984a8cd2916834c5e86058f47bb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -171,6 +171,8 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable void damage height and damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 2cfc4445dc24f5593206d567b7af309a48b77cf0..509fec946781d0553b44606ceb296d7db20467dc 100644
index 35a92f63aaf6ad90a028bf9954de48a06030cc7b..df57683541a603daf5ac2af2d5c0e03a14bb910b 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -899,7 +899,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -18,10 +18,10 @@ index 2cfc4445dc24f5593206d567b7af309a48b77cf0..509fec946781d0553b44606ceb296d7d
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
// Paper end - Configurable nether ceiling damage
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 8fece4bf10534f899d0609891211946d1aa650be..56264e06623206d1c545bc40775ad3034ed962a4 100644
index ba1ca47591756558d6722788695338ef03aadef6..fbba6e2da222f30fc763a680a825d5f2d53b5e4d 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2542,7 +2542,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -2555,7 +2555,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@Override
protected void onBelowWorld() {
@@ -31,7 +31,7 @@ index 8fece4bf10534f899d0609891211946d1aa650be..56264e06623206d1c545bc40775ad303
protected void updateSwingTime() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f83d25ca31593e39fc64f292f0c6daaeac01d713..cd320e5dd330accc51d5eef34ab9429c4dd9b05d 100644
index 66e12893bb9d8984a8cd2916834c5e86058f47bb..03c35e455b405517114ffc043732359c112e343f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -98,10 +98,14 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Mending mends most damages equipment first
diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
index fb74f13ab2a977224e843a468ea8c72d923a75eb..5450058d23f1ab20689183bd284b01fc93628db5 100644
index e814b2ef2577f032d6760de2f798d4fe18c67d0c..673b3aee680bb8a2d20f96be661d5fa9c61f4ce3 100644
--- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
+++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
@@ -331,7 +331,7 @@ public class ExperienceOrb extends Entity {
@@ -18,10 +18,10 @@ index fb74f13ab2a977224e843a468ea8c72d923a75eb..5450058d23f1ab20689183bd284b01fc
if (entry != null) {
ItemStack itemstack = (ItemStack) entry.getValue();
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index de277d61b718fe07a87d75a2547bb1c7f8553aa1..22451858d7a27f9e701b22e923be752ef5dfcafe 100644
index 1ad126d992d95062a3db08374db7a927f23a0cac..38e097807c5034c077a10d3af08bf348a008d229 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -612,6 +612,16 @@ public final class ItemStack {
@@ -613,6 +613,16 @@ public final class ItemStack {
return this.isDamageableItem() && this.getDamageValue() > 0;
}
@@ -73,7 +73,7 @@ index ecf640b00007a386290f8dfe9935a8aa610079fd..2048899f8e4c8211e8dde0d11148d647
public static Map.Entry<EquipmentSlot, ItemStack> getRandomItemWith(Enchantment enchantment, LivingEntity entity) {
return getRandomItemWith(enchantment, entity, (stack) -> {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cc373c386ca72c3c6cfd69dc26be6ccdfaae1738..f4bc9248e2e7c156688fad9e0807cb46444dfa13 100644
index 76c1cfc35b598eab2ca27656feeb17f79dde7e00..6705d722e1abe678a5cb90503904dc7888bf55ee 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -95,6 +95,7 @@ public class PurpurWorldConfig {

View File

@@ -74,10 +74,10 @@ index 38fe7e5014332f45e41a3d5d91c28dd0acfdc3b0..479657ddef21f0279b361117b82549f7
this.values[this.vp++ & 255] = (int)(l * 100L / Runtime.getRuntime().maxMemory());
this.repaint();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 19a306262a617ea3f72ba117a4e0de5ff6bf9a37..d7db1bc00036184d9ac6d6edaf343ab20a29d368 100644
index 152a10866560549d7d8deed328ee9ee2d9ed932c..4342ad11ed1ee8f00b56a5ce4710fbd3350b0fdc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3050,6 +3050,7 @@ public final class CraftServer implements Server {
@@ -3062,6 +3062,7 @@ public final class CraftServer implements Server {
@Override
public double[] getTPS() {
return new double[] {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 56264e06623206d1c545bc40775ad3034ed962a4..e9529e1a1f799911484e0a4c0d725408580c01b9 100644
index fbba6e2da222f30fc763a680a825d5f2d53b5e4d..65c36f41fe7602bfc8d2349b065c7494eb1abfb6 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3568,7 +3568,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3581,7 +3581,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
int j = i / 10;
if (j % 2 == 0) {
@@ -54,10 +54,10 @@ index 0821c06a4c66edc8fcee09fc192335a588d2944b..56d7c05c93bc074f6caba51b1741f25d
itemStack.shrink(1);
} else ((net.minecraft.server.level.ServerPlayer) user).getBukkitEntity().updateInventory();
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 65d1b22d3d3670f009308750013347a15d082e18..345ca7da64f646f1d6f0cde68269b697926cf17e 100644
index 38e097807c5034c077a10d3af08bf348a008d229..5b0816b6c01912c41e588559597edf8b5902fcd3 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -641,7 +641,7 @@ public final class ItemStack {
@@ -642,7 +642,7 @@ public final class ItemStack {
int j;
if (amount > 0) {
@@ -66,7 +66,7 @@ index 65d1b22d3d3670f009308750013347a15d082e18..345ca7da64f646f1d6f0cde68269b697
int k = 0;
for (int l = 0; j > 0 && l < amount; ++l) {
@@ -696,6 +696,12 @@ public final class ItemStack {
@@ -697,6 +697,12 @@ public final class ItemStack {
if (this.hurt(amount, entity.getRandom(), entity /*instanceof ServerPlayer ? (ServerPlayer) entity : null*/)) { // Paper - Add EntityDamageItemEvent
breakCallback.accept(entity);
Item item = this.getItem();
@@ -99,7 +99,7 @@ index fa876ddf54780728e7f3ecfe02aa8a16b8ef6f8d..75cf58919ac787b389286b41a9f0b5a9
entityhuman.startAutoSpinAttack(20);
if (entityhuman.onGround()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e6f132ad886d1db2383a8f07489f6da2aa863dae..9aab2c1dc14f9683953cb2876ee9471f603da629 100644
index 6705d722e1abe678a5cb90503904dc7888bf55ee..88aabe09118cbbad3add3cee44e237580294f685 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -112,6 +112,19 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 0e2a165a86ee59cd27c68d5b96ecdbb49d74b15f..710a4177acd4c25c2b1d193f2e9f7ef92b08e1e6 100644
index 8b2550bada2cca8cb9875580133ce0ee6cc19325..498c60a8669b867101f030b5735deffe5252ebbd 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2848,4 +2848,26 @@ public class ServerPlayer extends Player {
@@ -36,10 +36,10 @@ index 0e2a165a86ee59cd27c68d5b96ecdbb49d74b15f..710a4177acd4c25c2b1d193f2e9f7ef9
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index e9529e1a1f799911484e0a4c0d725408580c01b9..537dae595f7b6df016db7fe2ee2591b78f853f4c 100644
index 65c36f41fe7602bfc8d2349b065c7494eb1abfb6..7caf73407b0a98fdb316a6b738704fe737f4c65b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -425,6 +425,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -426,6 +426,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
double d1 = this.level().getWorldBorder().getDamagePerBlock();
if (d1 > 0.0D) {
@@ -48,7 +48,7 @@ index e9529e1a1f799911484e0a4c0d725408580c01b9..537dae595f7b6df016db7fe2ee2591b7
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f88bcb94067626daf8fe080f85de15dc81536fee..e813fa037ca17bec29db916eac882cbfab432e56 100644
index 9ba3a90e1af9c733949c52988c56c05af46356e8..98e6faaeeaf8a983f9d730591a9d85c314c112d3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -242,6 +242,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Totems work in inventory
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 55693713ca6a603f074b9526827a704909d619e6..a58e5dc0b1216f7f8cfc93c7a3f967cdd3b70df0 100644
index 7caf73407b0a98fdb316a6b738704fe737f4c65b..a0573d7c164091ad8fa3d98d1c462a4eee309a2f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1631,6 +1631,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1632,6 +1632,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
}
@@ -28,7 +28,7 @@ index 55693713ca6a603f074b9526827a704909d619e6..a58e5dc0b1216f7f8cfc93c7a3f967cd
EntityResurrectEvent event = new EntityResurrectEvent((org.bukkit.entity.LivingEntity) this.getBukkitEntity(), handSlot);
event.setCancelled(itemstack == null);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index edd6bedd26f82335055580240e71f1d68a79739e..65c365cd330b8865f0aeb7781a8995cbfea62f18 100644
index 85d2030c58fb97be82c97a042bc5d73e76274268..be916fe3a8bc8996be8b0835e3bd8f7920c15055 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -243,6 +243,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index ae0162d881d75e29d662f77e8be7cd5a91df4e2f..732c2b03aaf03dccc9384b314295994890bd8d20 100644
index 2d24aa01680dfc8ada8db55d9af57bcff8218624..2300068427a5e0fe7e263455e6035cb5cff33a5f 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4443,6 +4443,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -4446,6 +4446,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.yRotO = this.getYRot();
}
@@ -54,7 +54,7 @@ index 67d595f75e0c3bffdb27b85b25ccd1f0bf1427d5..4d0c524af87d05dbd4a923ad6c40e1f2
+ // Purpur
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4218ebd3aa75c7290f1f8bb6ebd357ae3faf53f1..cb1d95f6f786df7a8825016b70c3c6b718f60358 100644
index b9faaf71e0cd5918b072d068bbc2096aa2805616..56f34c0a0f7bc94a90bb1db32f8e30a590a3b38c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1478,6 +1478,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals configuration
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 732c2b03aaf03dccc9384b314295994890bd8d20..41a701ad5abf31b20b70e00122204ce4d7ee8200 100644
index 2300068427a5e0fe7e263455e6035cb5cff33a5f..53e072f6070101f9c1bd24eacf1114e0a1c16305 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3147,7 +3147,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -3151,7 +3151,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
public void handleInsidePortal(BlockPos pos) {
if (this.isOnPortalCooldown()) {
this.setPortalCooldown();
@@ -17,7 +17,7 @@ index 732c2b03aaf03dccc9384b314295994890bd8d20..41a701ad5abf31b20b70e00122204ce4
if (!this.level().isClientSide && !pos.equals(this.portalEntrancePos)) {
this.portalEntrancePos = pos.immutable();
}
@@ -3854,7 +3854,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -3857,7 +3857,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
public boolean canChangeDimensions() {
@@ -27,7 +27,7 @@ index 732c2b03aaf03dccc9384b314295994890bd8d20..41a701ad5abf31b20b70e00122204ce4
public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cb1d95f6f786df7a8825016b70c3c6b718f60358..4ffd1263f48a426e5f7a79fd266a0f445975dc2e 100644
index 56f34c0a0f7bc94a90bb1db32f8e30a590a3b38c..1f25407aafba71762a482f0b1982302fed14387f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -98,6 +98,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity#broadcastItemBreak
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index d78d47a7c8583d3a8c92883e6b2e44ea1d4b8d45..a666498dd39e88d92e8bf46deb3a28e471cceedb 100644
index 152dff14fec82432aeddf82cda6236b7d6326dca..1bcd9d9729952e68c56ff6e169ace11611b44e97 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1154,5 +1154,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@@ -1167,5 +1167,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
public void setSafeFallDistance(float safeFallDistance) {
getHandle().safeFallDistance = safeFallDistance;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Full netherite armor grants fire resistance
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index ed24084bc7db7b0b1ef577fdab96b28a5fd81d52..8dd11cb347b0451ad3e6245339a080ca57f99fe8 100644
index f26322bfa6b26d2b97a1e89218c685b508a3253b..ad4046a24f04845e794d1e446e12eb6c5c581d14 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -367,6 +367,16 @@ public abstract class Player extends LivingEntity {
@@ -368,6 +368,16 @@ public abstract class Player extends LivingEntity {
this.addEffect(new MobEffectInstance(MobEffects.WATER_BREATHING, 200, 0, false, false, true), org.bukkit.event.entity.EntityPotionEffectEvent.Cause.TURTLE_HELMET); // CraftBukkit
}
@@ -26,7 +26,7 @@ index ed24084bc7db7b0b1ef577fdab96b28a5fd81d52..8dd11cb347b0451ad3e6245339a080ca
protected ItemCooldowns createItemCooldowns() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7cb9381590a24f24099b8ad87f094b1f73f1e624..fb8d380b90338b91c7481b4c3242ab3336e32370 100644
index fa32fa58ef52adf16f898b11704ed531d95d1ec6..8a7538298f1f23652a3122750f9be8fdb6678150 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -295,6 +295,19 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 2d73af861457b41447c66ce84e38bb91e0aa7bf6..2688d7d5a9427bc55f8661c7337cdeede582f01e 100644
index a0573d7c164091ad8fa3d98d1c462a4eee309a2f..2a5d3d5c0a337933c62e1168de1a595a92bc5444 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1809,7 +1809,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1810,7 +1810,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
boolean flag = false;
if (this.dead && adversary instanceof WitherBoss) { // Paper
@@ -18,7 +18,7 @@ index 2d73af861457b41447c66ce84e38bb91e0aa7bf6..2688d7d5a9427bc55f8661c7337cdeed
BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState();
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index a7b22c652ed8876a1a8da14ffcba69fccedb578f..a20d7b26fa032539ea8d5534280d2402b866d339 100644
index 3fd1951441b149af2fcf335fd4b5886b4d66d5b0..c5cf5e84893f137ee4bead287e80eb57ff1a7407 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -705,7 +705,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -118,11 +118,11 @@ index c25776ef9805f3f4e31ca5b027e6577526e48819..86502ef70f2213191d1348ef98969c5c
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
index 6fac5dbbbd9600e82b1dd1496680f551ab44313e..fd64a12c7f215f47d366af60882981c2cc0ef04f 100644
index b97f892fe5824b5275905cd51599bea17da3dd19..1d70a108293a61b7813b70cc9ce600a3e7b167d5 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -127,7 +127,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
this.hurt(this.damageSources().melting, 1.0F); // CraftBukkit - DamageSource.BURN -> CraftEventFactory.MELTING
this.hurt(this.damageSources().melting(), 1.0F); // CraftBukkit - DamageSources.ON_FIRE -> CraftEventFactory.MELTING
}
- if (!this.level().getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) {

View File

@@ -89,10 +89,10 @@ index 39ae3335866669be54f31ee6cd10d41bc70b193c..a260e3768892dcf7ddd955cf8753d4d1
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 84ab7296ca213ccc2d8983b6a4417993cbed70b5..4efb8e47a29249cbca52b637d6f721cf2a9afcfb 100644
index 008da41d0fa6d80dc731e4eeb9aa4d4cb4b1873e..498310a94284c25d2e28d7de8299b80b1f34de3b 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1326,6 +1326,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1356,6 +1356,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API
@@ -104,7 +104,7 @@ index 84ab7296ca213ccc2d8983b6a4417993cbed70b5..4efb8e47a29249cbca52b637d6f721cf
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ed61bb01ef1235df2d89bb8f173cbcda4bb65d44..5f13cfd5ebc40793242136570948a87dce867f59 100644
index 81b64e25046f212d48a729726758464bb9e42e7f..9f2e762af41f422cef9937896427332d06d545e9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -117,6 +117,7 @@ public class PurpurWorldConfig {

View File

@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 41a701ad5abf31b20b70e00122204ce4d7ee8200..6d81c3ea836be2fdbeaeaf7f46674708ee279ac5 100644
index 53e072f6070101f9c1bd24eacf1114e0a1c16305..36dd6555fb2245958ae5372b376d2329346060ea 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1873,7 +1873,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -1872,7 +1872,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return this.isInWater() || flag;
}
@@ -66,7 +66,7 @@ index 728814649f8d6837586cd5400b271d25b8306e35..53f36e281e42a2bfc174f06f448f1eb8
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f4106a69deb3ebc9562633642617da44f4055f73..54775a4c13dd8b03373bb1e47bb591ac0a2f82c7 100644
index 67b147b5d725f354149cc715102ec8fc879452e3..a38717838f2379e29179fa7c43a2a49b32b7ce0b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -99,10 +99,16 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Fix stuck in portals
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 485fa2fecb3d83635757319d70cd8e90f95807c0..3c41a23964b115145d6b14930444f16c85769634 100644
index a30732576b86bcf9c56e7d0ced8eb8490af13515..e76d1a202bea3dd94cbdbdfca9b052ca1db9142f 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1271,6 +1271,7 @@ public class ServerPlayer extends Player {
@@ -17,10 +17,10 @@ index 485fa2fecb3d83635757319d70cd8e90f95807c0..3c41a23964b115145d6b14930444f16c
// CraftBukkit end
this.setServerLevel(worldserver);
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 6d81c3ea836be2fdbeaeaf7f46674708ee279ac5..e2a11e9928e2ad39ce2dca85ada1108884cad568 100644
index 36dd6555fb2245958ae5372b376d2329346060ea..e30dad61530fcc2c806465bbdaf4d2a7029e6153 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3144,12 +3144,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -3148,12 +3148,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return Vec3.directionFromRotation(this.getRotationVector());
}
@@ -37,7 +37,7 @@ index 6d81c3ea836be2fdbeaeaf7f46674708ee279ac5..e2a11e9928e2ad39ce2dca85ada11088
this.isInsidePortal = true;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 54775a4c13dd8b03373bb1e47bb591ac0a2f82c7..cd4a14bd5d13b41d02ad68ddf31fd3648f933850 100644
index a38717838f2379e29179fa7c43a2a49b32b7ce0b..26a62a67b80b520246c0b118900fa2db20c96fcf 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -333,6 +333,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Dont run with scissors!
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index e3d6323a8e11ec68fecb88c723b2de5cbb030a10..0a5de5984f402aa49324ebc691bf8f84682aa680 100644
index 32f33eb8b99ad4655cf021b7cf16eb15fe96ba59..4220c1b4e44ecf67653fe5a50a209866ddafd3bf 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1657,6 +1657,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -53,12 +53,12 @@ index 9c99b2e365aacb8309f29acb9025faccd2c676b3..9e3608650c44ef5fa724c3aea86603d7
}
}
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
index dad8d358e60902eb186cbc5686219f66d3babf89..189664637d3d73b141c84823f0099bcda9b607e3 100644
index 6f1b9cd34a714c02e9800ff2972aa24ad4080842..727a598f1c265ae524c3746c7b7c7d2d0774d530 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
@@ -54,6 +54,8 @@ public class DamageSource {
@@ -97,6 +97,8 @@ public class DamageSource {
}
// CraftBukkit end
public @Nullable org.bukkit.block.BlockState explodedBlockState; // Paper - add exploded state
+ public boolean isScissors; // Purpur
+
@@ -66,10 +66,10 @@ index dad8d358e60902eb186cbc5686219f66d3babf89..189664637d3d73b141c84823f0099bcd
return "DamageSource (" + this.type().msgId() + ")";
}
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSources.java b/src/main/java/net/minecraft/world/damagesource/DamageSources.java
index f339475185645f7be30963e4f980ce81a6f7e536..6a7fe56485f0da9094c816f9fd5aacf7e5946730 100644
index a47473c9875c70c52b9a61e0156e55961f34c694..28b57ed7e862eecc04dfb2eac0093385b64460e7 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSources.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSources.java
@@ -267,4 +267,11 @@ public class DamageSources {
@@ -277,4 +277,11 @@ public class DamageSources {
public DamageSource genericKill() {
return this.genericKill;
}
@@ -107,7 +107,7 @@ index 57734b187e3a66d0d244db2f7968256884957ff2..6714c095714c3a34464b9190be964cea
public static String serverModName = "Purpur";
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ecfbfc843b534196ff19c2e45989f0271f9e8105..96835763638abbc120f63a67a9ac4cb853739d78 100644
index 6d017d5d3cfe8581936b8f1fb58656ff2b2fdf95..9fa138e30e3885a760e40f8da32a8a86acf150b7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -197,6 +197,10 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] One Punch Man!
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 2688d7d5a9427bc55f8661c7337cdeede582f01e..10c0f0e757331338c7747e9704f57eb4b7c5b848 100644
index 2a5d3d5c0a337933c62e1168de1a595a92bc5444..9c240ce04337458395aea35aab7d97a9f592f008 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2335,6 +2335,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -2348,6 +2348,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
}
@@ -30,7 +30,7 @@ index 2688d7d5a9427bc55f8661c7337cdeede582f01e..10c0f0e757331338c7747e9704f57eb4
if (human) {
// PAIL: Be sure to drag all this code from the EntityHuman subclass each update.
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 96835763638abbc120f63a67a9ac4cb853739d78..bf2ab21a5390ac0876b0c2c5e6708cc3d6c564da 100644
index 9fa138e30e3885a760e40f8da32a8a86acf150b7..b30fc0e01ab146f71d6af57544e0f27922456f9e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -344,6 +344,7 @@ public class PurpurWorldConfig {

View File

@@ -8,7 +8,7 @@ Subject: [PATCH] Configurable Ender Pearl cooldown, damage, and Endermite RNG
- Endermite spawn chance
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
index af4da25c9b13c114179fab3254aea5323210d7da..f9cd39a4f8ec5cdade311984d863b64f8f845fb7 100644
index 3be611e7ae35b696ba44cd361042f79b69391815..0de1cda80c57c3552d243780d5aa368675b915e8 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
@@ -70,7 +70,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
@@ -20,15 +20,15 @@ index af4da25c9b13c114179fab3254aea5323210d7da..f9cd39a4f8ec5cdade311984d863b64f
Endermite entityendermite = (Endermite) EntityType.ENDERMITE.create(this.level());
if (entityendermite != null) {
@@ -86,7 +86,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
@@ -85,7 +85,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
entityplayer.connection.teleport(teleEvent.getTo());
entity.resetFallDistance();
CraftEventFactory.entityDamage = this;
- entity.hurt(this.damageSources().fall(), 5.0F);
+ entity.hurt(this.damageSources().fall(), this.level().purpurConfig.enderPearlDamage); // Purpur
CraftEventFactory.entityDamage = null;
- entity.hurt(this.damageSources().fall().customCausingEntity(this), 5.0F); // CraftBukkit
+ entity.hurt(this.damageSources().fall().customCausingEntity(this), this.level().purpurConfig.enderPearlDamage); // CraftBukkit // Purpur
}
// CraftBukkit end
this.level().playSound((Player) null, this.getX(), this.getY(), this.getZ(), SoundEvents.PLAYER_TELEPORT, SoundSource.PLAYERS);
diff --git a/src/main/java/net/minecraft/world/item/EnderpearlItem.java b/src/main/java/net/minecraft/world/item/EnderpearlItem.java
index 8c8cf8705107c95d9a4eab28b5845ae13c4ffb3c..a0c2650678848416829c7185a530fcd63bb68039 100644
--- a/src/main/java/net/minecraft/world/item/EnderpearlItem.java
@@ -43,7 +43,7 @@ index 8c8cf8705107c95d9a4eab28b5845ae13c4ffb3c..a0c2650678848416829c7185a530fcd6
// Paper end - PlayerLaunchProjectileEvent
if (user instanceof net.minecraft.server.level.ServerPlayer) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index bf2ab21a5390ac0876b0c2c5e6708cc3d6c564da..3a61e40ec6dfc49413a85b059efca9a261373a7c 100644
index b30fc0e01ab146f71d6af57544e0f27922456f9e..c129a628a409d02e29ca565eaaa0a664ffb9cfb9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -201,6 +201,10 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 61bc2ca4255478a208101381f0d4eb17c401e679..26193b816e8cfd1aefba64ae05bbcf6af9d4559f 100644
index e30dad61530fcc2c806465bbdaf4d2a7029e6153..7579c2d4c716695ab1854a055bc595d7b55201e5 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3393,7 +3393,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -3397,7 +3397,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
public int getMaxAirSupply() {
@@ -18,10 +18,10 @@ index 61bc2ca4255478a208101381f0d4eb17c401e679..26193b816e8cfd1aefba64ae05bbcf6a
public int getAirSupply() {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 10c0f0e757331338c7747e9704f57eb4b7c5b848..c1a8e3e2d0b804aecf32119cdd6f04b894679222 100644
index 9c240ce04337458395aea35aab7d97a9f592f008..99673b3df82d40dfebc313935061e3fa79a3a59c 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -437,7 +437,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -438,7 +438,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (flag1) {
this.setAirSupply(this.decreaseAirSupply(this.getAirSupply()));
@@ -30,7 +30,7 @@ index 10c0f0e757331338c7747e9704f57eb4b7c5b848..c1a8e3e2d0b804aecf32119cdd6f04b8
this.setAirSupply(0);
Vec3 vec3d = this.getDeltaMovement();
@@ -449,7 +449,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -450,7 +450,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.level().addParticle(ParticleTypes.BUBBLE, this.getX() + d2, this.getY() + d3, this.getZ() + d4, vec3d.x, vec3d.y, vec3d.z);
}
@@ -40,7 +40,7 @@ index 10c0f0e757331338c7747e9704f57eb4b7c5b848..c1a8e3e2d0b804aecf32119cdd6f04b8
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9aa6a3f69afb0fd70ac60ca0d50d564dd7d3fe54..91f224d89bf1af363162e0a39ca61a440bc07b96 100644
index ab999a2a71d1a04bce176d81844cecbf5760157d..6ce44d87b5d71e27102e9611af1817b3bcd809dc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -164,6 +164,15 @@ public class PurpurWorldConfig {

View File

@@ -27,7 +27,7 @@ index 37d9c354af887c474094b1a364782007a5f2035d..ec86231077f6a1e03068507555539c5b
++i;
} else if (targets.size() == 1) {
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
index cccd34370d76d96eddeba3de1cfc41d47f9d1f60..ceac7d74f6fbe6519535357a03a0e4d1214d6a1d 100644
index fc71e25bb657581db5b79623c4ea6adc5f9e2b12..3f13c6fb479db34c0c4d1e0f9241919f2e62cd53 100644
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
@@ -228,7 +228,8 @@ public class AnvilMenu extends ItemCombinerMenu {
@@ -74,10 +74,10 @@ index cccd34370d76d96eddeba3de1cfc41d47f9d1f60..ceac7d74f6fbe6519535357a03a0e4d1
((ServerPlayer) player).connection.send(new ClientboundContainerSetDataPacket(containerId, 0, cost.get()));
}
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index f6274690538d55becb9afe0d5a87213cb2e396a0..05f4670df6b45d7d9cd4ff78a0e10587f8be6f12 100644
index 5b0816b6c01912c41e588559597edf8b5902fcd3..b4b1ffe875a18bcb72b7f1d87f6ddbea436bbb66 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -1240,6 +1240,12 @@ public final class ItemStack {
@@ -1241,6 +1241,12 @@ public final class ItemStack {
return this.tag != null && this.tag.contains("Enchantments", 9) ? !this.tag.getList("Enchantments", 10).isEmpty() : false;
}

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Configurable mob blindness
Ported from https://github.com/raltsmc/mobblindness
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index a1b6a10a3f0409ad5dece7aaaf0de7d8dfe3f403..4154eb08be0d6492cfba931761671a6384390d1b 100644
index 99673b3df82d40dfebc313935061e3fa79a3a59c..e997844c0cead8eef82a8025283d43163b1a6848 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1036,6 +1036,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1037,6 +1037,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (entitytypes == EntityType.SKELETON && itemstack.is(Items.SKELETON_SKULL) || entitytypes == EntityType.ZOMBIE && itemstack.is(Items.ZOMBIE_HEAD) || entitytypes == EntityType.PIGLIN && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.PIGLIN_BRUTE && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.CREEPER && itemstack.is(Items.CREEPER_HEAD)) {
d0 *= 0.5D;
}
@@ -28,7 +28,7 @@ index a1b6a10a3f0409ad5dece7aaaf0de7d8dfe3f403..4154eb08be0d6492cfba931761671a63
return d0;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 907cf33cdc003a557aa13bb5234025fca9e260ae..4f363b9ed0f3427f86c39fdd5be49b94f0ee8221 100644
index 500b14f0b27b0c1ba29bdb499f30726c48e6fa20..3d582716df3cbdec2f1c2dbaf567e829406c21a1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -132,6 +132,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add config change multiplier critical damage value
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 8dd11cb347b0451ad3e6245339a080ca57f99fe8..906cbe8d6a03202da897ffe79e98976ee303d6f9 100644
index ad4046a24f04845e794d1e446e12eb6c5c581d14..2289e7bc32e0d2833e73f9d21c37487cd369b25f 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1314,7 +1314,7 @@ public abstract class Player extends LivingEntity {
@@ -1315,7 +1315,7 @@ public abstract class Player extends LivingEntity {
flag2 = flag2 && !this.level().paperConfig().entities.behavior.disablePlayerCrits; // Paper - Toggleable player crits
flag2 = flag2 && !this.isSprinting();
if (flag2) {
@@ -18,7 +18,7 @@ index 8dd11cb347b0451ad3e6245339a080ca57f99fe8..906cbe8d6a03202da897ffe79e98976e
f += f1;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index bb2e6bdd8e3a78eede0b8968b6155a5f860fa842..50cc491955d34ca14c9bce486ee75b7349a3a47a 100644
index 8e5faebee176a1ff625bb46b9dddd5391bc80a34..97f2212ca175ad6152acc3fab35dd6d1c2e83a8b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -372,6 +372,7 @@ public class PurpurWorldConfig {

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] API for any mob to burn daylight
Co-authored by: Encode42 <me@encode42.dev>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 26193b816e8cfd1aefba64ae05bbcf6af9d4559f..a0b9ef437e47de350e22acf510a535d3cb45c001 100644
index 7579c2d4c716695ab1854a055bc595d7b55201e5..f8f311e0e4715a8d648d743c0b5a664b7f004efe 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -561,6 +561,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -32,10 +32,10 @@ index 26193b816e8cfd1aefba64ae05bbcf6af9d4559f..a0b9ef437e47de350e22acf510a535d3
return this.hardCollides;
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 4ef9f18b59c5ff6d0dc108e82db1ec17fccd79b8..a8d7992fc2d263f6898cf3025fa15cef6d24b439 100644
index e997844c0cead8eef82a8025283d43163b1a6848..1ebc5cfac7e7e47e1e9c10a90d707a4fa799ca43 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -261,6 +261,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -262,6 +262,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper
public boolean silentDeath = false; // Paper - mark entity as dying silently for cancellable death event
public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Friction API
@@ -43,7 +43,7 @@ index 4ef9f18b59c5ff6d0dc108e82db1ec17fccd79b8..a8d7992fc2d263f6898cf3025fa15cef
@Override
public float getBukkitYaw() {
@@ -802,6 +803,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -803,6 +804,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
dataresult.resultOrPartial(logger::error).ifPresent((nbtbase) -> {
nbt.put("Brain", nbtbase);
});
@@ -51,7 +51,7 @@ index 4ef9f18b59c5ff6d0dc108e82db1ec17fccd79b8..a8d7992fc2d263f6898cf3025fa15cef
}
@Override
@@ -888,6 +890,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -889,6 +891,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.brain = this.makeBrain(new Dynamic(NbtOps.INSTANCE, nbt.get("Brain")));
}
@@ -63,7 +63,7 @@ index 4ef9f18b59c5ff6d0dc108e82db1ec17fccd79b8..a8d7992fc2d263f6898cf3025fa15cef
}
// CraftBukkit start
@@ -3586,6 +3593,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3599,6 +3606,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.hurt(this.damageSources().drown(), 1.0F);
}
@@ -92,7 +92,7 @@ index 4ef9f18b59c5ff6d0dc108e82db1ec17fccd79b8..a8d7992fc2d263f6898cf3025fa15cef
public boolean isSensitiveToWater() {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index a20d7b26fa032539ea8d5534280d2402b866d339..86e070c18d8127d534d2614b61b5433ace946391 100644
index c5cf5e84893f137ee4bead287e80eb57ff1a7407..8588f230724e7fec2093b0b5c8c80b3d1944ce47 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1765,17 +1765,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -370,10 +370,10 @@ index a260e3768892dcf7ddd955cf8753d4d19cd2e8d3..9304a2d06400dfa244ddb4d9591de988
Preconditions.checkArgument(entity != null, "Unknown entity");
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index a666498dd39e88d92e8bf46deb3a28e471cceedb..2e47e0d28407695569143e6c6bea4a160fa7ca45 100644
index 1bcd9d9729952e68c56ff6e169ace11611b44e97..332c553db22aaeb0cda5e628c5e464e130c7abb0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1160,5 +1160,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@@ -1173,5 +1173,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
if (slot == null) return;
getHandle().broadcastBreakEvent(org.bukkit.craftbukkit.CraftEquipmentSlot.getNMS(slot));
}

View File

@@ -18,7 +18,7 @@ index 3aad6bd0a1fb7bb3f9b7dab2c10c875864900750..31bd845130e363dd11c225dfd1e9dd89
}
diff --git a/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java b/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java
index f8a8b825d21a7223a9839abda20825702985b7ad..41a853cd0f7d9aaa3d23df1c49a30fb29f19d14e 100644
index 196204a8661c7750408997e052ec706f44161fc6..393cd9fac5b2fd39e4248d0abd4930e6b2ff73a4 100644
--- a/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java
+++ b/src/main/java/net/minecraft/world/effect/PoisonMobEffect.java
@@ -11,8 +11,8 @@ class PoisonMobEffect extends MobEffect {
@@ -26,9 +26,9 @@ index f8a8b825d21a7223a9839abda20825702985b7ad..41a853cd0f7d9aaa3d23df1c49a30fb2
public void applyEffectTick(LivingEntity entity, int amplifier) {
super.applyEffectTick(entity, amplifier);
- if (entity.getHealth() > 1.0F) {
- entity.hurt(entity.damageSources().poison, 1.0F); // CraftBukkit - DamageSource.MAGIC -> CraftEventFactory.POISON
- entity.hurt(entity.damageSources().poison(), 1.0F); // CraftBukkit - DamageSource.MAGIC -> CraftEventFactory.POISON
+ if (entity.getHealth() > entity.level().purpurConfig.entityMinimalHealthPoison) { // Purpur
+ entity.hurt(entity.damageSources().poison, entity.level().purpurConfig.entityPoisonDegenerationAmount); // CraftBukkit - DamageSource.MAGIC -> CraftEventFactory.POISON // Purpur
+ entity.hurt(entity.damageSources().poison(), entity.level().purpurConfig.entityPoisonDegenerationAmount); // CraftBukkit - DamageSource.MAGIC -> CraftEventFactory.POISON // Purpur
}
}
@@ -72,7 +72,7 @@ index 1f9e0c139988c4c44a26552881647d36965aa4fa..b8d612d22aca74a08b53393c0723a2ae
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3973c8fb88ed33264e21d94b56425389c95b54a1..1d9ed4a7d89e259beb6bf05dc624a15588adc099 100644
index 7d89fc67d4f9b58697ff317a0c526be8e612e37a..515c15d6d8f87a1aa677db0cdf7605bbd2421fe0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -331,6 +331,21 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for end portal safe teleporting
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index fce22f388cae1e125528004457e917e3cbc86d38..31f692bbb67af911dd0563c171ed48ee510fe5bf 100644
index f8f311e0e4715a8d648d743c0b5a664b7f004efe..079cf12c01df7ebb1c9c29a4efa1b94dea4d0d78 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3218,7 +3218,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -3222,7 +3222,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
this.processPortalCooldown();
@@ -45,7 +45,7 @@ index a5a8bd6813b68ab2e913fc3ae30c9950c242beb3..f277a4a21b15627c45061e51c8f6c081
entity.portalWorld = ((ServerLevel)world);
entity.portalBlock = pos.immutable();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 77fa5b91ac5a65d2dce6195214c39dbff4aa6c8b..9940ba58d5f32a4ffe68a99270dda87ff34b977a 100644
index 6fb87c1ab0397d4c659dc69f33d0a4743c4d0dcd..722563c25d745f1991ce914f6e758633756e435e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -631,6 +631,11 @@ public class PurpurWorldConfig {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Burp delay, burp after eating food fills hunger bar
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 906cbe8d6a03202da897ffe79e98976ee303d6f9..090d5e04aee2aa318739965aa275a239f8071486 100644
index 2289e7bc32e0d2833e73f9d21c37487cd369b25f..5259d5a17b162700737acc5583560784aea10d9f 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -182,6 +182,7 @@ public abstract class Player extends LivingEntity {
@@ -183,6 +183,7 @@ public abstract class Player extends LivingEntity {
public boolean affectsSpawning = true; // Paper - Affects Spawning API
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage
public int sixRowEnderchestSlotCount = -1; // Purpur
@@ -17,7 +17,7 @@ index 906cbe8d6a03202da897ffe79e98976ee303d6f9..090d5e04aee2aa318739965aa275a239
// CraftBukkit start
public boolean fauxSleeping;
@@ -257,6 +258,12 @@ public abstract class Player extends LivingEntity {
@@ -258,6 +259,12 @@ public abstract class Player extends LivingEntity {
@Override
public void tick() {
@@ -30,7 +30,7 @@ index 906cbe8d6a03202da897ffe79e98976ee303d6f9..090d5e04aee2aa318739965aa275a239
this.noPhysics = this.isSpectator();
if (this.isSpectator()) {
this.setOnGround(false);
@@ -2313,7 +2320,7 @@ public abstract class Player extends LivingEntity {
@@ -2314,7 +2321,7 @@ public abstract class Player extends LivingEntity {
public ItemStack eat(Level world, ItemStack stack) {
this.getFoodData().eat(stack.getItem(), stack);
this.awardStat(Stats.ITEM_USED.get(stack.getItem()));
@@ -55,7 +55,7 @@ index c3448707fd8a632b457cc97b35d08a9c6933d5ee..2840c0b16d9b8147703f34bac5a8aa21
public void eat(Item item, ItemStack stack) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9940ba58d5f32a4ffe68a99270dda87ff34b977a..79a93bb2ce4a86586bfac8635706a4c2d1d1f407 100644
index 722563c25d745f1991ce914f6e758633756e435e..2a1c8d85ef72a3ef3367ba8f7e830e95608b60f9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -388,6 +388,8 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add portal permission bypass
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 090d5e04aee2aa318739965aa275a239f8071486..4db05f2de856c5ea023ee8ce4a6052257cc32549 100644
index 5259d5a17b162700737acc5583560784aea10d9f..0fba4859f63c272a1256d3d6cde23609cd165708 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -183,6 +183,7 @@ public abstract class Player extends LivingEntity {
@@ -184,6 +184,7 @@ public abstract class Player extends LivingEntity {
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage
public int sixRowEnderchestSlotCount = -1; // Purpur
public int burpDelay = 0; // Purpur
@@ -16,7 +16,7 @@ index 090d5e04aee2aa318739965aa275a239f8071486..4db05f2de856c5ea023ee8ce4a605225
// CraftBukkit start
public boolean fauxSleeping;
@@ -474,7 +475,7 @@ public abstract class Player extends LivingEntity {
@@ -475,7 +476,7 @@ public abstract class Player extends LivingEntity {
@Override
public int getPortalWaitTime() {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Store placer on Block when placed
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 46fafca45014292b1a8993e826c8710db9812876..6c6e6d8f3fd9d71cc13a53639dce1e8781de05af 100644
index b4b1ffe875a18bcb72b7f1d87f6ddbea436bbb66..829d84f48c7149ec1ba0b71b0f43ef19fed99380 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -453,6 +453,7 @@ public final class ItemStack {
@@ -454,6 +454,7 @@ public final class ItemStack {
world.preventPoiUpdated = true; // CraftBukkit - SPIGOT-5710
for (BlockState blockstate : blocks) {
blockstate.update(true, false);
@@ -16,7 +16,7 @@ index 46fafca45014292b1a8993e826c8710db9812876..6c6e6d8f3fd9d71cc13a53639dce1e87
}
world.preventPoiUpdated = false;
@@ -484,6 +485,7 @@ public final class ItemStack {
@@ -485,6 +486,7 @@ public final class ItemStack {
if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically
block.getBlock().onPlace(block, world, newblockposition, oldBlock, true, context); // Paper - pass context
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Player ridable in water option
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 4db05f2de856c5ea023ee8ce4a6052257cc32549..d9b12e2b4e5d3039bde74a847a484c0dae319a92 100644
index 0fba4859f63c272a1256d3d6cde23609cd165708..d0204938816f3e74b0845b9a62f4b6ad44d2dd02 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -2041,6 +2041,11 @@ public abstract class Player extends LivingEntity {
@@ -2042,6 +2042,11 @@ public abstract class Player extends LivingEntity {
return this.inventory.armor;
}
@@ -21,7 +21,7 @@ index 4db05f2de856c5ea023ee8ce4a6052257cc32549..d9b12e2b4e5d3039bde74a847a484c0d
if (!this.isPassenger() && this.onGround() && !this.isInWater() && !this.isInPowderSnow) {
if (this.getShoulderEntityLeft().isEmpty()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 34360b9ed30b20159a6174ef5fc64c415b661f53..14164ef2a4204886c279897b89aca6e071005870 100644
index fc209fcd02343dba4e7d22f341cb9a0e88db9ae9..470bf7896527a23cb7888fdf9d502183f4487f68 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -394,6 +394,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for kinetic damage
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index a8d7992fc2d263f6898cf3025fa15cef6d24b439..be06f0adaa7ea31139900162fd4128222a0b5ea3 100644
index 1ebc5cfac7e7e47e1e9c10a90d707a4fa799ca43..567fbb4cee7221b9b24b982c97546f353ce124cd 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2933,6 +2933,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -2946,6 +2946,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (f3 > 0.0F) {
this.playSound(this.getFallDamageSound((int) f3), 1.0F, 1.0F);
@@ -17,7 +17,7 @@ index a8d7992fc2d263f6898cf3025fa15cef6d24b439..be06f0adaa7ea31139900162fd412822
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fd07ab7ce9eaec09429ecd75c93c57db437d5aa5..ad9f793abd559245f50e86c808d1fa401d266995 100644
index df782822909207321e083684c8155ad675a11828..beb7e2c46a180773cbc653a65b5a699fd96b9bab 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -182,12 +182,14 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Conduit behavior configuration
diff --git a/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java
index 58f2619fab37a1e2d2093ca89f66f3a8bb47d192..bcf8a30786a1da86223244cb054cd01d81a61c61 100644
index 37e0b762b86e74f607a4541ecb7b24ad7a591d0e..7e3edd41f3a39ef14382e18b20af21e63ce0677b 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java
@@ -171,7 +171,7 @@ public class ConduitBlockEntity extends BlockEntity {
@@ -167,7 +167,7 @@ public class ConduitBlockEntity extends BlockEntity {
if ((l > 1 || i1 > 1 || j1 > 1) && (i == 0 && (i1 == 2 || j1 == 2) || j == 0 && (l == 2 || j1 == 2) || k == 0 && (l == 2 || i1 == 2))) {
BlockPos blockposition2 = pos.offset(i, j, k);
BlockState iblockdata = world.getBlockState(blockposition2);
@@ -17,7 +17,7 @@ index 58f2619fab37a1e2d2093ca89f66f3a8bb47d192..bcf8a30786a1da86223244cb054cd01d
int k1 = ablock.length;
for (int l1 = 0; l1 < k1; ++l1) {
@@ -191,7 +191,7 @@ public class ConduitBlockEntity extends BlockEntity {
@@ -187,7 +187,7 @@ public class ConduitBlockEntity extends BlockEntity {
private static void applyEffects(Level world, BlockPos pos, List<BlockPos> activatingBlocks) {
int i = activatingBlocks.size();
@@ -26,7 +26,7 @@ index 58f2619fab37a1e2d2093ca89f66f3a8bb47d192..bcf8a30786a1da86223244cb054cd01d
int k = pos.getX();
int l = pos.getY();
int i1 = pos.getZ();
@@ -222,21 +222,21 @@ public class ConduitBlockEntity extends BlockEntity {
@@ -218,20 +218,20 @@ public class ConduitBlockEntity extends BlockEntity {
blockEntity.destroyTarget = ConduitBlockEntity.findDestroyTarget(world, pos, blockEntity.destroyTargetUUID);
blockEntity.destroyTargetUUID = null;
} else if (blockEntity.destroyTarget == null) {
@@ -45,13 +45,12 @@ index 58f2619fab37a1e2d2093ca89f66f3a8bb47d192..bcf8a30786a1da86223244cb054cd01d
if (blockEntity.destroyTarget != null) {
// CraftBukkit start
CraftEventFactory.blockDamage = CraftBlock.at(world, pos);
- if (blockEntity.destroyTarget.hurt(world.damageSources().magic(), 4.0F)) {
+ if (blockEntity.destroyTarget.hurt(world.damageSources().magic(), world.purpurConfig.conduitDamageAmount)) { // Purpur
world.playSound((Player) null, blockEntity.destroyTarget.getX(), blockEntity.destroyTarget.getY(), blockEntity.destroyTarget.getZ(), SoundEvents.CONDUIT_ATTACK_TARGET, SoundSource.BLOCKS, 1.0F, 1.0F);
- if (blockEntity.destroyTarget.hurt(world.damageSources().magic().directBlock(world, pos), 4.0F)) { // CraftBukkit
+ if (blockEntity.destroyTarget.hurt(world.damageSources().magic().directBlock(world, pos), world.purpurConfig.conduitDamageAmount)) { // CraftBukkit // Purpur
world.playSound(null, blockEntity.destroyTarget.getX(), blockEntity.destroyTarget.getY(), blockEntity.destroyTarget.getZ(), SoundEvents.CONDUIT_ATTACK_TARGET, SoundSource.BLOCKS, 1.0F, 1.0F);
}
CraftEventFactory.blockDamage = null;
@@ -262,16 +262,22 @@ public class ConduitBlockEntity extends BlockEntity {
// CraftBukkit end
@@ -256,16 +256,22 @@ public class ConduitBlockEntity extends BlockEntity {
}
private static AABB getDestroyRangeAABB(BlockPos pos) {
@@ -90,7 +89,7 @@ index f0b0348e105fb27c829ec29e638433c57bfd5f64..57ce4b7c5fcfe7a88928cd4124f29af3
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 52363f3ee615bbb86ea54a72d5c0274c7699c9dd..3302b7f88ba82620e09ec900b7409267ea55c7b4 100644
index e13c22d0d6e4b2f1a7db27c32a856cb0e78a5036..2d3339d3f5c8fe12cf61aaed5d19b0d72ba35f5c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2903,4 +2903,27 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Cauldron fill chances
diff --git a/src/main/java/net/minecraft/world/level/block/CauldronBlock.java b/src/main/java/net/minecraft/world/level/block/CauldronBlock.java
index a821a981adbebdcf22997731b9bbea3d033cd2b1..028419d45c098baf5eab5d6e7a73189cb3e86622 100644
index 47b6b83842201620bd6620f5acf11bb14334e35d..b4d2499ae39fd3f14b2600a9663ea8a823bdfbe4 100644
--- a/src/main/java/net/minecraft/world/level/block/CauldronBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CauldronBlock.java
@@ -36,7 +36,7 @@ public class CauldronBlock extends AbstractCauldronBlock {
@@ -18,10 +18,10 @@ index a821a981adbebdcf22997731b9bbea3d033cd2b1..028419d45c098baf5eab5d6e7a73189c
@Override
diff --git a/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java b/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java
index bd22d3fdecbc992b11073a74d854b7d1b43c3f6a..0a3b97f18abcc9b385c9efd5a30f3e2ce5e4bd59 100644
index 5835872df922b859a31b44e3723c67097f21a641..ecb595ddf21b593175c27d59fd9587e7f2d56517 100644
--- a/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/PointedDripstoneBlock.java
@@ -195,7 +195,7 @@ public class PointedDripstoneBlock extends Block implements Fallable, SimpleWate
@@ -189,7 +189,7 @@ public class PointedDripstoneBlock extends Block implements Fallable, SimpleWate
@VisibleForTesting
public static void maybeTransferFluid(BlockState state, ServerLevel world, BlockPos pos, float dripChance) {
@@ -30,7 +30,7 @@ index bd22d3fdecbc992b11073a74d854b7d1b43c3f6a..0a3b97f18abcc9b385c9efd5a30f3e2c
if (PointedDripstoneBlock.isStalactiteStartPos(state, world, pos)) {
Optional<PointedDripstoneBlock.FluidInfo> optional = PointedDripstoneBlock.getFluidAboveStalactite(world, pos, state);
@@ -204,13 +204,13 @@ public class PointedDripstoneBlock extends Block implements Fallable, SimpleWate
@@ -198,13 +198,13 @@ public class PointedDripstoneBlock extends Block implements Fallable, SimpleWate
float f1;
if (fluidtype == Fluids.WATER) {
@@ -47,7 +47,7 @@ index bd22d3fdecbc992b11073a74d854b7d1b43c3f6a..0a3b97f18abcc9b385c9efd5a30f3e2c
if (dripChance < f1) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3302b7f88ba82620e09ec900b7409267ea55c7b4..8e350ec9aa87920537ead51856a9a9ff2f3c47ee 100644
index 2d3339d3f5c8fe12cf61aaed5d19b0d72ba35f5c..5c06b7933b9001031e9cb7b511ff6644718bb458 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2926,4 +2926,15 @@ public class PurpurWorldConfig {

View File

@@ -243,10 +243,10 @@ index 4a875bce9563f3b9351ebecde9b0eb1287beb50e..42d83cfd9318d6ebe9a5392edef3b667
+ // Purpur end - OfflinePlayer API
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 75944838d5527f624c843f3c181cee06edaf08d8..5d5e05ef09f79c78cfac127e8bf161f4f2afc25c 100644
index 498310a94284c25d2e28d7de8299b80b1f34de3b..ec95d213d05e539547c35e13c36458519a0bd4f0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2619,6 +2619,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2670,6 +2670,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().getAbilities().walkingSpeed * 2f;
}

View File

@@ -51,10 +51,10 @@ index acfacda5001ef188acfef8ac0d319d66ce1883fb..1d179e9485df78657ce67ab7ca4c4b1b
private int maxStack = MAX_STACK;
public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index d7db1bc00036184d9ac6d6edaf343ab20a29d368..2038163bd97d25560a0778d7fbdd0680ccfad46f 100644
index 4342ad11ed1ee8f00b56a5ce4710fbd3350b0fdc..a4f812588b9cc1d6df556373ea0d7991058261ee 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1577,6 +1577,19 @@ public final class CraftServer implements Server {
@@ -1589,6 +1589,19 @@ public final class CraftServer implements Server {
return true;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Campfire option for lit when placed
diff --git a/src/main/java/net/minecraft/world/level/block/CampfireBlock.java b/src/main/java/net/minecraft/world/level/block/CampfireBlock.java
index 7302d07c6ff69608e75ac52fdb19f2ec1d105129..35e2f279d358201384ff74fd767df18f6fda432b 100644
index 9c7ee02d3aa3c33b45db4dc5c079495a69d60b15..5eed401d3d722c6553240aba4a8e2337ee32b263 100644
--- a/src/main/java/net/minecraft/world/level/block/CampfireBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CampfireBlock.java
@@ -138,7 +138,7 @@ public class CampfireBlock extends BaseEntityBlock implements SimpleWaterloggedB
@@ -133,7 +133,7 @@ public class CampfireBlock extends BaseEntityBlock implements SimpleWaterloggedB
BlockPos blockposition = ctx.getClickedPos();
boolean flag = world.getFluidState(blockposition).getType() == Fluids.WATER;
@@ -18,7 +18,7 @@ index 7302d07c6ff69608e75ac52fdb19f2ec1d105129..35e2f279d358201384ff74fd767df18f
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 285ea8571af68d86579e786912f1145dc0b83955..a7beb70988183ddcaf6bb2ef846eb9c640af46b0 100644
index a50ceedce4a99e36374062dd894bf7a1f9eee17c..2b0093b9f30d5fe2c53b4a3fd02ad813d5aad555 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -867,6 +867,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Mob head visibility percent
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 665bfee6a54269847cbab3669d771494a8dae422..1ea0a19f7acc2276c21de55d84175e38e2dad9a6 100644
index 567fbb4cee7221b9b24b982c97546f353ce124cd..39784ca82aa79097067df62d859eb13ca6fb27b1 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1040,9 +1040,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1041,9 +1041,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
ItemStack itemstack = this.getItemBySlot(EquipmentSlot.HEAD);
EntityType<?> entitytypes = entity.getType();
@@ -32,7 +32,7 @@ index 665bfee6a54269847cbab3669d771494a8dae422..1ea0a19f7acc2276c21de55d84175e38
// Purpur start
if (entity instanceof LivingEntity entityliving) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 38548885da9d34148589ae0502f0aea7f3faf46e..c793c0c91f7ef6d5e847fd10a908fee09208bc12 100644
index 0ce9870c1da0cba4e3ee7ccb05ace4fc4e1b0223..7bd8d35e35a9893e25de6f671f95fb806d788485 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1370,6 +1370,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable valid characters for usernames
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index d9b12e2b4e5d3039bde74a847a484c0dae319a92..ec4ca16e4f7307b9993717fefc48c305a1f58418 100644
index d0204938816f3e74b0845b9a62f4b6ad44d2dd02..93689cb54c6c948577caff6ec3bd7cbec8094bea 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -2420,6 +2420,7 @@ public abstract class Player extends LivingEntity {
@@ -2421,6 +2421,7 @@ public abstract class Player extends LivingEntity {
}
public static boolean isValidUsername(String name) {

View File

@@ -22,10 +22,10 @@ index 673b3aee680bb8a2d20f96be661d5fa9c61f4ce3..19144edcc449dc2f992228612340cf21
int i = this.repairPlayerItems(player, this.value);
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index ec4ca16e4f7307b9993717fefc48c305a1f58418..dfc73cd1b4fd9a2572a71b653e6e3d9133ec634c 100644
index 93689cb54c6c948577caff6ec3bd7cbec8094bea..a334e2f83905be450514a9c26e945f6d5076060b 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -631,7 +631,7 @@ public abstract class Player extends LivingEntity {
@@ -632,7 +632,7 @@ public abstract class Player extends LivingEntity {
while (iterator.hasNext()) {
Entity entity = (Entity) iterator.next();
@@ -35,7 +35,7 @@ index ec4ca16e4f7307b9993717fefc48c305a1f58418..dfc73cd1b4fd9a2572a71b653e6e3d91
} else if (!entity.isRemoved()) {
this.touch(entity);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 63c29714c855f95f62ecdf19b1502881699206c9..a9dba090d637c5942d09ffc4698e3397a137a7ac 100644
index e7eb471bb2c91be2a6da2918e31f5b18be584646..631467b92404a37849d673f15ddfadfe544cff19 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -420,6 +420,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config for mob last hurt by player time
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 4207d5be195680769a5fefac1feccd925d500740..38c639d0c38e07908ac26a9c998ff06f28a09089 100644
index 39784ca82aa79097067df62d859eb13ca6fb27b1..1b58cc6ee449cfb655b7179be9d3bf8d48a86c4e 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1546,13 +1546,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1547,13 +1547,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (entity1 instanceof net.minecraft.world.entity.player.Player) {
net.minecraft.world.entity.player.Player entityhuman = (net.minecraft.world.entity.player.Player) entity1;
@@ -25,10 +25,10 @@ index 4207d5be195680769a5fefac1feccd925d500740..38c639d0c38e07908ac26a9c998ff06f
if (entityliving2 instanceof net.minecraft.world.entity.player.Player) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 2e47e0d28407695569143e6c6bea4a160fa7ca45..3811b773f8601b233db94fec765dd10bdcfb7a21 100644
index 332c553db22aaeb0cda5e628c5e464e130c7abb0..519b875c4b0f05cab3b0f5c80f07734d8eb98abe 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -477,7 +477,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@@ -490,7 +490,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
net.minecraft.server.level.ServerPlayer entityPlayer = killer == null ? null : ((CraftPlayer) killer).getHandle();
getHandle().lastHurtByPlayer = entityPlayer;
getHandle().lastHurtByMob = entityPlayer;
@@ -38,7 +38,7 @@ index 2e47e0d28407695569143e6c6bea4a160fa7ca45..3811b773f8601b233db94fec765dd10b
// Paper end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 72a96e93a67b5d745070244604fab331a1656f0b..bd053d7ca653d34d64f2773a0306f2175dff67be 100644
index d88a842902523d0a44996876ed5b789c9b83a837..9ffbf8e1957cff2c82a0d127dfa84f62766c20d3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -142,6 +142,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for enchant level clamping
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index fa80754217fd43189fe2138322928fa8c4e9c9f4..9ad21a70a4da60307f6531ab3bfdbc7cb353b776 100644
index 829d84f48c7149ec1ba0b71b0f43ef19fed99380..f6664447c45b1d6f3371af7bed8b1175b17f25e2 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -1234,7 +1234,7 @@ public final class ItemStack {
@@ -1235,7 +1235,7 @@ public final class ItemStack {
ListTag nbttaglist = this.tag.getList("Enchantments", 10);

View File

@@ -18,10 +18,10 @@ index 9e3608650c44ef5fa724c3aea86603d7bd02429c..8c2c515f1b5f56bf1d6cf0c35d4f0fa7
// Purpur end
return damageSource.getLocalizedDeathMessage(this.mob);
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
index 189664637d3d73b141c84823f0099bcda9b607e3..6248b4abae009540b6cc5dd006785d459f565f83 100644
index 727a598f1c265ae524c3746c7b7c7d2d0774d530..478173fe8e61730a2210e886a4c8dc2a6e018e90 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
@@ -56,6 +56,8 @@ public class DamageSource {
@@ -99,6 +99,8 @@ public class DamageSource {
public boolean isScissors; // Purpur
@@ -31,10 +31,10 @@ index 189664637d3d73b141c84823f0099bcda9b607e3..6248b4abae009540b6cc5dd006785d45
return "DamageSource (" + this.type().msgId() + ")";
}
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSources.java b/src/main/java/net/minecraft/world/damagesource/DamageSources.java
index 6a7fe56485f0da9094c816f9fd5aacf7e5946730..530a180a607636265c1b1244f05a772f7adfe7b6 100644
index 28b57ed7e862eecc04dfb2eac0093385b64460e7..0f7d3e8573462c6fde8e5e2c1e86ad8406b9f549 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSources.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSources.java
@@ -273,5 +273,11 @@ public class DamageSources {
@@ -283,5 +283,11 @@ public class DamageSources {
source.isScissors = true;
return source;
}
@@ -47,10 +47,10 @@ index 6a7fe56485f0da9094c816f9fd5aacf7e5946730..530a180a607636265c1b1244f05a772f
// Purpur end
}
diff --git a/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java b/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java
index 77ae7b8ab24935d046cce1f8f7f476310876f9df..b683f3c2fcd37b17a732802738cd14be87065e54 100644
index 77ae7b8ab24935d046cce1f8f7f476310876f9df..579abfbe791052507b15c14d8c81e39b2fdd6520 100644
--- a/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/StonecutterBlock.java
@@ -99,4 +99,16 @@ public class StonecutterBlock extends Block {
@@ -99,4 +99,14 @@ public class StonecutterBlock extends Block {
public boolean isPathfindable(BlockState state, BlockGetter world, BlockPos pos, PathComputationType type) {
return false;
}
@@ -59,9 +59,7 @@ index 77ae7b8ab24935d046cce1f8f7f476310876f9df..b683f3c2fcd37b17a732802738cd14be
+ @Override
+ public void stepOn(Level level, BlockPos pos, BlockState state, net.minecraft.world.entity.Entity entity) {
+ if (level.purpurConfig.stonecutterDamage > 0.0F && entity instanceof net.minecraft.world.entity.LivingEntity) {
+ org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = level.getWorld().getBlockAt(pos.getX(), pos.getY(), pos.getZ());
+ entity.hurt(entity.damageSources().stonecutter(), level.purpurConfig.stonecutterDamage);
+ org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null;
+ entity.hurt(entity.damageSources().stonecutter().directBlock(level, pos), level.purpurConfig.stonecutterDamage);
+ }
+ super.stepOn(level, pos, state, entity);
+ }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable damage settings for magma blocks
diff --git a/src/main/java/net/minecraft/world/level/block/MagmaBlock.java b/src/main/java/net/minecraft/world/level/block/MagmaBlock.java
index 10f5ffacc72a5e0116e2599ca83ee57a5b1ce0eb..31e6468f639de3ed0b25c3bc4ee09333c2150e1b 100644
index 746c211b575ca588deadbbcd5c55b614e8660ba8..2f38bac9efc224084505e802546623260830b6d4 100644
--- a/src/main/java/net/minecraft/world/level/block/MagmaBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/MagmaBlock.java
@@ -29,7 +29,7 @@ public class MagmaBlock extends Block {
@@ -14,11 +14,11 @@ index 10f5ffacc72a5e0116e2599ca83ee57a5b1ce0eb..31e6468f639de3ed0b25c3bc4ee09333
public void stepOn(Level world, BlockPos pos, BlockState state, Entity entity) {
- if (!entity.isSteppingCarefully() && entity instanceof LivingEntity && !EnchantmentHelper.hasFrostWalker((LivingEntity) entity)) {
+ if ((!entity.isSteppingCarefully() || world.purpurConfig.magmaBlockDamageWhenSneaking) && entity instanceof LivingEntity && (world.purpurConfig.magmaBlockDamageWithFrostWalker || !EnchantmentHelper.hasFrostWalker((LivingEntity) entity))) { // Purpur
org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = world.getWorld().getBlockAt(pos.getX(), pos.getY(), pos.getZ()); // CraftBukkit
entity.hurt(world.damageSources().hotFloor(), 1.0F);
org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // CraftBukkit
entity.hurt(world.damageSources().hotFloor().directBlock(world, pos), 1.0F); // CraftBukkit
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0abcb153446080c385d35cea03f6f7e8e9de8ff4..bbd1eefc53f91adce1102d865bd0c92c2cc090c2 100644
index f78b58599325a93658f6c6c2df9bde1ae4fb8784..f0dbcc6193f5fca36e9e54c792d55d135b03b4ca 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1022,6 +1022,13 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add local difficulty api
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index a139601888b88e8580bdb9c2469386a94abae975..8e6d265d612cf2c66270264345b0b54146ce9cb9 100644
index bfb178c69026e9759e9afaebb9da141b62d1f144..699432c497281f5501e48fb2a40a6f8bb65f7a6a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2375,6 +2375,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -2388,6 +2388,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight());
}
@@ -19,5 +19,5 @@ index a139601888b88e8580bdb9c2469386a94abae975..8e6d265d612cf2c66270264345b0b541
+ // Purpur end
+
@Override
public PersistentDataContainer getPersistentDataContainer() {
return this.persistentDataContainer;
public Collection<GeneratedStructure> getStructures(int x, int z) {
return this.getStructures(x, z, struct -> true);

View File

@@ -836,7 +836,7 @@ index b4b256721b7a5d25deec717123501a163fcfd8fe..75b3de5c1e26815aa04dba3f09f2ef78
while (iterator.hasNext()) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 620b7937b03ba178b3fc70b542962b12ce0d3bac..a3b3d85ff56a050219d2997955d088724132e988 100644
index c0543808d13453f9d1f56ef83b9ab16db2edd5bf..46c9cfa78fff65c24137792826c7f68483a39876 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1240,7 +1240,7 @@ public class ServerPlayer extends Player {
@@ -1095,7 +1095,7 @@ index 2e6e8eac987c4ef6b2dcd3de592d8a51d2b29792..863343a87fe34d72f04af89d75268b47
};
}
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 2c8cc87353450e2d99c80bcefaf30bc5819a6061..b58a9ea6ec03d6cd434923d2354061e624126191 100644
index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde7376e99a822 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -848,7 +848,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -1116,7 +1116,7 @@ index 2c8cc87353450e2d99c80bcefaf30bc5819a6061..b58a9ea6ec03d6cd434923d2354061e6
}
public void setSharedFlagOnFire(boolean onFire) {
@@ -1129,7 +1129,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -1128,7 +1128,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
}
@@ -1125,7 +1125,7 @@ index 2c8cc87353450e2d99c80bcefaf30bc5819a6061..b58a9ea6ec03d6cd434923d2354061e6
if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) {
movement = movement.multiply(this.stuckSpeedMultiplier);
this.stuckSpeedMultiplier = Vec3.ZERO;
@@ -1138,7 +1138,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -1137,7 +1137,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
// Paper start - ignore movement changes while inactive.
if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) {
setDeltaMovement(Vec3.ZERO);
@@ -1134,7 +1134,7 @@ index 2c8cc87353450e2d99c80bcefaf30bc5819a6061..b58a9ea6ec03d6cd434923d2354061e6
return;
}
// Paper end
@@ -1159,8 +1159,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -1158,8 +1158,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z);
}
@@ -1145,7 +1145,7 @@ index 2c8cc87353450e2d99c80bcefaf30bc5819a6061..b58a9ea6ec03d6cd434923d2354061e6
boolean flag = !Mth.equal(movement.x, vec3d1.x);
boolean flag1 = !Mth.equal(movement.z, vec3d1.z);
@@ -1179,7 +1179,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -1178,7 +1178,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.checkFallDamage(vec3d1.y, this.onGround(), iblockdata, blockposition);
if (this.isRemoved()) {
@@ -1154,7 +1154,7 @@ index 2c8cc87353450e2d99c80bcefaf30bc5819a6061..b58a9ea6ec03d6cd434923d2354061e6
} else {
if (this.horizontalCollision) {
Vec3 vec3d2 = this.getDeltaMovement();
@@ -1317,7 +1317,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -1316,7 +1316,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.setRemainingFireTicks(-this.getFireImmuneTicks());
}
@@ -1163,7 +1163,7 @@ index 2c8cc87353450e2d99c80bcefaf30bc5819a6061..b58a9ea6ec03d6cd434923d2354061e6
}
}
// Paper start - detailed watchdog information
@@ -3185,7 +3185,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -3189,7 +3189,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey);
if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit
@@ -1172,7 +1172,7 @@ index 2c8cc87353450e2d99c80bcefaf30bc5819a6061..b58a9ea6ec03d6cd434923d2354061e6
this.portalTime = i;
// Paper start - Add EntityPortalReadyEvent
io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER);
@@ -3203,7 +3203,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -3207,7 +3207,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
} // Paper - Add EntityPortalReadyEvent
// CraftBukkit end
@@ -1181,7 +1181,7 @@ index 2c8cc87353450e2d99c80bcefaf30bc5819a6061..b58a9ea6ec03d6cd434923d2354061e6
}
this.isInsidePortal = false;
@@ -3678,14 +3678,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -3681,14 +3681,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
// Paper end - Fix item duplication and teleport issues
if (this.level() instanceof ServerLevel && !this.isRemoved()) {
@@ -1198,7 +1198,7 @@ index 2c8cc87353450e2d99c80bcefaf30bc5819a6061..b58a9ea6ec03d6cd434923d2354061e6
PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit
if (shapedetectorshape == null) {
@@ -3724,7 +3724,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -3727,7 +3727,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.unRide();
// CraftBukkit end
@@ -1207,7 +1207,7 @@ index 2c8cc87353450e2d99c80bcefaf30bc5819a6061..b58a9ea6ec03d6cd434923d2354061e6
// Paper start - Fix item duplication and teleport issues
if (this instanceof Mob) {
((Mob) this).dropLeash(true, true); // Paper drop lead
@@ -3751,10 +3751,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -3754,10 +3754,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
this.removeAfterChangingDimensions();
@@ -1221,10 +1221,10 @@ index 2c8cc87353450e2d99c80bcefaf30bc5819a6061..b58a9ea6ec03d6cd434923d2354061e6
}
} else {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 38c639d0c38e07908ac26a9c998ff06f28a09089..4fe150e70b5ecd74263f67a343a5af513ab471d1 100644
index 1b58cc6ee449cfb655b7179be9d3bf8d48a86c4e..5c667328f76688d6b557452319117734aaa861a6 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -408,7 +408,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -409,7 +409,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
super.baseTick();
@@ -1233,7 +1233,7 @@ index 38c639d0c38e07908ac26a9c998ff06f28a09089..4fe150e70b5ecd74263f67a343a5af51
if (this.fireImmune() || this.level().isClientSide) {
this.clearFire();
}
@@ -511,7 +511,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -512,7 +512,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.yHeadRotO = this.yHeadRot;
this.yRotO = this.getYRot();
this.xRotO = this.getXRot();
@@ -1242,7 +1242,7 @@ index 38c639d0c38e07908ac26a9c998ff06f28a09089..4fe150e70b5ecd74263f67a343a5af51
}
public boolean canSpawnSoulSpeedParticle() {
@@ -3166,10 +3166,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3179,10 +3179,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.run += (f3 - this.run) * 0.3F;
@@ -1256,7 +1256,7 @@ index 38c639d0c38e07908ac26a9c998ff06f28a09089..4fe150e70b5ecd74263f67a343a5af51
// Paper start - stop large pitch and yaw changes from crashing the server
this.yRotO += Math.round((this.getYRot() - this.yRotO) / 360.0F) * 360.0F;
@@ -3181,7 +3181,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3194,7 +3194,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.yHeadRotO += Math.round((this.yHeadRot - this.yHeadRotO) / 360.0F) * 360.0F;
// Paper end
@@ -1265,7 +1265,7 @@ index 38c639d0c38e07908ac26a9c998ff06f28a09089..4fe150e70b5ecd74263f67a343a5af51
this.animStep += f2;
if (this.isFallFlying()) {
++this.fallFlyTicks;
@@ -3476,19 +3476,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3489,19 +3489,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
this.setDeltaMovement(d0, d1, d2);
@@ -1290,7 +1290,7 @@ index 38c639d0c38e07908ac26a9c998ff06f28a09089..4fe150e70b5ecd74263f67a343a5af51
if (this.jumping && this.isAffectedByFluids()) {
double d3;
@@ -3515,8 +3515,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3528,8 +3528,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.noJumpDelay = 0;
}
@@ -1301,7 +1301,7 @@ index 38c639d0c38e07908ac26a9c998ff06f28a09089..4fe150e70b5ecd74263f67a343a5af51
this.xxa *= 0.98F;
this.zza *= 0.98F;
this.updateFallFlying();
@@ -3543,8 +3543,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3556,8 +3556,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.travel(vec3d1);
}
@@ -1312,7 +1312,7 @@ index 38c639d0c38e07908ac26a9c998ff06f28a09089..4fe150e70b5ecd74263f67a343a5af51
if (!this.level().isClientSide && !this.isDeadOrDying() && !this.freezeLocked) { // Paper - Freeze Tick Lock API
int i = this.getTicksFrozen();
@@ -3561,15 +3561,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3574,15 +3574,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.hurt(this.damageSources().freeze(), 1.0F);
}
@@ -1332,7 +1332,7 @@ index 38c639d0c38e07908ac26a9c998ff06f28a09089..4fe150e70b5ecd74263f67a343a5af51
// Purpur start
if (this.xo != this.getX() || this.yo != this.getY() || this.zo != this.getZ() || this.yRotO != this.getYRot() || this.xRotO != this.getXRot()) {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 2cf0d698b341d418d0ac4760f95e3ea52c193098..11062e250657cb839ca046d6c224647915d3ee7b 100644
index 8588f230724e7fec2093b0b5c8c80b3d1944ce47..94c43de94a7ec7982046cf1e110b8a2230a72b19 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -367,13 +367,13 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -1568,7 +1568,7 @@ index e73d7b47327da59dbf49c2160acd0b3ebb2a4232..472b76d6ec721fa46857097589aa879f
Optional<Integer> optional = this.getBrain().getMemory(MemoryModuleType.PLAY_DEAD_TICKS);
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
index d1ada87d222e5b35c2df5a0e7b0075ec3413fa66..fb50a3f3665cca4bb2e586fbd73c580a5d691f69 100644
index a654c26742d8aa5e4c58a6391ad2fc5fe917ed3a..41773acc8e8e27daa1fe43726939b2d95da92c30 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -158,13 +158,13 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl
@@ -1799,10 +1799,10 @@ index 857d1d80afd35d30a2947b0a6f953e5af1516048..18f92478f07de7c941ff8bbe0ec2ef2f
this.assignProfessionWhenSpawned = false;
}
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
index 28ef910885dbd48965fba6f08cec412697b1b7f0..02dae407069a0200e271cc9c6f3ec6ff80f79025 100644
index f0fbde839a527481314f54a1aefa0fc317ba2221..2feebcd1b6ca062f027acf02c15c36c810942980 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -659,7 +659,7 @@ public class Explosion {
@@ -665,7 +665,7 @@ public class Explosion {
}
if (flag1) {
@@ -1811,7 +1811,7 @@ index 28ef910885dbd48965fba6f08cec412697b1b7f0..02dae407069a0200e271cc9c6f3ec6ff
List<Pair<ItemStack, BlockPos>> list = new ArrayList();
Util.shuffle(this.toBlow, this.level.random);
@@ -735,7 +735,7 @@ public class Explosion {
@@ -741,7 +741,7 @@ public class Explosion {
Block.popResource(this.level, (BlockPos) pair.getSecond(), (ItemStack) pair.getFirst());
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Debug Marker API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 2038163bd97d25560a0778d7fbdd0680ccfad46f..29c0c4247e94c0668c55fd5ef00f736ff76c8210 100644
index a4f812588b9cc1d6df556373ea0d7991058261ee..45ebcfb9f335dc0d13b3eceb5b8400041721b81d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1588,6 +1588,42 @@ public final class CraftServer implements Server {
@@ -1600,6 +1600,42 @@ public final class CraftServer implements Server {
public void removeFuel(org.bukkit.Material material) {
net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity.removeFuel(net.minecraft.world.item.ItemStack.fromBukkitCopy(new ItemStack(material)));
}
@@ -52,10 +52,10 @@ index 2038163bd97d25560a0778d7fbdd0680ccfad46f..29c0c4247e94c0668c55fd5ef00f736f
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 8e6d265d612cf2c66270264345b0b54146ce9cb9..9f2d1e3bc19ef541550e4d088343d10ea641cd23 100644
index 699432c497281f5501e48fb2a40a6f8bb65f7a6a..69f0c853ed7287c5a93b0a67e266255090e2a9ca 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2379,6 +2379,42 @@ public class CraftWorld extends CraftRegionAccessor implements World {
@@ -2392,6 +2392,42 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public float getLocalDifficultyAt(Location location) {
return getHandle().getCurrentDifficultyAt(io.papermc.paper.util.MCUtil.toBlockPosition(location)).getEffectiveDifficulty();
}
@@ -99,10 +99,10 @@ index 8e6d265d612cf2c66270264345b0b54146ce9cb9..9f2d1e3bc19ef541550e4d088343d10e
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 5d5e05ef09f79c78cfac127e8bf161f4f2afc25c..8a9ef91ebc4ed35ceebb31fd4d88fb94bf3c85ed 100644
index ec95d213d05e539547c35e13c36458519a0bd4f0..9ec600dc473d30e4f47a81dc38a608862f17788f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3428,5 +3428,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3479,5 +3479,43 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetIdleTimer() {
getHandle().resetLastActionTime();
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 8a9ef91ebc4ed35ceebb31fd4d88fb94bf3c85ed..f16d150526c99b8a280ec681f8eb548419691357 100644
index 9ec600dc473d30e4f47a81dc38a608862f17788f..d6122c121d6e18d276fb78865c6a680e9afc3378 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3466,5 +3466,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -3517,5 +3517,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (this.getHandle().connection == null) return;
this.getHandle().connection.send(new net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket(new net.minecraft.network.protocol.common.custom.GameTestClearMarkersDebugPayload()));
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Language API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 067164b3698bcb89ae2f8d09cb7009108a999670..aa04387019f2aef5e7e54a9654c05f832d508295 100644
index 45ebcfb9f335dc0d13b3eceb5b8400041721b81d..0a5867b01c1ebf21d9add1d4a2843d15b8e1acb7 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -398,6 +398,20 @@ public final class CraftServer implements Server {
@@ -400,6 +400,20 @@ public final class CraftServer implements Server {
this.serverTickManager = new CraftServerTickManager(console.tickRateManager());
Bukkit.setServer(this);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Milk Keeps Beneficial Effects
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 46230c0fbcfd565163abca17313a6f0ea5e63249..3b1c09f8afe1a008df4b75b605a796bfb1bf3899 100644
index 5c667328f76688d6b557452319117734aaa861a6..cc490788b18209d27b339a8557084049002cff09 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1124,6 +1124,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1125,6 +1125,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
for (flag = false; iterator.hasNext(); flag = true) {
// CraftBukkit start
MobEffectInstance effect = (MobEffectInstance) iterator.next();
@@ -17,7 +17,7 @@ index 46230c0fbcfd565163abca17313a6f0ea5e63249..3b1c09f8afe1a008df4b75b605a796bf
if (event.isCancelled()) {
continue;
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 08320248a6956d41d60681e3d29f81768c80fd3d..237247cb91248eb2d05e967e95cb8ad0a8a63080 100644
index b950a0d5010fd7302995772d30e69016284f6cd6..3f78ab74cd7706ad16f6d5a989803691c9842f9f 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -114,7 +114,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
@@ -30,7 +30,7 @@ index 08320248a6956d41d60681e3d29f81768c80fd3d..237247cb91248eb2d05e967e95cb8ad0
this.goalSelector.addGoal(1, new TradeWithPlayerGoal(this));
this.goalSelector.addGoal(1, new AvoidEntityGoal<>(this, Zombie.class, 8.0F, 0.5D, 0.5D));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0c928efa4e11a85901ece3dbc849c8c0c652cc71..1fc1c9d3f90fec901bddce5e55ab682bfa495b8f 100644
index 7c66d362dc5600d28165906dc9916af94c271664..0101b5c0ab87eaad0274993c2f099c04923b74b9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -128,6 +128,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Fire Immunity API
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index eb36f7a9e0f0def9a42947e3b056e6986a57efd9..bf33c028ced7c3a4e76e9ccc9d1c12877456219c 100644
index 2d997b91636aba8c71ae543253cde7376e99a822..b4a35b5a19167dee083e6b2421e815f893366fc9 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -426,6 +426,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -16,7 +16,7 @@ index eb36f7a9e0f0def9a42947e3b056e6986a57efd9..bf33c028ced7c3a4e76e9ccc9d1c1287
public void setOrigin(@javax.annotation.Nonnull Location location) {
this.origin = location.toVector();
@@ -1815,7 +1816,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -1814,7 +1815,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
}
public boolean fireImmune() {
@@ -25,7 +25,7 @@ index eb36f7a9e0f0def9a42947e3b056e6986a57efd9..bf33c028ced7c3a4e76e9ccc9d1c1287
}
public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) {
@@ -2504,6 +2505,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -2508,6 +2509,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
nbttagcompound.putBoolean("Paper.FreezeLock", true);
}
// Paper end
@@ -37,7 +37,7 @@ index eb36f7a9e0f0def9a42947e3b056e6986a57efd9..bf33c028ced7c3a4e76e9ccc9d1c1287
return nbttagcompound;
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
@@ -2651,6 +2657,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
@@ -2655,6 +2661,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
freezeLocked = nbt.getBoolean("Paper.FreezeLock");
}
// Paper end

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] bonemealable sugarcane, cactus, and netherwart
diff --git a/src/main/java/net/minecraft/world/level/block/CactusBlock.java b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
index 89c0006c06098e0d09a259ea8415d55b997367aa..a476f9a1eaa99b557962947149b6ee6ea3288d6e 100644
index 84b04419d2cb536ac42ec5373cc74cc29418755c..02ea708a5b5df9f753194cdc9312fc830af85c68 100644
--- a/src/main/java/net/minecraft/world/level/block/CactusBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
@@ -23,7 +23,7 @@ import net.minecraft.world.phys.shapes.CollisionContext;
@@ -17,7 +17,7 @@ index 89c0006c06098e0d09a259ea8415d55b997367aa..a476f9a1eaa99b557962947149b6ee6e
public static final MapCodec<CactusBlock> CODEC = simpleCodec(CactusBlock::new);
public static final IntegerProperty AGE = BlockStateProperties.AGE_15;
@@ -136,4 +136,34 @@ public class CactusBlock extends Block {
@@ -134,4 +134,34 @@ public class CactusBlock extends Block {
public boolean isPathfindable(BlockState state, BlockGetter world, BlockPos pos, PathComputationType type) {
return false;
}
@@ -89,7 +89,7 @@ index 464a9d2e4c694d5d4aae6c2d3e8a5fad0111e910..13eb4dffd60ea7902d620f484df5e3f2
// Purpur end
}
diff --git a/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java b/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java
index ceaec1776067b7635c3952025f00f13f4ea86c88..8b6c43b0a2fb4b89d6f63716e56074ef0e194e63 100644
index 04957d461d0e968d443737068aaeec1d0bce78b2..7a283fbe4663cb321739f8e42ade4039d84e462b 100644
--- a/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java
@@ -20,7 +20,7 @@ import net.minecraft.world.level.material.FluidState;
@@ -137,7 +137,7 @@ index ceaec1776067b7635c3952025f00f13f4ea86c88..8b6c43b0a2fb4b89d6f63716e56074ef
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d809d6062e3ecfd8c86c7dcc712363430ed88923..856a7576ecfb8d2ca5bffa594ad9da6f605917ab 100644
index 2441151d8a9f52088412c7f91faa9d57be1e48b5..b7faa233782b82cf1482c5306a49496ae4c46a2d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -900,8 +900,20 @@ public class PurpurWorldConfig {

View File

@@ -18,10 +18,10 @@ index 8c2c515f1b5f56bf1d6cf0c35d4f0fa7b593d1a0..6e8d9be28c5908fb12c44c0ecb0e0218
private Component getFallMessage(CombatEntry damageRecord, @Nullable Entity attacker) {
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
index fc1fb63ee0e28b8d1f065bfad716b465cde5a69f..c8860f20956a2819da001e93938249452bf7cb49 100644
index 478173fe8e61730a2210e886a4c8dc2a6e018e90..081bf5e60cd17fc88efeba3adf1c113bd8958e2a 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
+++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
@@ -126,7 +126,7 @@ public class DamageSource {
@@ -169,7 +169,7 @@ public class DamageSource {
ItemStack itemstack1 = itemstack;