Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6379)

Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
This commit is contained in:
Jake Potrebic 2021-08-13 10:08:34 -07:00 committed by GitHub
parent 80836709e7
commit e942509e73
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
76 changed files with 152 additions and 253 deletions

View File

@ -27,7 +27,7 @@ index e431e3435737e28394d81b56568a08b3c3148b9b..b23bde3b5e881f146539a307d0a59f21
+/.factorypath
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
index 0000000000000000000000000000000000000000..6e64a444fb20aabaabfb15a30d645702c11c2da8
index 0000000000000000000000000000000000000000..fd30d2e6d3716777be7bc2f28267ab5b03131342
--- /dev/null
+++ b/build.gradle.kts
@@ -0,0 +1,67 @@
@ -61,7 +61,7 @@ index 0000000000000000000000000000000000000000..6e64a444fb20aabaabfb15a30d645702
+
+ testImplementation("junit:junit:4.13.1")
+ testImplementation("org.hamcrest:hamcrest-library:1.3")
+ testImplementation("org.ow2.asm:asm-tree:9.1")
+ testImplementation("org.ow2.asm:asm-tree:9.2")
+}
+
+configure<PublishingExtension> {
@ -100,7 +100,7 @@ index 0000000000000000000000000000000000000000..6e64a444fb20aabaabfb15a30d645702
+}
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index 6f6a86034a4c312a4af97d6984a6a4547217cbf6..0000000000000000000000000000000000000000
index 538a424d42bc2b67d26e8b866da60f66bf0f22d8..0000000000000000000000000000000000000000
--- a/pom.xml
+++ /dev/null
@@ -1,262 +0,0 @@
@ -212,7 +212,7 @@ index 6f6a86034a4c312a4af97d6984a6a4547217cbf6..00000000000000000000000000000000
- <dependency>
- <groupId>org.ow2.asm</groupId>
- <artifactId>asm-tree</artifactId>
- <version>9.1</version>
- <version>9.2</version>
- <scope>test</scope>
- </dependency>
- </dependencies>

View File

@ -522,10 +522,10 @@ index c5315ee1ed435c39a3ae298e248b67c5dc291497..687a62707c8021f87e03d6bc358b3b4e
* Options which can be applied to redstone dust particles - a particle
* color and size.
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 6cc9c7fc913f229c4869a976e73253acb74fcda3..ca2b1cbff153c53ec9182e44a1979350bacd695b 100644
index 0d1e026934b45d7d7419efe3365561f5f19f3823..2ca5f2715e8827b9b1041e7e62807216d9608bf8 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -2592,7 +2592,57 @@ public interface World extends PluginMessageRecipient, Metadatable, net.kyori.ad
@@ -2674,7 +2674,57 @@ public interface World extends PluginMessageRecipient, Metadatable, net.kyori.ad
* @param data the data to use for the particle or null,
* the type of this depends on {@link Particle#getDataType()}
*/

View File

@ -5,10 +5,10 @@ Subject: [PATCH] World view distance api
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 6fe2875f95bb600606d66e2f7113d325d10a9b9c..cd96c851d00185e7ee3ec6682b166fc1d06b6a73 100644
index b4bef2b62cd78cf51d1fc2fd5b85a0ad9dae7a3d..a02d9d7851431211822e1d4157b218db9d404ab7 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -3447,6 +3447,34 @@ public interface World extends PluginMessageRecipient, Metadatable, net.kyori.ad
@@ -3529,6 +3529,34 @@ public interface World extends PluginMessageRecipient, Metadatable, net.kyori.ad
int getViewDistance();
// Spigot end

View File

@ -5,10 +5,10 @@ Subject: [PATCH] More World API
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 178a0853bd8136c6a7408f5d49604ceb2479f138..244bb359492ae486f0610f5aea6b75997dbc4bdc 100644
index e149ab9b4ccd1b98791c3ebe5e9c7eb97de853af..145780fc900531687036003d3eec2057f205679c 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -3482,6 +3482,120 @@ public interface World extends PluginMessageRecipient, Metadatable, net.kyori.ad
@@ -3564,6 +3564,105 @@ public interface World extends PluginMessageRecipient, Metadatable, net.kyori.ad
@Nullable
public Location locateNearestStructure(@NotNull Location origin, @NotNull StructureType structureType, int radius, boolean findUnexplored);
@ -47,21 +47,12 @@ index 178a0853bd8136c6a7408f5d49604ceb2479f138..244bb359492ae486f0610f5aea6b7599
+ * </ul>
+ *
+ * @return true if ultrawarm, false if not
+ * @deprecated use {@link #isUltraWarm()}
+ */
+ @Deprecated
+ boolean isUltrawarm();
+
+ /**
+ * Checks if the world is natural.
+ * <p>
+ * If {@code false}, compasses will spin randomly in the world.
+ * If {@code true}, nether portals will spawn zombified piglins.
+ * </p>
+ *
+ * @return true or false
+ */
+ boolean isNatural();
+
+ /**
+ * Gets the coordinate scaling of this world.
+ *
+ * @return the coordinate scale
@ -72,45 +63,39 @@ index 178a0853bd8136c6a7408f5d49604ceb2479f138..244bb359492ae486f0610f5aea6b7599
+ * Checks if the world has skylight access
+ *
+ * @return whether there is skylight
+ * @deprecated use {@link #hasSkyLight()}
+ */
+ @Deprecated
+ boolean hasSkylight();
+
+ /**
+ * Checks if the world has a bedrock ceiling
+ *
+ * @return whether the world has a bedrock ceiling
+ * @deprecated use {@link #hasCeiling()}
+ */
+ @Deprecated
+ boolean hasBedrockCeiling();
+
+ /**
+ * Checks if piglins will turn into Zombified Piglins in this world
+ *
+ * @return whether Piglins will <i>not</i> transform
+ */
+ boolean isPiglinSafe();
+
+ /**
+ * Checks if beds work
+ *
+ * @return whether beds work
+ * @deprecated use {@link #isBedWorks()}
+ */
+ @Deprecated
+ boolean doesBedWork();
+
+ /**
+ * Checks if respawn anchors work
+ *
+ * @return whether respawn anchors work
+ * @deprecated use {@link #isRespawnAnchorWorks()}
+ */
+ @Deprecated
+ boolean doesRespawnAnchorWork();
+
+ /**
+ * Checks if this world supports raids
+ *
+ * @return whether this world supports raids
+ */
+ boolean hasRaids();
+
+ /**
+ * Checks if this world has a fixed time
+ *
+ * @return whether this world has fixed time

View File

@ -28,7 +28,7 @@ index 67fb370cad6924895a6b27052dbd5c1767e3f0c9..bb338269c9e3bef4c274157c490d8b8f
+/.factorypath
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
index 0000000000000000000000000000000000000000..8d27de2c9da08ca32ff18fc4b8b02ea583edfc1c
index 0000000000000000000000000000000000000000..e67df300ac722061765278680ff0afc042a6d0cb
--- /dev/null
+++ b/build.gradle.kts
@@ -0,0 +1,144 @@
@ -55,7 +55,7 @@ index 0000000000000000000000000000000000000000..8d27de2c9da08ca32ff18fc4b8b02ea5
+ implementation("org.apache.logging.log4j:log4j-iostreams:2.14.1") {
+ exclude(group = "org.apache.logging.log4j", module = "log4j-api")
+ }
+ implementation("org.ow2.asm:asm:9.1")
+ implementation("org.ow2.asm:asm:9.2")
+ implementation("com.googlecode.json-simple:json-simple:1.1.1") {
+ // This includes junit transitively for whatever reason
+ isTransitive = false
@ -178,7 +178,7 @@ index 0000000000000000000000000000000000000000..8d27de2c9da08ca32ff18fc4b8b02ea5
+}
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index 9dafd60b6dcabf203ee6d60c0ea82d2845b9eec7..0000000000000000000000000000000000000000
index c936167e107ab76cfb21febb9534353f481a95d3..0000000000000000000000000000000000000000
--- a/pom.xml
+++ /dev/null
@@ -1,472 +0,0 @@
@ -244,7 +244,7 @@ index 9dafd60b6dcabf203ee6d60c0ea82d2845b9eec7..00000000000000000000000000000000
- <dependency>
- <groupId>org.ow2.asm</groupId>
- <artifactId>asm</artifactId>
- <version>9.1</version>
- <version>9.2</version>
- <scope>compile</scope>
- </dependency>
- <!-- deprecated API depend -->

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Build system changes
diff --git a/build.gradle.kts b/build.gradle.kts
index 8d27de2c9da08ca32ff18fc4b8b02ea583edfc1c..31343d49cf38063976e0f8c93264a4f3897f06fb 100644
index e67df300ac722061765278680ff0afc042a6d0cb..1ed07304bdf4288608dade345997802cb7753159 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -18,21 +18,24 @@ repositories {
@ -17,8 +17,8 @@ index 8d27de2c9da08ca32ff18fc4b8b02ea583edfc1c..31343d49cf38063976e0f8c93264a4f3
- }
+ implementation("org.apache.logging.log4j:log4j-iostreams:2.14.1") // Paper
+ implementation("org.apache.logging.log4j:log4j-api:2.14.1") // Paper
implementation("org.ow2.asm:asm:9.1")
+ implementation("org.ow2.asm:asm-commons:9.1") // Paper - ASM event executor generation
implementation("org.ow2.asm:asm:9.2")
+ implementation("org.ow2.asm:asm-commons:9.2") // Paper - ASM event executor generation
implementation("com.googlecode.json-simple:json-simple:1.1.1") {
// This includes junit transitively for whatever reason
isTransitive = false
@ -71,7 +71,7 @@ index 8d27de2c9da08ca32ff18fc4b8b02ea583edfc1c..31343d49cf38063976e0f8c93264a4f3
"org.eclipse.aether", "org.eclipse.sisu", "org.objectweb.asm"
).forEach { pack ->
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 705486f8b02957c131d464bfd862247c555d2d51..2e22decfc52951ae32987c5147438e793227bd13 100644
index 1338f52370dafbb8820a67cc4528eb20e0b9155c..90af1b123722bac1c4c5956465a153ec1ea998ff 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -190,7 +190,7 @@ public class Main {

View File

@ -1223,7 +1223,7 @@ index 762a9392ffac3042356709dddd15bb3516048bed..3544e2dc2522e9d6305d727d56e73490
buf.writeComponent(this.footer);
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 83c8fd73ef575aff6880582a958a61a9c466edba..a65377c410a921136db697a7016a2ffdcc8dd5a1 100644
index b3ce71df7ed67583925b21b59d8f1ccf9ed5beda..5358faada2d6cf806a468190ec568ffa322aa121 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -146,6 +146,7 @@ import net.minecraft.world.scores.Score;
@ -1250,11 +1250,10 @@ index 83c8fd73ef575aff6880582a958a61a9c466edba..a65377c410a921136db697a7016a2ffd
this.bukkitPickUpLoot = true;
this.maxHealthCache = this.getMaxHealth();
}
@@ -732,23 +735,17 @@ public class ServerPlayer extends Player {
@@ -734,22 +737,17 @@ public class ServerPlayer extends Player {
Component defaultMessage = this.getCombatTracker().getDeathMessage();
- String deathmessage = defaultMessage.getString();
String deathmessage = defaultMessage.getString();
this.keepLevel = keepInventory; // SPIGOT-2222: pre-set keepLevel
- org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, deathmessage, keepInventory);
+ org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, PaperAdventure.asAdventure(defaultMessage), defaultMessage.getString(), keepInventory); // Paper - Adventure
@ -1278,7 +1277,7 @@ index 83c8fd73ef575aff6880582a958a61a9c466edba..a65377c410a921136db697a7016a2ffd
this.connection.send((Packet) (new ClientboundPlayerCombatKillPacket(this.getCombatTracker(), ichatbasecomponent)), (future) -> {
if (!future.isSuccess()) {
@@ -1702,6 +1699,7 @@ public class ServerPlayer extends Player {
@@ -1703,6 +1701,7 @@ public class ServerPlayer extends Player {
}
public String locale = "en_us"; // CraftBukkit - add, lowercase
@ -1286,7 +1285,7 @@ index 83c8fd73ef575aff6880582a958a61a9c466edba..a65377c410a921136db697a7016a2ffd
public void updateOptions(ServerboundClientInformationPacket packet) {
// CraftBukkit start
if (getMainArm() != packet.getMainHand()) {
@@ -1713,6 +1711,10 @@ public class ServerPlayer extends Player {
@@ -1714,6 +1713,10 @@ public class ServerPlayer extends Player {
this.server.server.getPluginManager().callEvent(event);
}
this.locale = packet.language;
@ -2482,7 +2481,7 @@ index 1a6cca634d6b40a6d5f30eda98be3aa72c2569ad..32f555a846d34e086e75c027a92a48ea
private final Player.Spigot spigot = new Player.Spigot()
{
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index eef4726c754eee963b3c3cb4f812ffeab24181c4..7103eed119a1a802476d08daca2ec36543d9bd6b 100644
index ded90f10b0034e7982c426b40d2e399dc95e24d4..0f7aa47de024cf8e7c33efd688bd34447ec2a702 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -802,9 +802,9 @@ public class CraftEventFactory {
@ -2495,9 +2494,9 @@ index eef4726c754eee963b3c3cb4f812ffeab24181c4..7103eed119a1a802476d08daca2ec365
- PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage);
+ PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage, stringDeathMessage); // Paper - Adventure
event.setKeepInventory(keepInventory);
event.setKeepLevel(victim.keepLevel); // SPIGOT-2222: pre-set keepLevel
org.bukkit.World world = entity.getWorld();
Bukkit.getServer().getPluginManager().callEvent(event);
@@ -828,7 +828,7 @@ public class CraftEventFactory {
@@ -829,7 +829,7 @@ public class CraftEventFactory {
* Server methods
*/
public static ServerListPingEvent callServerListPingEvent(Server craftServer, InetAddress address, String motd, int numPlayers, int maxPlayers) {

View File

@ -20,10 +20,10 @@ index 4bba6977a0287837b8927718c040ac61463f0469..e6e18f309dc09ea9416ea37dcc697ddc
+ }
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index a8a0f65d99ed062467e50a79349dc6b56f325709..094228ff071218f49d07f8e5343e1544c98e14d1 100644
index 5358faada2d6cf806a468190ec568ffa322aa121..65ef47b59f9096e7ae4358cf417d73327f9d91a4 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -934,6 +934,7 @@ public class ServerPlayer extends Player {
@@ -936,6 +936,7 @@ public class ServerPlayer extends Player {
this.unRide();
this.getLevel().removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION);
if (!this.wonGame) {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Implement PlayerLocaleChangeEvent
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 68bc585a446585bfc3922db8e4539a25f846e308..2903f3d98949b5a582bf7996b73083f1941a664d 100644
index 36edbdf8717f8cf4611da2e304c9aac0b9f44b49..2b13aec562182ce56a2fe16b70f20af3fc2df46c 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1707,7 +1707,7 @@ public class ServerPlayer extends Player {
@@ -1709,7 +1709,7 @@ public class ServerPlayer extends Player {
return s;
}
@ -17,7 +17,7 @@ index 68bc585a446585bfc3922db8e4539a25f846e308..2903f3d98949b5a582bf7996b73083f1
public java.util.Locale adventure$locale = java.util.Locale.US; // Paper
public void updateOptions(ServerboundClientInformationPacket packet) {
// CraftBukkit start
@@ -1715,9 +1715,10 @@ public class ServerPlayer extends Player {
@@ -1717,9 +1717,10 @@ public class ServerPlayer extends Player {
PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT);
this.server.server.getPluginManager().callEvent(event);
}

View File

@ -44,10 +44,10 @@ index c5a8edf426e79b8746c7a5a5a5de3e3df1708740..f030c8d7c28039fde273e6b30c63ea79
entitywitch.finalizeSpawn(world, world.getCurrentDifficultyAt(entitywitch.blockPosition()), MobSpawnType.CONVERSION, (SpawnGroupData) null, (CompoundTag) null);
entitywitch.setNoAi(this.isNoAi());
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 631a2e301d4940486a401c427b7b2db44bd68e3c..5ec43b4fdb059080a744e199a6a1f6c14b78ae33 100644
index 0f7aa47de024cf8e7c33efd688bd34447ec2a702..c5146ccf0dfc979306d9e4401c9b053ed040e777 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1113,6 +1113,14 @@ public class CraftEventFactory {
@@ -1116,6 +1116,14 @@ public class CraftEventFactory {
return event;
}

View File

@ -18,10 +18,10 @@ index 8b8181cfdd8d826dd132eb9475f6ff8e04afa465..4000480a14d2ba52149f4fa47f824abf
--this.count;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 5ec43b4fdb059080a744e199a6a1f6c14b78ae33..894deb67940a131832d25daae7ab28d5a304101a 100644
index c5146ccf0dfc979306d9e4401c9b053ed040e777..32bd705a44acb8b2fef1759e72cc47bde8f1e764 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1072,6 +1072,17 @@ public class CraftEventFactory {
@@ -1075,6 +1075,17 @@ public class CraftEventFactory {
return event;
}

View File

@ -87,10 +87,10 @@ index f81be1c6a5efc5090fbb8832f44dbb2ae6aa2f4a..8e81b19706a14c21b5ffdc4f12818fe7
this.checkInsideBlocks();
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 894deb67940a131832d25daae7ab28d5a304101a..1ecd631c169e137669a154eecd0a1f4cd1230240 100644
index 32bd705a44acb8b2fef1759e72cc47bde8f1e764..0e1cdea5ba4b01ee5c64b74ebff466e6f5d9045f 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1216,6 +1216,16 @@ public class CraftEventFactory {
@@ -1219,6 +1219,16 @@ public class CraftEventFactory {
return CraftItemStack.asNMSCopy(bitem);
}

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Properly fix item duplication bug
Credit to prplz for figuring out the real issue
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 56599cda3b8fcb61fc34d23b8bdc81fe2b8cebd7..b40d1e5692b476df939a8378af7c1c2b2ebcf1f7 100644
index 8832c36a9f2885514eb7a9e6c37744ae45617b66..9761078ba0c984eec303e96d1ee64fbce659075c 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2127,7 +2127,7 @@ public class ServerPlayer extends Player {
@@ -2129,7 +2129,7 @@ public class ServerPlayer extends Player {
@Override
public boolean isImmobile() {

View File

@ -19,7 +19,7 @@ Other changes:
configuration
diff --git a/build.gradle.kts b/build.gradle.kts
index 31343d49cf38063976e0f8c93264a4f3897f06fb..af867b39253f49f5dcf927d8659bc84cab0e26f0 100644
index 1ed07304bdf4288608dade345997802cb7753159..ae52e2445cd12fd38d2155b8bdc5c53d86d71b30 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -17,7 +17,17 @@ repositories {
@ -40,7 +40,7 @@ index 31343d49cf38063976e0f8c93264a4f3897f06fb..af867b39253f49f5dcf927d8659bc84c
+ // Paper end
implementation("org.apache.logging.log4j:log4j-iostreams:2.14.1") // Paper
implementation("org.apache.logging.log4j:log4j-api:2.14.1") // Paper
implementation("org.ow2.asm:asm:9.1")
implementation("org.ow2.asm:asm:9.2")
diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
new file mode 100644
index 0000000000000000000000000000000000000000..a4070b59e261f0f1ac4beec47b11492f4724bf27
@ -278,7 +278,7 @@ index 98b8027f57c8c68621957652823e0994c2a19219..d516f012ffbb5d12f698101efe91baff
@Override
public PluginCommand getPluginCommand(String name) {
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 07015442c0a7b9a008c8053dcaabb1caa6ef6a10..806e5e55ea2596d221e375f7a005488abef33d19 100644
index f09520b7723dee6ab04215276d037012d643999f..bbf552bf586de94d8dfc5fb1c18e0af6f75aebe1 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -12,7 +12,7 @@ import java.util.logging.Level;

View File

@ -34,10 +34,10 @@ index 160da347ed52739e930044fe456a4dd36e561a43..d06fa20dd605e9ce0e41a4d69ffeec98
if (this.sendParticles(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 49ef818c6601855924472e655d3419d82c28e339..18e4c893f86cdaf816e5d88416fe3fe7be953bc5 100644
index 1e96978cb4abf92eadd570bcda6a04ac76793e30..39412e473be4d138d789cabe27f4b64b00f23a97 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2359,11 +2359,17 @@ public class CraftWorld implements World {
@@ -2404,11 +2404,17 @@ public class CraftWorld implements World {
@Override
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) {

View File

@ -29,7 +29,7 @@ index d06fa20dd605e9ce0e41a4d69ffeec98bceb3a63..19f8e74f292e83f7438683efddbaa493
}
// Spigot End
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index ecee9d7b4c6fd9defbc1a8ddcffb3221df3587b2..4b554a9556bf29334eaaf9d4f14643ee246899c9 100644
index ca9662d92db176270ec5490ecc51208b666bc594..740ee29affa30ffd7a7e2b612cae4a1124f9bfb4 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -598,7 +598,7 @@ public class ServerPlayer extends Player {
@ -41,7 +41,7 @@ index ecee9d7b4c6fd9defbc1a8ddcffb3221df3587b2..4b554a9556bf29334eaaf9d4f14643ee
this.containerMenu = this.inventoryMenu;
}
@@ -750,7 +750,7 @@ public class ServerPlayer extends Player {
@@ -752,7 +752,7 @@ public class ServerPlayer extends Player {
// SPIGOT-943 - only call if they have an inventory open
if (this.containerMenu != this.inventoryMenu) {
@ -50,7 +50,7 @@ index ecee9d7b4c6fd9defbc1a8ddcffb3221df3587b2..4b554a9556bf29334eaaf9d4f14643ee
}
net.kyori.adventure.text.Component deathMessage = event.deathMessage() != null ? event.deathMessage() : net.kyori.adventure.text.Component.empty(); // Paper - Adventure
@@ -1401,7 +1401,7 @@ public class ServerPlayer extends Player {
@@ -1403,7 +1403,7 @@ public class ServerPlayer extends Player {
}
// CraftBukkit end
if (this.containerMenu != this.inventoryMenu) {
@ -59,7 +59,7 @@ index ecee9d7b4c6fd9defbc1a8ddcffb3221df3587b2..4b554a9556bf29334eaaf9d4f14643ee
}
// this.nextContainerCounter(); // CraftBukkit - moved up
@@ -1430,7 +1430,13 @@ public class ServerPlayer extends Player {
@@ -1432,7 +1432,13 @@ public class ServerPlayer extends Player {
@Override
public void closeContainer() {
@ -187,10 +187,10 @@ index 1ad37b47a64700f9fd895afb26f8b07c0cad72d5..067a3990825dd17d2843a5f8d215d19d
// Check if the fromWorld and toWorld are the same.
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index f1f0237e503fd24dfa8fedc48fea2f591fae607f..9eae5bc0f1248f05381f24abdb5ef250fab2fd55 100644
index 0e1cdea5ba4b01ee5c64b74ebff466e6f5d9045f..e7ae70313146fa779395c5b00d61bcee397f95a5 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1185,7 +1185,7 @@ public class CraftEventFactory {
@@ -1188,7 +1188,7 @@ public class CraftEventFactory {
public static AbstractContainerMenu callInventoryOpenEvent(ServerPlayer player, AbstractContainerMenu container, boolean cancelled) {
if (player.containerMenu != player.inventoryMenu) { // fire INVENTORY_CLOSE if one already open
@ -199,7 +199,7 @@ index f1f0237e503fd24dfa8fedc48fea2f591fae607f..9eae5bc0f1248f05381f24abdb5ef250
}
CraftServer server = player.level.getCraftServer();
@@ -1351,8 +1351,18 @@ public class CraftEventFactory {
@@ -1354,8 +1354,18 @@ public class CraftEventFactory {
return event;
}

View File

@ -99,10 +99,10 @@ index a84c8e135511eed9db5895bdf7fc68b3952a5521..1fef077a6d5efc8bdc171b5c6e2a4912
public boolean isClientSide() {
return this.isClientSide;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 9eae5bc0f1248f05381f24abdb5ef250fab2fd55..ce01df5dbb4913b9620a1bab3c0a251defb99f75 100644
index e7ae70313146fa779395c5b00d61bcee397f95a5..b7fbbe39bc36f5315abe658b00704836a40d34ca 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1221,6 +1221,14 @@ public class CraftEventFactory {
@@ -1224,6 +1224,14 @@ public class CraftEventFactory {
Projectile projectile = (Projectile) entity.getBukkitEntity();
org.bukkit.entity.Entity collided = position.getEntity().getBukkitEntity();
com.destroystokyo.paper.event.entity.ProjectileCollideEvent event = new com.destroystokyo.paper.event.entity.ProjectileCollideEvent(projectile, collided);

View File

@ -3619,10 +3619,10 @@ index e5e138fb23d03eb63e547e74d3e14ec9d96d8107..90f7b06bd2c558be35c4577044fa033e
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index ce723a4340202c16eaf7544f77c1075c4f277cb9..03a7e5d61d8888e1e836bd5a69ee9443b723f72c 100644
index 9128b6db3f28f168864345ca354707e37a77faaa..8a244988f984e7cb9df7308b21aec1524fbef3f1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2426,6 +2426,34 @@ public class CraftWorld implements World {
@@ -2471,6 +2471,34 @@ public class CraftWorld implements World {
public DragonBattle getEnderDragonBattle() {
return (this.getHandle().dragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().dragonFight());
}

View File

@ -19,7 +19,7 @@ maybe more (please check patch overrides for drops for more):
- players, armor stands, foxes, chested donkeys/llamas
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 4b554a9556bf29334eaaf9d4f14643ee246899c9..e73046e6d322ddc0feb4979ec0038c4a56778ed9 100644
index 740ee29affa30ffd7a7e2b612cae4a1124f9bfb4..a0ae4dc83e6ff43239a7d4bbd6f8e4197d6290d3 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -219,6 +219,10 @@ public class ServerPlayer extends Player {
@ -33,9 +33,9 @@ index 4b554a9556bf29334eaaf9d4f14643ee246899c9..e73046e6d322ddc0feb4979ec0038c4a
// CraftBukkit start
public String displayName;
@@ -747,6 +751,15 @@ public class ServerPlayer extends Player {
Component defaultMessage = this.getCombatTracker().getDeathMessage();
@@ -749,6 +753,15 @@ public class ServerPlayer extends Player {
String deathmessage = defaultMessage.getString();
this.keepLevel = keepInventory; // SPIGOT-2222: pre-set keepLevel
org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, PaperAdventure.asAdventure(defaultMessage), defaultMessage.getString(), keepInventory); // Paper - Adventure
+ // Paper start - cancellable death event
+ if (event.isCancelled()) {
@ -49,7 +49,7 @@ index 4b554a9556bf29334eaaf9d4f14643ee246899c9..e73046e6d322ddc0feb4979ec0038c4a
// SPIGOT-943 - only call if they have an inventory open
if (this.containerMenu != this.inventoryMenu) {
@@ -894,8 +907,17 @@ public class ServerPlayer extends Player {
@@ -896,8 +909,17 @@ public class ServerPlayer extends Player {
}
}
}
@ -70,7 +70,7 @@ index 4b554a9556bf29334eaaf9d4f14643ee246899c9..e73046e6d322ddc0feb4979ec0038c4a
}
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 616d6404a966153f89ae63b559b5b66cbb832104..676d24a1c57b5d3d14c3599d09196da128b6e19e 100644
index 4bc467f5c0fd261a01fd4ecc49015b6e7d6b6ef9..82d6d56d6e1bc6f98811a4a9b2a9d80a62c61292 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 {
@ -110,7 +110,7 @@ index 616d6404a966153f89ae63b559b5b66cbb832104..676d24a1c57b5d3d14c3599d09196da1
}
@@ -1613,20 +1613,46 @@ public abstract class LivingEntity extends Entity {
if (!this.level.isClientSide && this.hasCustomName()) {
LivingEntity.LOGGER.info("Named entity {} died: {}", this, this.getCombatTracker().getDeathMessage().getString());
if (org.spigotmc.SpigotConfig.logNamedDeaths) LivingEntity.LOGGER.info("Named entity {} died: {}", this, this.getCombatTracker().getDeathMessage().getString()); // Spigot
}
+ */ // Paper - move down to make death event cancellable - this is the runKillTrigger below
@ -136,7 +136,7 @@ index 616d6404a966153f89ae63b559b5b66cbb832104..676d24a1c57b5d3d14c3599d09196da1
+ }
+
+ if (!this.level.isClientSide && this.hasCustomName()) {
+ LivingEntity.LOGGER.info("Named entity {} died: {}", this, this.getCombatTracker().getDeathMessage().getString());
+ if (org.spigotmc.SpigotConfig.logNamedDeaths) LivingEntity.LOGGER.info("Named entity {} died: {}", this, this.getCombatTracker().getDeathMessage().getString()); // Spigot
+ }
+
+ this.getCombatTracker().recheckStatus();
@ -297,7 +297,7 @@ index 30357dd7b527c40f9aa42a5873ad21c46d3c2311..6fac6afd5ea4e35f6bb0e9b859fb9b4c
public void injectScaledMaxHealth(Collection<AttributeInstance> collection, boolean force) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 0ddd9de39a0d67529a8f973f5dfaf5ff53f5eb66..253075002cffb67095d010a6a4c67d9efff9d5ea 100644
index 732a6f247e25e245909829d9fa784fced1d3cca2..736e308dff475623fd44370f3ea76e51b582d1dd 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -802,9 +802,16 @@ public class CraftEventFactory {
@ -317,10 +317,10 @@ index 0ddd9de39a0d67529a8f973f5dfaf5ff53f5eb66..253075002cffb67095d010a6a4c67d9e
victim.expToDrop = event.getDroppedExp();
for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
@@ -820,8 +827,15 @@ public class CraftEventFactory {
CraftPlayer entity = victim.getBukkitEntity();
@@ -821,8 +828,15 @@ public class CraftEventFactory {
PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage, stringDeathMessage); // Paper - Adventure
event.setKeepInventory(keepInventory);
event.setKeepLevel(victim.keepLevel); // SPIGOT-2222: pre-set keepLevel
+ populateFields(victim, event); // Paper - make cancellable
org.bukkit.World world = entity.getWorld();
Bukkit.getServer().getPluginManager().callEvent(event);
@ -333,7 +333,7 @@ index 0ddd9de39a0d67529a8f973f5dfaf5ff53f5eb66..253075002cffb67095d010a6a4c67d9e
victim.keepLevel = event.getKeepLevel();
victim.newLevel = event.getNewLevel();
@@ -838,6 +852,31 @@ public class CraftEventFactory {
@@ -839,6 +853,31 @@ public class CraftEventFactory {
return event;
}

View File

@ -19,10 +19,10 @@ spectate the target entity.
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index e73046e6d322ddc0feb4979ec0038c4a56778ed9..1db6027543a11d46b97b72d0a7a0f37f929c81e1 100644
index a0ae4dc83e6ff43239a7d4bbd6f8e4197d6290d3..95939ed686ac052ca338520f2b2169b717a6127c 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1822,14 +1822,58 @@ public class ServerPlayer extends Player {
@@ -1824,14 +1824,58 @@ public class ServerPlayer extends Player {
}
public void setCamera(Entity entity) {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Reset players airTicks on respawn
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 1db6027543a11d46b97b72d0a7a0f37f929c81e1..be7707a4aa96ededc72daad3de3d9f926bd2e5da 100644
index 95939ed686ac052ca338520f2b2169b717a6127c..1fb1755706bac5633094ca7f17744bd46a9e87ee 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2221,6 +2221,7 @@ public class ServerPlayer extends Player {
@@ -2223,6 +2223,7 @@ public class ServerPlayer extends Player {
this.setHealth(this.getMaxHealth());
this.stopUsingItem(); // CraftBukkit - SPIGOT-6682: Clear active item on reset

View File

@ -20,10 +20,10 @@ this is going to be the best soultion all around.
Improvements/suggestions welcome!
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index be7707a4aa96ededc72daad3de3d9f926bd2e5da..4f93f576bbbf7e8d0217f8d30f4c578ad917477a 100644
index 1fb1755706bac5633094ca7f17744bd46a9e87ee..fcbc5019e5f9a9aca56abc0f684dbb54da5c2e0a 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1295,11 +1295,13 @@ public class ServerPlayer extends Player {
@@ -1297,11 +1297,13 @@ public class ServerPlayer extends Player {
}
}
@ -93,7 +93,7 @@ index 103a0eb2580384d50eda74da83fbc64f5e6dd7cd..70f18293c5b6f6a8f9e83048a393cb21
if (this.valid) {
Bukkit.getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index ef3b47c30e9fa0a41268b61d3008507587999aa6..f6ed1ec062eef635b8e629b0e200185054c15919 100644
index da90cd890cbe702565daa485141ce5a680511192..6927e6aa94ca509eef70fea6a489840f1e1f47a1 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3335,11 +3335,13 @@ public abstract class LivingEntity extends Entity {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Workaround for vehicle tracking issue on disconnect
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 95690ac3b3404ebe3d2308aaee09d9ec52b8f76d..8d932e57392a472dae08ada6a72a35636401f4f8 100644
index c82f40c2b04cb139fcb559c425757aa2b7e37118..2623ed5aa85de9fa900b2671e557ad32c6e9fe21 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1538,6 +1538,13 @@ public class ServerPlayer extends Player {
@@ -1540,6 +1540,13 @@ public class ServerPlayer extends Player {
public void disconnect() {
this.disconnected = true;
this.ejectPassengers();

View File

@ -8,7 +8,7 @@ Exposes a mutable array on items a player should keep on death
Example Usage: https://gist.github.com/aikar/5bb202de6057a051a950ce1f29feb0b4
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 8d932e57392a472dae08ada6a72a35636401f4f8..8c4052939281061aadbe7b8aba2abda45d7324b5 100644
index 2623ed5aa85de9fa900b2671e557ad32c6e9fe21..8537d010fa698c05c227f71b83b1e743f8578d84 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -725,6 +725,46 @@ public class ServerPlayer extends Player {
@ -58,7 +58,7 @@ index 8d932e57392a472dae08ada6a72a35636401f4f8..8c4052939281061aadbe7b8aba2abda4
@Override
public void die(DamageSource source) {
boolean flag = this.level.getGameRules().getBoolean(GameRules.RULE_SHOWDEATHMESSAGES);
@@ -809,6 +849,12 @@ public class ServerPlayer extends Player {
@@ -811,6 +851,12 @@ public class ServerPlayer extends Player {
// we clean the player's inventory after the EntityDeathEvent is called so plugins can get the exact state of the inventory.
if (!event.getKeepInventory()) {
this.getInventory().clearContent();

View File

@ -221,10 +221,10 @@ index 4185e6bcf9b2bb65b2a0fa5fcbeb5684615169a7..dbc29442f2b2ad3ea451910f4944e901
this.maxCount = i * i;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 3e2ab97daf807a6cc3502214f85559ecd21c59f7..c6373fe0361bd5c77036d36ac8ebe66408335b0c 100644
index 1731081399133eda9a816e91d0e3e3f9e2c122a5..bcfc4bc482981feca7b291b4fd4e1f2dac8a1f27 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1976,15 +1976,21 @@ public class CraftWorld implements World {
@@ -2021,15 +2021,21 @@ public class CraftWorld implements World {
@Override
public void setKeepSpawnInMemory(boolean keepLoaded) {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in sneak when changing worlds (MC-10657)
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 8c4052939281061aadbe7b8aba2abda45d7324b5..a1000e6753cb11c378595142d116d1e7e084e287 100644
index 8537d010fa698c05c227f71b83b1e743f8578d84..8eac8e0898ffe621024daf3a1250e9c932cf0fcf 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1097,6 +1097,8 @@ public class ServerPlayer extends Player {
@@ -1099,6 +1099,8 @@ public class ServerPlayer extends Player {
this.lastSentHealth = -1.0F;
this.lastSentFood = -1;

View File

@ -5,10 +5,10 @@ Subject: [PATCH] PlayerDeathEvent#shouldDropExperience
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index a1000e6753cb11c378595142d116d1e7e084e287..6ef66b171c0d373855550b7622464568e5b4bc5c 100644
index 8eac8e0898ffe621024daf3a1250e9c932cf0fcf..cd5394a0f1b46946b4f1575412c01bfcd86e782f 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -845,7 +845,7 @@ public class ServerPlayer extends Player {
@@ -847,7 +847,7 @@ public class ServerPlayer extends Player {
this.tellNeutralMobsThatIDied();
}
// SPIGOT-5478 must be called manually now

View File

@ -520,7 +520,7 @@ index 45c7ebe67019cdbe88b6617a95d5c40d3a68286c..38eebda226e007c8910e04f502ce218c
if (withinViewDistance) {
DistanceManager.this.ticketThrottlerInput.tell(ChunkTaskPriorityQueueSorter.message(() -> {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 6ef66b171c0d373855550b7622464568e5b4bc5c..34c7c414cd3f92395a701f0f494ebab82c7b67b3 100644
index cd5394a0f1b46946b4f1575412c01bfcd86e782f..d234f08782b1a0c50714b8911d048699dc7741d5 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -242,6 +242,7 @@ public class ServerPlayer extends Player {
@ -658,10 +658,10 @@ index 515e28eea8cbab261320352ee0db9b877807f3ed..83ed84f89a036d3768b22a36bc8a0bfc
this.postProcessing[i].clear();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 2c4ffaa4e9ce7759e6782547300ec6f457530c3b..a4d05aeccc142808981f1ecebd001c905ae721ed 100644
index b57e5ffca725b10570aa10a870b992e6b767c2ec..4c439246f476225e6a1c6a2e758cf6d6d0fdf7a9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2542,10 +2542,39 @@ public class CraftWorld implements World {
@@ -2587,10 +2587,39 @@ public class CraftWorld implements World {
// Spigot start
@Override
public int getViewDistance() {

View File

@ -6,13 +6,13 @@ Subject: [PATCH] Allow overriding the java version check
-DPaper.IgnoreJavaVersion=true
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 920ba98fdd82ae3f9d507c940020d3142a466682..8311c2b5469009e4410bff3a9ecb7fa4125b26b9 100644
index 1da136f365664d4f8ace3d2d135b19eb97e55304..33fb61c219f5356a40c4e6e47187a3a606402536 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -185,7 +185,7 @@ public class Main {
}
if (javaVersion > 60.0) {
System.err.println("Unsupported Java detected (" + javaVersion + "). Only up to Java 16 is supported.");
if (javaVersion > 61.0) {
System.err.println("Unsupported Java detected (" + javaVersion + "). Only up to Java 17 is supported.");
- return;
+ if (!Boolean.getBoolean("Paper.IgnoreJavaVersion")) return; // Paper
}

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Prevent opening inventories when frozen
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 14f5f6b99c51c51b1c8a7d54e58627ae71caf134..d2cc6e37f115eca94acbb595b974f8dfde69077a 100644
index bbf67e47ee643ed8d0ca1029b5099bd87f2e3d35..b84cc33b10d84e0484df52e3e8295f4cdc1f3260 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -610,7 +610,7 @@ public class ServerPlayer extends Player {
@ -17,7 +17,7 @@ index 14f5f6b99c51c51b1c8a7d54e58627ae71caf134..d2cc6e37f115eca94acbb595b974f8df
this.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.CANT_USE); // Paper
this.containerMenu = this.inventoryMenu;
}
@@ -1455,7 +1455,7 @@ public class ServerPlayer extends Player {
@@ -1457,7 +1457,7 @@ public class ServerPlayer extends Player {
} else {
// CraftBukkit start
this.containerMenu = container;

View File

@ -85,10 +85,10 @@ index 0000000000000000000000000000000000000000..b6f4400df3d8ec7e06a996de54f8cabb
+ }
+}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index d2cc6e37f115eca94acbb595b974f8dfde69077a..a58424219a2aed13494b174632acee36a9b800d3 100644
index b84cc33b10d84e0484df52e3e8295f4cdc1f3260..992e9d3b7713a651af91fdc0f231da2f2964be41 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1807,6 +1807,7 @@ public class ServerPlayer extends Player {
@@ -1809,6 +1809,7 @@ public class ServerPlayer extends Player {
public String locale = null; // CraftBukkit - add, lowercase // Paper - default to null
public java.util.Locale adventure$locale = java.util.Locale.US; // Paper
public void updateOptions(ServerboundClientInformationPacket packet) {

View File

@ -44,7 +44,7 @@ index 9dc9153bd53b0d1e63d0367498a99271821217e0..5285a5b16b0b706d9e1728a23628ff12
this.printSaveWarning = false;
console.autosavePeriod = this.configuration.getInt("ticks-per.autosave");
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index e6b7302554b2a54363d55e149744237679262174..8536452ccd65814b55bc78736060b387e051c3db 100644
index 600e68ab19121c63983633587a60a2ec4dc60d6a..32c24f9e37262f2a854556787f61cd7b7336da11 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -406,8 +406,21 @@ public class CraftWorld implements World {
@ -111,7 +111,7 @@ index e6b7302554b2a54363d55e149744237679262174..8536452ccd65814b55bc78736060b387
world.getChunkSource().getChunk(x, z, ChunkStatus.FULL, true);
return true;
// Paper end
@@ -2545,6 +2561,7 @@ public class CraftWorld implements World {
@@ -2590,6 +2606,7 @@ public class CraftWorld implements World {
return this.world.getChunkSource().getChunkAtAsynchronously(x, z, gen, urgent).thenComposeAsync((either) -> {
net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk) either.left().orElse(null);

View File

@ -94,10 +94,10 @@ index 3df5031ec2c50dc6eb2533318cf8a98f21b03d2a..c971a534ded962e3be92c71059c75cc1
private void setupRecipeList(Container input, ItemStack stack) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index be7a9b0d8f65c884c0ff183041c20b7a99c30e2a..69a4795266b40c3cd113b13300bb7bbdcf842496 100644
index d5588bca58d999b7242041127fac3809aa9e2ddd..c96953ab3f358c7c67297532cd6740ff3ff61aa3 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1548,19 +1548,44 @@ public class CraftEventFactory {
@@ -1551,19 +1551,44 @@ public class CraftEventFactory {
return event;
}

View File

@ -1027,7 +1027,7 @@ index ffe700489cb2d507421abfb48939808de0adc8be..c63cbb6da6f734c3a93c63af2b28a6e5
boolean flag1 = this.chunkMap.promoteChunkMap();
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 89fcf88f35a071db1704c026a99625c84daf2f28..ab12bc6db7fdc865989804aa6366cdefefbc9a31 100644
index cf09bd17b9d2be04f79edef6debdd815b5f7f86c..6cf83d9b1e43ade17cb67843dbdc11937eda1e08 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -189,6 +189,14 @@ public class ServerPlayer extends Player {
@ -1157,10 +1157,10 @@ index 3e951522169fcb071cc578e8bd9a78baa10f4e4d..cc4b48f6c62aaccddaf81576865b56f8
public float yRotO;
public float xRotO;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 8536452ccd65814b55bc78736060b387e051c3db..881af8e0b8383b25b94958b03cfdb6602c4a33cf 100644
index 32c24f9e37262f2a854556787f61cd7b7336da11..08b4589c3b565db70e89aea0715e53c7c0529460 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2559,6 +2559,12 @@ public class CraftWorld implements World {
@@ -2604,6 +2604,12 @@ public class CraftWorld implements World {
return future;
}

View File

@ -6,10 +6,10 @@ Subject: [PATCH] Add missing strikeLighting call to
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 881af8e0b8383b25b94958b03cfdb6602c4a33cf..d53918ec0911ef2becccb4dc6e11a9b1c8b8bf34 100644
index 08b4589c3b565db70e89aea0715e53c7c0529460..7bb0f720d3acd9b0b443446ed639b5c645aa373c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2630,6 +2630,7 @@ public class CraftWorld implements World {
@@ -2675,6 +2675,7 @@ public class CraftWorld implements World {
lightning.moveTo( loc.getX(), loc.getY(), loc.getZ() );
lightning.visualOnly = true;
lightning.isSilent = isSilent;

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Player Chunk Load/Unload Events
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 2310ad5d89f9184d11c3f2d8de211425b81858df..6e6cfb0a0c27c69fcd749ffae42ef4ea9a7eeaec 100644
index 84ef1c60223d421cf515c07342d2296e477dd4b7..82b4805b417b130be3ce9ab6ed886c85e811ba98 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2094,11 +2094,21 @@ public class ServerPlayer extends Player {
@@ -2096,11 +2096,21 @@ public class ServerPlayer extends Player {
public void trackChunk(ChunkPos chunkPos, Packet<?> chunkDataPacket, Packet<?> lightUpdatePacket) {
this.connection.send(lightUpdatePacket);
this.connection.send(chunkDataPacket);

View File

@ -64,10 +64,10 @@ index 888d812118c15c212284687ae5842a94f5715d52..e7ca5d6fb8922e7e8065864f736b0605
public int get() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 59543c88dcde9d2056bb481383a2784be0637ae8..7647caea0fb8dbb2b8837dc4379f0bc634df719e 100644
index ae396e3ec6c5506ed49b5e80cf236d7d2128cee1..2441a791385c6292d2607de68bfd190e43d9eddc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2364,8 +2364,13 @@ public class CraftWorld implements World {
@@ -2409,8 +2409,13 @@ public class CraftWorld implements World {
if (!this.isGameRule(rule)) return false;
@ -82,7 +82,7 @@ index 59543c88dcde9d2056bb481383a2784be0637ae8..7647caea0fb8dbb2b8837dc4379f0bc6
handle.onChanged(this.getHandle().getServer());
return true;
}
@@ -2400,8 +2405,12 @@ public class CraftWorld implements World {
@@ -2445,8 +2450,12 @@ public class CraftWorld implements World {
if (!this.isGameRule(rule.getName())) return false;

View File

@ -32,10 +32,10 @@ index 51723c8f740c7b0bbd15acc0f1c848790c2ff299..5a95b550c767284563c124df1ff45322
} else {
ItemStack itemstack = tileentitydispenser.getItem(i);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 8818a2d971615234a29710eb3cff2153f5896518..f5e83d82940602ef7733fbc61077c42c72da74bd 100644
index 2cab0a3eb489f1f36bb7eaae2706e3b4518668ce..f960ee7644ed792c4136cbcb75cc12e8dbed65c4 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1811,4 +1811,12 @@ public class CraftEventFactory {
@@ -1814,4 +1814,12 @@ public class CraftEventFactory {
Bukkit.getPluginManager().callEvent(event);
return event;
}

View File

@ -17,10 +17,10 @@ index 501a5483160dba050261bb3448317a097cdb7ef2..2dcac4b638073aa1748f26f61219dbf9
tileentitydispenser.setItem(i, idispensebehavior.dispense(sourceblock, itemstack));
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 67c3405264fda2f7ce2b9822f8e0a8da71998677..c96f598089ae441ee737b26705c2c1e5e9dcd326 100644
index 00426ffa3da994aed445f0767a99b83154773e10..b06d92fa7c1d7cb7a9637e9c435f95b8c18d0581 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1829,5 +1829,11 @@ public class CraftEventFactory {
@@ -1832,5 +1832,11 @@ public class CraftEventFactory {
io.papermc.paper.event.block.BlockFailedDispenseEvent event = new io.papermc.paper.event.block.BlockFailedDispenseEvent(block);
return event.callEvent();
}

View File

@ -122,10 +122,10 @@ index b9b67134f02fd7484ed19905c9ae1f9b8a26ce26..c05f173b7642380900fdd77ce5d2c020
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index c96f598089ae441ee737b26705c2c1e5e9dcd326..b2ef3b767957f961b3c47db73fba3ee9dab226be 100644
index b06d92fa7c1d7cb7a9637e9c435f95b8c18d0581..7c68b15c432084adf069797cfccb0526055796cb 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1481,8 +1481,10 @@ public class CraftEventFactory {
@@ -1484,8 +1484,10 @@ public class CraftEventFactory {
return itemInHand;
}

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Reset shield blocking on dimension change
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 6e6cfb0a0c27c69fcd749ffae42ef4ea9a7eeaec..8a71234fa948dbdf05dff0ab10af2bcac35cc921 100644
index 82b4805b417b130be3ce9ab6ed886c85e811ba98..460f8ce00894065a15d931906c8a05ca990d6e15 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1142,6 +1142,11 @@ public class ServerPlayer extends Player {
@@ -1144,6 +1144,11 @@ public class ServerPlayer extends Player {
this.level.getCraftServer().getPluginManager().callEvent(changeEvent);
// CraftBukkit end
}

View File

@ -34,10 +34,10 @@ index cfad79b859abfeb9bd83843b04bff3fd5d2e0ac3..210032209b3cdd2cda0e7463e3ee0e02
// Check if a World already exists with the UID.
if (this.getWorld(world.getUID()) != null) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 7647caea0fb8dbb2b8837dc4379f0bc634df719e..1a078b6c16d5932d4383113e455bd89884d2a98b 100644
index 2441a791385c6292d2607de68bfd190e43d9eddc..2e2566206a3fd229759b9f5f89aa6d89a6061758 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2587,6 +2587,11 @@ public class CraftWorld implements World {
@@ -2632,6 +2632,11 @@ public class CraftWorld implements World {
return java.util.concurrent.CompletableFuture.completedFuture(chunk == null ? null : chunk.getBukkitChunk());
}, net.minecraft.server.MinecraftServer.getServer());
}

View File

@ -5,10 +5,10 @@ Subject: [PATCH] More World API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 753b9773a46ebb4afefa9ccb2435bf48ff09b4b5..36283d4b07a7cfea09da88bcad3c406cb6e0d880 100644
index 833010216e868ade5bb3bb815f7c867c3d04979f..019261b244c4a35592cbfeab24c7ed7c45776433 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2534,6 +2534,75 @@ public class CraftWorld implements World {
@@ -2579,6 +2579,60 @@ public class CraftWorld implements World {
return (nearest == null) ? null : new Location(this, nearest.getX(), nearest.getY(), nearest.getZ());
}
@ -31,11 +31,6 @@ index 753b9773a46ebb4afefa9ccb2435bf48ff09b4b5..36283d4b07a7cfea09da88bcad3c406c
+ }
+
+ @Override
+ public boolean isNatural() {
+ return getHandle().dimensionType().natural();
+ }
+
+ @Override
+ public double getCoordinateScale() {
+ return getHandle().dimensionType().coordinateScale();
+ }
@ -51,11 +46,6 @@ index 753b9773a46ebb4afefa9ccb2435bf48ff09b4b5..36283d4b07a7cfea09da88bcad3c406c
+ }
+
+ @Override
+ public boolean isPiglinSafe() {
+ return getHandle().dimensionType().piglinSafe();
+ }
+
+ @Override
+ public boolean doesBedWork() {
+ return getHandle().dimensionType().bedWorks();
+ }
@ -66,11 +56,6 @@ index 753b9773a46ebb4afefa9ccb2435bf48ff09b4b5..36283d4b07a7cfea09da88bcad3c406c
+ }
+
+ @Override
+ public boolean hasRaids() {
+ return getHandle().dimensionType().hasRaids();
+ }
+
+ @Override
+ public boolean isFixedTime() {
+ return getHandle().dimensionType().hasFixedTime();
+ }

View File

@ -5,10 +5,10 @@ Subject: [PATCH] call PortalCreateEvent players and end platform
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 8a71234fa948dbdf05dff0ab10af2bcac35cc921..89be85b24643f91223d9928059700ace0f452be9 100644
index 460f8ce00894065a15d931906c8a05ca990d6e15..8f3ba87bc8d12bd344d81672b5dd96efc27e9e5d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1169,15 +1169,21 @@ public class ServerPlayer extends Player {
@@ -1171,15 +1171,21 @@ public class ServerPlayer extends Player {
private void createEndPlatform(ServerLevel world, BlockPos centerPos) {
BlockPos.MutableBlockPos blockposition_mutableblockposition = centerPos.mutable();

View File

@ -45,10 +45,10 @@ index d75f78d2e3fb1376e8f6a8668c98a04a693c99e1..79f6089b934124c3309c6bee2e48b36b
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 89be85b24643f91223d9928059700ace0f452be9..5b2b6747768e638423c86ce13a419f5a3f63d30d 100644
index 8f3ba87bc8d12bd344d81672b5dd96efc27e9e5d..6dadec179459e606e96c858b5c8ba05e6cd12918 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1790,8 +1790,15 @@ public class ServerPlayer extends Player {
@@ -1792,8 +1792,15 @@ public class ServerPlayer extends Player {
}
public boolean setGameMode(GameType gameMode) {
@ -66,7 +66,7 @@ index 89be85b24643f91223d9928059700ace0f452be9..5b2b6747768e638423c86ce13a419f5a
} else {
this.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.CHANGE_GAME_MODE, (float) gameMode.getId()));
if (gameMode == GameType.SPECTATOR) {
@@ -1803,7 +1810,7 @@ public class ServerPlayer extends Player {
@@ -1805,7 +1812,7 @@ public class ServerPlayer extends Player {
this.onUpdateAbilities();
this.updateEffectVisibility();
@ -75,7 +75,7 @@ index 89be85b24643f91223d9928059700ace0f452be9..5b2b6747768e638423c86ce13a419f5a
}
}
@@ -2185,6 +2192,14 @@ public class ServerPlayer extends Player {
@@ -2187,6 +2194,14 @@ public class ServerPlayer extends Player {
}
public void loadGameTypes(@Nullable CompoundTag nbt) {

View File

@ -65,17 +65,17 @@ index 722f1816cd4130fa4b1e2310badedc77ab96eee6..2a02fdf58640d26b82e0ca22d0d8ff33
entity.hurt(DamageSource.CACTUS, 1.0F);
CraftEventFactory.blockDamage = null; // CraftBukkit
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 f602ddb6fc5a9d026239c900ec800122663d6bfc..2519a0f511f0a6065459cd2fe2d9a3e68e55d222 100644
index a1f3d145414979a1994d608d525471d95fd2f72e..7d0d6da335ff3bf810fa951553b58ff8a3267b0f 100644
--- a/src/main/java/net/minecraft/world/level/block/CampfireBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CampfireBlock.java
@@ -91,6 +91,7 @@ public class CampfireBlock extends BaseEntityBlock implements SimpleWaterloggedB
@@ -94,6 +94,7 @@ public class CampfireBlock extends BaseEntityBlock implements SimpleWaterloggedB
@Override
public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) {
+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper
if (!entity.fireImmune() && (Boolean) state.getValue(CampfireBlock.LIT) && entity instanceof LivingEntity && !EnchantmentHelper.hasFrostWalker((LivingEntity) entity)) {
org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = CraftBlock.at(world, pos); // CraftBukkit
entity.hurt(DamageSource.IN_FIRE, (float) this.fireDamage);
}
diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java
index ea8047d4509632c9bc8247356f6eb3d1289db672..6dda5eeca4e310eceb2598322803bfafc184e9c7 100644
--- a/src/main/java/net/minecraft/world/level/block/CropBlock.java

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Fix PlayerDropItemEvent using wrong item
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 5b2b6747768e638423c86ce13a419f5a3f63d30d..764ce055a28f355a205c67f60632cac1bd8eb182 100644
index 6dadec179459e606e96c858b5c8ba05e6cd12918..6a3da6993474a38e7f69b6da49bb11ab16b0f3d2 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2161,7 +2161,7 @@ public class ServerPlayer extends Player {
@@ -2163,7 +2163,7 @@ public class ServerPlayer extends Player {
if (retainOwnership) {
if (!itemstack1.isEmpty()) {

View File

@ -1,35 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Malfrador <malfrador@gmail.com>
Date: Wed, 7 Jul 2021 12:48:50 +0200
Subject: [PATCH] Config option for named entity death logging
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index 6f51eb31a06922a9d0c3697755c1bfe8baf6cfe2..95d8cf449bf0439fddaf319246fef51e1570b68e 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -501,6 +501,11 @@ public class PaperConfig {
deobfuscateStacktraces = getBoolean("settings.loggers.deobfuscate-stacktraces", deobfuscateStacktraces);
}
+ public static boolean logNamedEntityDeaths = true;
+ private static void namedEntityDeaths() {
+ logNamedEntityDeaths = getBoolean("settings.log-named-entity-deaths", logNamedEntityDeaths);
+ }
+
public static int itemValidationDisplayNameLength = 8192;
public static int itemValidationLocNameLength = 8192;
public static int itemValidationLoreLineLength = 8192;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 442d0df276defbbea1b4282b99460ab463c2e5e0..027898e97667081840562547653d4adaeae01dda 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1634,7 +1634,7 @@ public abstract class LivingEntity extends Entity {
this.stopSleeping();
}
- if (!this.level.isClientSide && this.hasCustomName()) {
+ if (com.destroystokyo.paper.PaperConfig.logNamedEntityDeaths && !this.level.isClientSide && this.hasCustomName()) { // Paper - add setting for entity death logging
LivingEntity.LOGGER.info("Named entity {} died: {}", this, this.getCombatTracker().getDeathMessage().getString());
}

View File

@ -31,7 +31,7 @@ index b8a2406d847051442485691c91dcd82d40258424..6ff53e138ea17c3e8283a52251c81d5c
private void nerfNetherPortalPigmen() {
nerfNetherPortalPigmen = getBoolean("game-mechanics.nerf-pigmen-from-nether-portals", nerfNetherPortalPigmen);
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 027898e97667081840562547653d4adaeae01dda..24c629d5f26bc5aadebcf39a63930b3448525242 100644
index 8443d1531cf361509abfacff296ce277e35c6b13..5126c1440e0f3354dbcaa05d24a4b81e044473cd 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1133,7 +1133,7 @@ public abstract class LivingEntity extends Entity {

View File

@ -26,10 +26,10 @@ index 6ff53e138ea17c3e8283a52251c81d5cdf91ebac..0e7d29dbbdb862dd5876adee26fbba02
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 764ce055a28f355a205c67f60632cac1bd8eb182..ec044cadd268d6e95e975c8bf929825236839db8 100644
index 6a3da6993474a38e7f69b6da49bb11ab16b0f3d2..9cb2b5f3f2a974d30448529d83b0aade82eb6f97 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1419,7 +1419,7 @@ public class ServerPlayer extends Player {
@@ -1421,7 +1421,7 @@ public class ServerPlayer extends Player {
@Override
public boolean isInvulnerableTo(DamageSource damageSource) {

View File

@ -17,7 +17,7 @@ index 81f4f26a6b83079d36acd1fd86dede0eb1116c01..59437f04911662f06596ef61b91017ca
public static <K, V> Collector<Entry<? extends K, ? extends V>, ?, Map<K, V>> toMap() {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 24c629d5f26bc5aadebcf39a63930b3448525242..2b7eeb5659b1083ef550eb9feb0b7ba8a92a92e3 100644
index 5126c1440e0f3354dbcaa05d24a4b81e044473cd..b2e48e16bc944e6c5898f3d415e935c421243e16 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1321,7 +1321,7 @@ public abstract class LivingEntity extends Entity {

View File

@ -18,10 +18,10 @@ index e95f2222814e104bf9194a96385737dffe2cb2b5..249ab7357aa19d87179fa4c3ae89d9d3
String string = resourceKey.location().toString();
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index ec044cadd268d6e95e975c8bf929825236839db8..5ecfd9a1e39343746828520c307879547feb33a7 100644
index 9cb2b5f3f2a974d30448529d83b0aade82eb6f97..bc05cc34f6cd526a1d13261f1ac779d5397cbbac 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1260,7 +1260,7 @@ public class ServerPlayer extends Player {
@@ -1262,7 +1262,7 @@ public class ServerPlayer extends Player {
} else if (this.bedBlocked(blockposition, enumdirection)) {
return Either.left(Player.BedSleepingProblem.OBSTRUCTED);
} else {
@ -30,7 +30,7 @@ index ec044cadd268d6e95e975c8bf929825236839db8..5ecfd9a1e39343746828520c30787954
if (this.level.isDay()) {
return Either.left(Player.BedSleepingProblem.NOT_POSSIBLE_NOW);
} else {
@@ -2088,12 +2088,33 @@ public class ServerPlayer extends Player {
@@ -2090,12 +2090,33 @@ public class ServerPlayer extends Player {
return this.respawnForced;
}

View File

@ -1,35 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
Date: Wed, 21 Jul 2021 11:46:28 -0700
Subject: [PATCH] call EntityDamageByBlockEvent for campfires
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 2519a0f511f0a6065459cd2fe2d9a3e68e55d222..2c334ce3fc3cf86704dee9397166119a3b5f17e2 100644
--- a/src/main/java/net/minecraft/world/level/block/CampfireBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CampfireBlock.java
@@ -93,7 +93,9 @@ public class CampfireBlock extends BaseEntityBlock implements SimpleWaterloggedB
public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) {
if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper
if (!entity.fireImmune() && (Boolean) state.getValue(CampfireBlock.LIT) && entity instanceof LivingEntity && !EnchantmentHelper.hasFrostWalker((LivingEntity) entity)) {
+ org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = org.bukkit.craftbukkit.block.CraftBlock.at(world, pos); // Paper
entity.hurt(DamageSource.IN_FIRE, (float) this.fireDamage);
+ org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // Paper
}
super.entityInside(state, world, pos, entity);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index d01d4ca873f8225d3503ecb102ce2eb7bfced421..622a0f23db838b839f76722df0e5480ec927b4a2 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1009,6 +1009,10 @@ public class CraftEventFactory {
cause = DamageCause.HOT_FLOOR;
} else if (source == DamageSource.MAGIC) {
cause = DamageCause.MAGIC;
+ // Paper start
+ } else if (source == DamageSource.IN_FIRE) {
+ cause = DamageCause.FIRE;
+ // Paper end
} else {
throw new IllegalStateException(String.format("Unhandled damage of %s by %s from %s", entity, damager, source.msgId));
}

@ -1 +1 @@
Subproject commit e0598aa29ef8f0622378d929c0ed0542e698db60
Subproject commit 974452512a4638f2692cc7baff5baf77401349ba

@ -1 +1 @@
Subproject commit 2cdc6b1e4cc28d67eeb6397b5650ecc1e13efdfa
Subproject commit 61e4ca7b9e7dbc0ee899140a7b194248edc3f493

@ -1 +1 @@
Subproject commit 18c71bf4fd43113ac9b24c21afe6d88c16170f30
Subproject commit ff89b973e62ca3b6085aeeb474f2568e45ac02be