mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@294347b [ci skip] Cleanup events (#10202) PaperMC/Paper@87ce7c7 Small refactor of Paper plugin context preparation PaperMC/Paper@7f856a1 Fix sleeping pos desync PaperMC/Paper@8bc5be8 Add missing catch PaperMC/Paper@c5d168c More provider source fixup
This commit is contained in:
@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
|
||||
version = 1.20.4-R0.1-SNAPSHOT
|
||||
|
||||
mcVersion = 1.20.4
|
||||
paperCommit = b3c81089ae26cc3ad2e7388c7b64457f3f83c98a
|
||||
paperCommit = c5d168cef92148a6799141832fdb5f95732c1a38
|
||||
|
||||
org.gradle.caching = true
|
||||
org.gradle.parallel = true
|
||||
|
||||
@@ -1471,7 +1471,7 @@ index 0000000000000000000000000000000000000000..facd55463d44cb7e3d2ca6892982f549
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/io/papermc/paper/util/MCUtil.java b/src/main/java/io/papermc/paper/util/MCUtil.java
|
||||
index 1ccf71be865af4d3c5ab8f4323a228a947e0bf3f..3f3f8443563e4ca6c7fb236e7a98eaae3be3b43e 100644
|
||||
index 850f75172e9efa72cabb8e5bd124b96a0b1a945f..3db1de70c76e1427e257d988d1a7f26e986b5617 100644
|
||||
--- a/src/main/java/io/papermc/paper/util/MCUtil.java
|
||||
+++ b/src/main/java/io/papermc/paper/util/MCUtil.java
|
||||
@@ -212,7 +212,7 @@ public final class MCUtil {
|
||||
@@ -1497,7 +1497,7 @@ index ba12919c3f9aec34a9e64993b143ae92be5eb172..9efeab9078e2d08903e482718b840797
|
||||
} else {
|
||||
this.lastTimeStamp = body.timeStamp();
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 90ae7e8c81f6a9ede8aeaeec3bf784023522cefc..1dc91ef47d336abe06be1cfd90e8164605e5f37e 100644
|
||||
index d06185566b447c432d4dc2e3ba04d121bcdbc71b..d1c21d36de331905aedb08b0a8d4fbf97e100a13 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -312,6 +312,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1794,10 +1794,10 @@ 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 8ca5d7c1bfacb1b47aa680eee167af08d0396ae0..dbcf025c07abafee639d8b94bf963962b5e85478 100644
|
||||
index 2562ea3b63b055319a775c12ff327d127f8039c3..fc4a526ea9445fd9af3af714608dad9b0abf50f0 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1121,6 +1121,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1120,6 +1120,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
|
||||
@Override
|
||||
public void handleEditBook(ServerboundEditBookPacket packet) {
|
||||
@@ -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 2c06f3ebf7e1069727387bfc60db30c958c14b5a..1d9331fe9ce7308eda2e7da2ae726810d455f090 100644
|
||||
index 9ee1e3da1cb16291ff3e37829e25227a6b97a177..e987a9142b577ebe3fabcda87df8bc066e859122 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
|
||||
@@ -2061,7 +2061,7 @@ index 2c06f3ebf7e1069727387bfc60db30c958c14b5a..1d9331fe9ce7308eda2e7da2ae726810
|
||||
if (vec3d.length() > 0.0D) {
|
||||
if (k1 > 0) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
index edc723ea5ca3a325106e7af38c60dbf9f0f5fb77..ab6cd363231a668c9b16df825a72d3205746ee49 100644
|
||||
index 09e8445a3f8c6b3ebc852a75a9a25b41a51ba659..dc11683ee4d8a6b7a1c42bcae36dc6e8105cd994 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
@@ -305,6 +305,8 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
@@ -2074,10 +2074,10 @@ index edc723ea5ca3a325106e7af38c60dbf9f0f5fb77..ab6cd363231a668c9b16df825a72d320
|
||||
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 6071451339080bbdd98fb634791a56988984c8bc..5641bc7f50cef7819ddaeb76a4a4f9c80f473d31 100644
|
||||
index 6523795e715e5d472739e9bc6433143115c3de8f..317ff325f0a30d9ed83d3049cf96c53838c050ee 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -142,7 +142,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
||||
@@ -141,7 +141,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
||||
import org.bukkit.event.player.PlayerItemConsumeEvent;
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -2085,7 +2085,7 @@ index 6071451339080bbdd98fb634791a56988984c8bc..5641bc7f50cef7819ddaeb76a4a4f9c8
|
||||
|
||||
public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
@@ -413,7 +412,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -412,7 +411,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
boolean flag = this instanceof net.minecraft.world.entity.player.Player;
|
||||
|
||||
if (!this.level().isClientSide) {
|
||||
@@ -2114,7 +2114,7 @@ index 6071451339080bbdd98fb634791a56988984c8bc..5641bc7f50cef7819ddaeb76a4a4f9c8
|
||||
@Override
|
||||
public boolean hurt(DamageSource source, float amount) {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
@@ -2002,6 +2014,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2003,6 +2015,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
return this.lastClimbablePos;
|
||||
}
|
||||
|
||||
@@ -2697,19 +2697,19 @@ index 27b0a79f7a7c47047216aae42944bac2a2151181..a097cfc528f709c80575f35483b68783
|
||||
autorecipestackmanager.initialize(this); // Paper - better exact choice recipes
|
||||
int i = 0;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 8f437225d2a4e08ca47873cd42277d9f0f9f5529..c10efc14ca83f07b27a2f12776ab2fd2a953c5a1 100644
|
||||
index 19f23a6c8fb5c02843c27fb8a242ec9d0d1b538b..9c02040543825e99f576c6f8995133ec6a329940 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -211,6 +211,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
// Paper end - Use getChunkIfLoadedImmediately
|
||||
@@ -207,6 +207,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
||||
public abstract ResourceKey<LevelStem> getTypeKey();
|
||||
+
|
||||
+ protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - move thread unsafe random initialization // Pufferfish - getter
|
||||
|
||||
+ protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - move thread unsafe random initialization // Pufferfish - getter
|
||||
+
|
||||
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config; Async-Anti-Xray: Pass executor
|
||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
||||
@@ -1313,14 +1315,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config
|
||||
@@ -1308,14 +1310,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
try {
|
||||
tickConsumer.accept(entity);
|
||||
MinecraftServer.getServer().executeMidTickTasks(); // Paper - execute chunk tasks mid tick
|
||||
@@ -2719,7 +2719,7 @@ index 8f437225d2a4e08ca47873cd42277d9f0f9f5529..c10efc14ca83f07b27a2f12776ab2fd2
|
||||
// Paper start - Prevent block entity and entity crashes
|
||||
final String msg = String.format("Entity threw exception at %s:%s,%s,%s", entity.level().getWorld().getName(), entity.getX(), entity.getY(), entity.getZ());
|
||||
MinecraftServer.LOGGER.error(msg, throwable);
|
||||
getCraftServer().getPluginManager().callEvent(new ServerExceptionEvent(new ServerInternalException(msg, throwable))); // Paper - ServerExceptionEvent
|
||||
getCraftServer().getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerInternalException(msg, throwable))); // Paper - ServerExceptionEvent
|
||||
- entity.discard();
|
||||
- // Paper end - Prevent block entity and entity crashes
|
||||
+ entity.discard(); // Pufferfish - diff on change ServerLevel.tick
|
||||
@@ -2727,7 +2727,7 @@ index 8f437225d2a4e08ca47873cd42277d9f0f9f5529..c10efc14ca83f07b27a2f12776ab2fd2
|
||||
}
|
||||
}
|
||||
// Paper start - Option to prevent armor stands from doing entity lookups
|
||||
@@ -1793,6 +1795,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1788,6 +1790,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
}
|
||||
|
||||
public ProfilerFiller getProfiler() {
|
||||
@@ -2736,10 +2736,10 @@ index 8f437225d2a4e08ca47873cd42277d9f0f9f5529..c10efc14ca83f07b27a2f12776ab2fd2
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||
index 17e9f3a30e287faf210e08dc7eb177a70f049f43..96fc603c2fccc1d9610248b2116d35696bc65e4e 100644
|
||||
index da7489986848316fed029b71d1bc4e1248c9c9a8..661acdf4b1f33d150b0caf179e925d3162d7be35 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||
@@ -429,12 +429,12 @@ public final class NaturalSpawner {
|
||||
@@ -425,12 +425,12 @@ public final class NaturalSpawner {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3271,7 +3271,7 @@ 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 34cd96dba5f11e64d7c90f4246b513b0ea943aa6..8344f9f693879639c484edf575c7df14df616776 100644
|
||||
index 4df3b94c8126f00188f5e125757411a0359728fa..b69c1af655a26615982f0256626bc8c9992bf694 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
|
||||
|
||||
@@ -53,16 +53,14 @@ index dbe612427b894df9da1335b94163ba9b89b090c0..0982d44b9dd30c13d9d879095cc9a839
|
||||
|
||||
private int currentIceAndSnowTick = 0; protected void resetIceAndSnowTick() { this.currentIceAndSnowTick = this.randomTickRandom.nextInt(16); } // Pufferfish
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index c10efc14ca83f07b27a2f12776ab2fd2a953c5a1..a0ef35bee70e6888879a8ede64c4cabad2be85ae 100644
|
||||
index 9c02040543825e99f576c6f8995133ec6a329940..d6a08f06812bc15813559eb8ff66eddf7cf22888 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -211,8 +211,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
// Paper end - Use getChunkIfLoadedImmediately
|
||||
@@ -207,7 +207,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
||||
public abstract ResourceKey<LevelStem> getTypeKey();
|
||||
-
|
||||
|
||||
- protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - move thread unsafe random initialization // Pufferfish - getter
|
||||
+
|
||||
+ //protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - move thread unsafe random initialization // Pufferfish - getter // Purpur - dont break ABI
|
||||
|
||||
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config; Async-Anti-Xray: Pass executor
|
||||
|
||||
@@ -92,10 +92,10 @@ index c5f92c80d7ca1e1c7f5b9304a5a1173ebfd9c269..1fbfe61b3d7fc372f044d2e9f3500d66
|
||||
io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // Paper - init PaperBrigadierProvider
|
||||
gg.pufferfish.pufferfish.PufferfishConfig.load(); // Pufferfish
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index a0ef35bee70e6888879a8ede64c4cabad2be85ae..9a8c80c256020cdbcd307e7032df4b47852e9f50 100644
|
||||
index d6a08f06812bc15813559eb8ff66eddf7cf22888..bce8df10ac9dfb7a9bba76fc05357c8b6a0520e4 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -178,6 +178,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -173,6 +173,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
// Paper end - add paper world config
|
||||
|
||||
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
|
||||
@@ -103,7 +103,7 @@ index a0ef35bee70e6888879a8ede64c4cabad2be85ae..9a8c80c256020cdbcd307e7032df4b47
|
||||
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
||||
public static BlockPos lastPhysicsProblem; // Spigot
|
||||
private org.spigotmc.TickLimiter entityLimiter;
|
||||
@@ -217,6 +218,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -212,6 +213,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config; Async-Anti-Xray: Pass executor
|
||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
||||
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config
|
||||
@@ -112,7 +112,7 @@ index a0ef35bee70e6888879a8ede64c4cabad2be85ae..9a8c80c256020cdbcd307e7032df4b47
|
||||
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 09f976c3a98327d95515fce5f7881b826baa11a6..2f0b2807b35c4d3a172e85fb8b60ef8b764ca48e 100644
|
||||
index d564c7107fe2ac887a55461ea5107a0fb325a150..4925d320748fa62e63f2dce0a52c3869ee1ff432 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1037,6 +1037,7 @@ public final class CraftServer implements Server {
|
||||
|
||||
@@ -22,13 +22,13 @@ index e17fa30966dea2836fb791becd032fc7d5cc2611..dd06323731533fb9b1b25a56844a4e39
|
||||
super(x, y, z);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index efebfd62ec415ca47cb116ab66a24478489fe080..bebb1f089783ee84faad3ed3b08c40b9fd2518c0 100644
|
||||
index a6d3f90f7867cfbda0ef406ff3ce1bd8b9f787b0..0831d305a3b9d8d27cef946f46c0b03fccbc54c1 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1702,6 +1702,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - BlockPhysicsEvent
|
||||
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers
|
||||
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - Add EntityMoveEvent
|
||||
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers
|
||||
worldserver.updateLagCompensationTick(); // Paper - lag compensation
|
||||
+ worldserver.hasRidableMoveEvent = org.purpurmc.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur
|
||||
|
||||
this.profiler.push(() -> {
|
||||
@@ -66,10 +66,10 @@ index 6c3e5ad96ff1c33181663d89c3c227e1a96e4912..62fd29f19b93f07a87377f26d9e5b169
|
||||
|
||||
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 dbcf025c07abafee639d8b94bf963962b5e85478..d9ebf31a51e25706b3964ffe1aa2834bae8076f4 100644
|
||||
index fc4a526ea9445fd9af3af714608dad9b0abf50f0..996177293fa1d65df7d497d88da0677bfc124ccb 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2704,6 +2704,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -2703,6 +2703,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
|
||||
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -79,7 +79,7 @@ index dbcf025c07abafee639d8b94bf963962b5e85478..d9ebf31a51e25706b3964ffe1aa2834b
|
||||
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 2323f36e011b375204fc792a7091c85c801344d0..48521627d1ba4003727c04f337e96e3a61f6b0c8 100644
|
||||
index 5e68978874a30c4e7bb90dfabdcc2aacf4987841..b4bcfd6ebb94ae5f497b8f92e88fa3be9e1207f2 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
|
||||
@@ -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 5641bc7f50cef7819ddaeb76a4a4f9c80f473d31..5e663a0d0c4fe1f32ac3483b86c085ec2205b3dc 100644
|
||||
index 317ff325f0a30d9ed83d3049cf96c53838c050ee..2a3fa4cf65ba2c79de34256ae29a35b5903c7c37 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -217,9 +217,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -216,9 +216,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
protected int deathScore;
|
||||
public float lastHurt;
|
||||
public boolean jumping;
|
||||
@@ -206,7 +206,7 @@ index 5641bc7f50cef7819ddaeb76a4a4f9c80f473d31..5e663a0d0c4fe1f32ac3483b86c085ec
|
||||
protected int lerpSteps;
|
||||
protected double lerpX;
|
||||
protected double lerpY;
|
||||
@@ -285,7 +285,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -284,7 +284,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 5641bc7f50cef7819ddaeb76a4a4f9c80f473d31..5e663a0d0c4fe1f32ac3483b86c085ec
|
||||
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());
|
||||
@@ -336,6 +336,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -335,6 +335,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 5641bc7f50cef7819ddaeb76a4a4f9c80f473d31..5e663a0d0c4fe1f32ac3483b86c085ec
|
||||
|
||||
@Override
|
||||
protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) {
|
||||
@@ -2728,7 +2729,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2729,7 +2730,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 5641bc7f50cef7819ddaeb76a4a4f9c80f473d31..5e663a0d0c4fe1f32ac3483b86c085ec
|
||||
Vec3 vec3d = this.getDeltaMovement();
|
||||
// Paper start - Prevent excessive velocity through repeated crits
|
||||
long time = System.nanoTime();
|
||||
@@ -3506,8 +3507,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3507,8 +3508,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.pushEntities();
|
||||
this.level().getProfiler().pop();
|
||||
// Paper start - Add EntityMoveEvent
|
||||
@@ -243,9 +243,9 @@ index 5641bc7f50cef7819ddaeb76a4a4f9c80f473d31..5e663a0d0c4fe1f32ac3483b86c085ec
|
||||
+ if (((ServerLevel) this.level()).hasEntityMoveEvent && !(this instanceof net.minecraft.world.entity.player.Player)) {
|
||||
+ // Purpur end
|
||||
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());
|
||||
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());
|
||||
@@ -3517,6 +3520,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3518,6 +3521,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());
|
||||
}
|
||||
}
|
||||
@@ -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 f97bdfbd07db000845d3b791de64056c3c23f7ba..79924fabbc11664f5731524c0190a4ddf7ef53da 100644
|
||||
index d595f1590619b24d460fc2c10a5412844f62cba0..55566dd9d6fa032f3436247be039d6ed3d8a1fee 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 {
|
||||
@@ -2781,7 +2781,7 @@ index a6f3fba3b02b0b4d2a4e9e5205301c6f52d0188a..4eebfc27ded55e4d764d04f35d3e9c9e
|
||||
protected void defineSynchedData() {
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index dd9800094b132954f0677eb6610fe27db4cec711..dcbb202f2da0ee507ce090c7654ca6e8ea65be33 100644
|
||||
index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6ead32b0a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -107,6 +107,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -3423,7 +3423,7 @@ index 01897af1e6253b987734a24c052daf2ce1314092..02141c89708a60c396dc89bc202bc231
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
index 6d4810626980ce46e02042a5660f615c58d0d5fd..dd2037d4c50e622f249406eee49add29bf261865 100644
|
||||
index 91ff663b2260d1cdd1388c93068e4cd9d0331aea..865f2bf27674f46cbf87cf3433915701273473c3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
@@ -36,6 +36,18 @@ public class ElderGuardian extends Guardian {
|
||||
@@ -4641,7 +4641,7 @@ index a6af5ac9d09834940d3dd4c80b16450b90484edb..e5d3bf2e8934d97760eaf165a0ac930d
|
||||
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true));
|
||||
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, true));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Witch.java b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||
index 02386e7eabc6669296ce35158fa35a3c88c6b563..330974f7fcc435cd45c744cc9c8e0f1bac2305ef 100644
|
||||
index f9ffc5f4cbfdcf5c7351a883d2e5c26492175283..881e026f86916cf3ec5bc3c30f5c0f3cee4e5e1b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||
@@ -59,6 +59,23 @@ public class Witch extends Raider implements RangedAttackMob {
|
||||
@@ -5114,7 +5114,7 @@ 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 44a17a8e763455e834dcf488044a0f4907ce346e..16e90cc84433a0cdabcf3fec8d9734d074b73c71 100644
|
||||
index df8d6f3eb675354ce0d180fc56886ce12788d6ae..3549f83b37f5b895381ead73fc59e96ed79f042c 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 {
|
||||
@@ -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 b9e90f589749dfc9324c4aa2062c505fbd4447bc..118483d7342117c4bc172db89df9fab391f30378 100644
|
||||
index 23b4b5d63d45108534bde330079c7a12b3aa4f5f..038461f693e38a26b16f465ce43a6661ea91c345 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,7 +5223,7 @@ index b9e90f589749dfc9324c4aa2062c505fbd4447bc..118483d7342117c4bc172db89df9fab3
|
||||
return event;
|
||||
}
|
||||
|
||||
@@ -1068,6 +1077,7 @@ public class CraftEventFactory {
|
||||
@@ -1070,6 +1079,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
|
||||
@@ -5231,7 +5231,7 @@ index b9e90f589749dfc9324c4aa2062c505fbd4447bc..118483d7342117c4bc172db89df9fab3
|
||||
}
|
||||
event.setCancelled(cancelled);
|
||||
|
||||
@@ -1182,6 +1192,7 @@ public class CraftEventFactory {
|
||||
@@ -1184,6 +1194,7 @@ public class CraftEventFactory {
|
||||
} else {
|
||||
entity.lastDamageCancelled = true; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled
|
||||
}
|
||||
@@ -5239,7 +5239,7 @@ index b9e90f589749dfc9324c4aa2062c505fbd4447bc..118483d7342117c4bc172db89df9fab3
|
||||
return event;
|
||||
}
|
||||
|
||||
@@ -1245,6 +1256,7 @@ public class CraftEventFactory {
|
||||
@@ -1247,6 +1258,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
|
||||
|
||||
@@ -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 f0216a0ac90aa1c0851dea13dd2250a2560c0e17..036688d52541dda8d8eef6fee43823844f245124 100644
|
||||
index b4bcfd6ebb94ae5f497b8f92e88fa3be9e1207f2..88700c88c5487224f9d4a2ba1648a70860b173a3 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 b225b9823e5edf81dfc916c3817caab93927118d..ea7cb84dab429f1a9495b05e578775ac9d94f08a 100644
|
||||
index 2a3fa4cf65ba2c79de34256ae29a35b5903c7c37..cc8553b95fd2c3b68f952b54e96de048ae8f07c1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -286,6 +286,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -285,6 +285,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 b225b9823e5edf81dfc916c3817caab93927118d..ea7cb84dab429f1a9495b05e578775ac
|
||||
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());
|
||||
@@ -301,6 +302,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -300,6 +301,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()))));
|
||||
}
|
||||
|
||||
@@ -395,7 +395,7 @@ index bc57978d89db43e97a38ea56c3541e8f6318c2d2..0c128449fbe51aa7e437568ba4bc857c
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
index 7fa03dbc442942b70f374096e346d54089d8f0a0..913b66be2111da862e706d4978825c64cfe8b00b 100644
|
||||
index 0ee9d5eeabb0352d0a92fa0106b7a3a834a9c146..f9db04ee35928d76dc504808a2acfca85295a6e6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
@@ -70,6 +70,11 @@ public class Squid extends WaterAnimal {
|
||||
@@ -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 79924fabbc11664f5731524c0190a4ddf7ef53da..0687ca21827e882b1a82af5b7b16f5701d5ee2d1 100644
|
||||
index 55566dd9d6fa032f3436247be039d6ed3d8a1fee..3fcc57ed165203a36b35e121c2c0cc88ba5f73b8 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 {
|
||||
@@ -759,7 +759,7 @@ index 7fb2c28b567c6c338a68bdc29d24cb652a4a15bf..074835d3e315eb78d318e81c5fd04e5e
|
||||
@Override
|
||||
protected void defineSynchedData() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index dcbb202f2da0ee507ce090c7654ca6e8ea65be33..b8c5979ac03103893bfc6d57227e083d185edbf6 100644
|
||||
index 8f0bd246d41627bf9725f88268530ac6ead32b0a..61365fc2d9b1726cb7c50bf4f0c178d17674044a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -186,6 +186,11 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -832,7 +832,7 @@ index 562faf0257388d9c22146a418f25716cef7471b8..c8bac8cb738ad96003a014b468681c43
|
||||
public boolean doHurtTarget(Entity target) {
|
||||
if (super.doHurtTarget(target)) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
index b3d1e3158165c940ad1081e80f5bd2dd9d0152f8..e40554a64ab1f375cf77592959acd703d30ea43a 100644
|
||||
index 577a829595f67708b220407b53dca1bd145a3479..27bcebb3b71842bc4ae5d440334d7d6dd51b741a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -250,6 +250,11 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -869,7 +869,7 @@ index 02141c89708a60c396dc89bc202bc2316a7e419f..0d4e1c734491028dac0084bd26ed9a26
|
||||
protected void addBehaviourGoals() {
|
||||
this.goalSelector.addGoal(1, new Drowned.DrownedGoToWaterGoal(this, 1.0D));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
index dd2037d4c50e622f249406eee49add29bf261865..63980f518ecd00bf2fa601f65823985003111920 100644
|
||||
index 865f2bf27674f46cbf87cf3433915701273473c3..baa41e05f66457a6b4638915a1deab775665f01f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
@@ -48,6 +48,11 @@ public class ElderGuardian extends Guardian {
|
||||
@@ -885,7 +885,7 @@ index dd2037d4c50e622f249406eee49add29bf261865..63980f518ecd00bf2fa601f658239850
|
||||
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
index 8ef8894733ead4f440de1847723cdb405bee17f8..fbd5e2b5e0b571fb805afd698d26a7cebf9c0c29 100644
|
||||
index 01dd5347bc8fa25b9b1f6cb746c25ca68eda95bb..d973adad5411b390464d7a654d8e8c1dcf69729c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -115,6 +115,11 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -1123,7 +1123,7 @@ index 73220bd6989855ac82420219c841421612cb3f11..226b44ba4cd3a08562c8cb0d79c1d880
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
index e78d869069bc018f29c5fbc6a7811806c4b2fb2f..9efda5d6cf9a235b5039ed622e917124aae7be82 100644
|
||||
index a695ac9b9e4c3e423d74d082e24928581333947e..2d8d88a3552516becdd7adb11b7706fc9bddbf96 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -114,6 +114,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -1171,7 +1171,7 @@ index 3568c4b7ecfa250bbeb1799685b487df53537919..23b385205fe8d1245e65a42b8a356f01
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
index 01416cef059e4b8d82a0676a0ced19a325a47ace..57425e062b701d3a0a5a50cb6fe904d9324be89a 100644
|
||||
index 23ed3890fd5a5786c1d251b926cb386b16f8b4f9..76240a809e4a06422bee4fcc8995c76e8ff634f1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
@@ -101,6 +101,37 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -1225,7 +1225,7 @@ index 01416cef059e4b8d82a0676a0ced19a325a47ace..57425e062b701d3a0a5a50cb6fe904d9
|
||||
this.setHealth(this.getMaxHealth());
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||
index 8133ff59a1dba12542c7b582381433267ca18ce5..a8d82057bd3105a40b18cb9c355c164a2775db14 100644
|
||||
index dd1a6fc505ce2214903dbe703bcabe7d264fbe90..3f67ab84485737291aec531441d88b74f7f7522c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||
@@ -70,6 +70,11 @@ public class Spider extends Monster {
|
||||
@@ -1305,7 +1305,7 @@ index e5d3bf2e8934d97760eaf165a0ac930d51a3c884..706458eeab0cea2fe0cdfe39717f639a
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Witch.java b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||
index 330974f7fcc435cd45c744cc9c8e0f1bac2305ef..462b9f85b040e3e21be8797bdc1bb6f594634f1c 100644
|
||||
index 881e026f86916cf3ec5bc3c30f5c0f3cee4e5e1b..0d33b8362f94718d63d86abce05e0b0efc21e653 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||
@@ -76,6 +76,11 @@ public class Witch extends Raider implements RangedAttackMob {
|
||||
@@ -1353,7 +1353,7 @@ index dc29e875c1e184c1c4553c127bb8c86dddf8c5ab..1d862dd019b2d024f61cfc8956430d18
|
||||
protected Brain.Provider<Zoglin> brainProvider() {
|
||||
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
index aa6533c40b73bc72a4906f0533f13e74e58c091a..65a22067af226751053c9df5e0771a960439f5fe 100644
|
||||
index 3be3e46408b2d43f2cbb27b516be8c466ab0ed79..2e956c5a76573c1966c9d927bd4f7254eee4af4d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
@@ -124,6 +124,11 @@ public class Zombie extends Monster {
|
||||
@@ -1472,7 +1472,7 @@ index 2d842c0dfce1c7e7229bd42b2a92c024a4162b68..04e54c241078e6cd6419a21ba1bf913f
|
||||
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 50.0D).add(Attributes.MOVEMENT_SPEED, (double)0.35F).add(Attributes.ATTACK_DAMAGE, 7.0D);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index 6e42633cc7393d579bfd4b756a5f651a71e2f02e..0d3ce8b8cc3a431ff28837179cd3e0080fe47649 100644
|
||||
index 3f9945db1970c6356e3fbde3520c07e2a75fbb48..36e360a3b72ad20b4fe2e3a57ce1a1c6caaa494f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -179,6 +179,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
|
||||
@@ -78,10 +78,10 @@ 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 d9ebf31a51e25706b3964ffe1aa2834bae8076f4..9c6d4f93a068a14adf601a562e78be8c68fd3528 100644
|
||||
index 996177293fa1d65df7d497d88da0677bfc124ccb..ea3f177e93127cab65f208189742af641adb22b7 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -325,6 +325,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -324,6 +324,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
private boolean justTeleported = false;
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -102,7 +102,7 @@ index d9ebf31a51e25706b3964ffe1aa2834bae8076f4..9c6d4f93a068a14adf601a562e78be8c
|
||||
@Override
|
||||
public void tick() {
|
||||
if (this.ackBlockChangesUpTo > -1) {
|
||||
@@ -392,6 +406,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -391,6 +405,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
}
|
||||
|
||||
if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) this.server.getPlayerIdleTimeout() * 1000L * 60L && !this.player.wonGame) { // Paper - Prevent AFK kick while watching end credits
|
||||
@@ -115,7 +115,7 @@ index d9ebf31a51e25706b3964ffe1aa2834bae8076f4..9c6d4f93a068a14adf601a562e78be8c
|
||||
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
|
||||
this.disconnect(Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause
|
||||
}
|
||||
@@ -639,6 +659,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -638,6 +658,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
this.lastYaw = to.getYaw();
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
@@ -124,7 +124,7 @@ index d9ebf31a51e25706b3964ffe1aa2834bae8076f4..9c6d4f93a068a14adf601a562e78be8c
|
||||
Location oldTo = to.clone();
|
||||
PlayerMoveEvent event = new PlayerMoveEvent(player, from, to);
|
||||
this.cserver.getPluginManager().callEvent(event);
|
||||
@@ -1491,7 +1513,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1490,7 +1512,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
if (!event.isAllowed()) {
|
||||
movedWrongly = true;
|
||||
if (event.getLogWarning())
|
||||
@@ -133,7 +133,7 @@ index d9ebf31a51e25706b3964ffe1aa2834bae8076f4..9c6d4f93a068a14adf601a562e78be8c
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1558,6 +1580,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1557,6 +1579,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
this.lastYaw = to.getYaw();
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
@@ -177,7 +177,7 @@ index d8cc5614502db7025349e085381b6b32ad32296a..f1b9e83206cc67e6ef29ebe088351b0a
|
||||
private EntitySelector() {}
|
||||
// Paper start - Affects Spawning API
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
|
||||
index 3c4f4af85a3f2d4f9f52827164e63727b916c33a..aa4dec55c1d4cd9796587ea3a3343131a4d2f0a4 100644
|
||||
index 931cbbe41905d7ed3fd46c53d3ddd06a6b9a7c8a..d8642979b7296737d08529f6db4f64e463d9f936 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
|
||||
@@ -64,6 +64,10 @@ public class TargetingConditions {
|
||||
@@ -192,7 +192,7 @@ index 3c4f4af85a3f2d4f9f52827164e63727b916c33a..aa4dec55c1d4cd9796587ea3a3343131
|
||||
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 9d3e681faa5639b540e8c9b68dc9098ace3ecf03..dac631ffd190829e299ab30415ade7c06f70f4c3 100644
|
||||
index dc502d0b247f56e4a2df8500d66695e20ef55998..62f47598dfb32dbe811f448c10196896c65fb9d6 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 {
|
||||
|
||||
@@ -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 e81bed7121b4f4bef5d7b5bd98979b790b2b92d7..5d55704235ba54ada99dc6107d0da25c80ad4172 100644
|
||||
index cc8553b95fd2c3b68f952b54e96de048ae8f07c1..fe4b5878a0d9dffb8602f01344fb4c828ee71fe0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -252,6 +252,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -251,6 +251,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
protected boolean skipDropExperience;
|
||||
// CraftBukkit start
|
||||
public int expToDrop;
|
||||
@@ -16,7 +16,7 @@ index e81bed7121b4f4bef5d7b5bd98979b790b2b92d7..5d55704235ba54ada99dc6107d0da25c
|
||||
public boolean forceDrops;
|
||||
public ArrayList<DefaultDrop> drops = new ArrayList<>(); // Paper - Restore vanilla drops behavior
|
||||
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
|
||||
@@ -352,7 +353,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -351,7 +352,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.tryAddSoulSpeed();
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ index e81bed7121b4f4bef5d7b5bd98979b790b2b92d7..5d55704235ba54ada99dc6107d0da25c
|
||||
double d1 = this.getX();
|
||||
double d2 = this.getY();
|
||||
double d3 = this.getZ();
|
||||
@@ -367,7 +368,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -366,7 +367,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
d3 = (double) landedPosition.getZ() + 0.5D + d5 / d6 * 0.5D;
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ index e81bed7121b4f4bef5d7b5bd98979b790b2b92d7..5d55704235ba54ada99dc6107d0da25c
|
||||
double d7 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
|
||||
int i = (int) (150.0D * d7);
|
||||
|
||||
@@ -2095,7 +2096,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2096,7 +2097,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);
|
||||
|
||||
@@ -44,7 +44,7 @@ index e81bed7121b4f4bef5d7b5bd98979b790b2b92d7..5d55704235ba54ada99dc6107d0da25c
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
index b50d30a22704efade7b87d4cf5817b2068a18084..97684d00c79ab2e5712a3d44b7690b1bca15b4a7 100644
|
||||
index 24fb38499092d8cbee3818bf5c873a55465b1edb..3170f9044f18b8c609433ddbd3ef9ac330644a0f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
@@ -386,7 +386,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
@@ -69,7 +69,7 @@ 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 1b75b8286f6203a7268746b5a487d6f089405127..a79273b50233cbabad37392b57e6236ad78a981a 100644
|
||||
index ea966037755ba552dc6cf2f4792e9d23f0e77b1c..32392a780eb078b792991c6f00b8eb161a3ff509 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -1118,4 +1118,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] PlayerSetSpawnerTypeWithEggEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
index a63399eedb896c06e96c7fba5cac7102e1c40ba6..44aa32b49fa32fbaf86625c0eed7c2e01d8f212c 100644
|
||||
index dc11683ee4d8a6b7a1c42bcae36dc6e8105cd994..22f2b1b445f383b2e784688908a92b90ece21cb3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
@@ -320,6 +320,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
@@ -25,7 +25,7 @@ index a63399eedb896c06e96c7fba5cac7102e1c40ba6..44aa32b49fa32fbaf86625c0eed7c2e0
|
||||
public static ResourceLocation getKey(EntityType<?> type) {
|
||||
return BuiltInRegistries.ENTITY_TYPE.getKey(type);
|
||||
}
|
||||
@@ -535,6 +545,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
@@ -531,6 +541,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
return this.category;
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ index a63399eedb896c06e96c7fba5cac7102e1c40ba6..44aa32b49fa32fbaf86625c0eed7c2e0
|
||||
if (this.descriptionId == null) {
|
||||
this.descriptionId = Util.makeDescriptionId("entity", BuiltInRegistries.ENTITY_TYPE.getKey(this));
|
||||
diff --git a/src/main/java/net/minecraft/world/item/SpawnEggItem.java b/src/main/java/net/minecraft/world/item/SpawnEggItem.java
|
||||
index 4f10f801dc126e9135432939b6663770c0e7a0bc..8f89a1c7e6214f549490ecf75afbdd72b897b120 100644
|
||||
index 3bfbf7daa190b03f978b9fc72233c18c383b6659..32996934bb47f4b7b2aa65dfd8739d8f67c740ef 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/SpawnEggItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/SpawnEggItem.java
|
||||
@@ -68,6 +68,16 @@ public class SpawnEggItem extends Item {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Minecart settings and WASD controls
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index e20f86d9167929e463b0e179db7e22e72fa6a1b3..5156368507e56ec423a04e02e3cdcd8de502bc18 100644
|
||||
index e4f36920d54688b515b86ada943765d460361889..0e2a165a86ee59cd27c68d5b96ecdbb49d74b15f 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1112,6 +1112,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -17,7 +17,7 @@ index e20f86d9167929e463b0e179db7e22e72fa6a1b3..5156368507e56ec423a04e02e3cdcd8d
|
||||
|
||||
if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
index c906ca07509939a06b9aaf2da0dafb172830a638..d5e2797b392527de4027b20f29c73a16eb0d6af9 100644
|
||||
index d514ec1e4cbdc579c3a61533998437903afdc8b6..93f42963816caa2a5f5b94c3bc1b87bbc9052a01 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
@@ -105,12 +105,14 @@ public abstract class AbstractMinecart extends VehicleEntity {
|
||||
@@ -136,10 +136,10 @@ index 3aa73cd44aa8c86b78c35bc1788e4f83018c49ed..66a8b28275619079e3bcbcc460146976
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
index 3ab8b99837b1d1faea722c598b0228b2780be8b1..06b07927aba82084bd2996be92b9e340a9bf2ad2 100644
|
||||
index 2892e586146cbc560f0bcf4b9af6d0575cb0a82e..63c4d52c348d9297a24abb17e105b2f4c7758740 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
@@ -93,7 +93,7 @@ public abstract class BlockBehaviour implements FeatureElement {
|
||||
@@ -92,7 +92,7 @@ public abstract class BlockBehaviour implements FeatureElement {
|
||||
protected final float jumpFactor;
|
||||
protected final boolean dynamicShape;
|
||||
protected final FeatureFlagSet requiredFeatures;
|
||||
@@ -149,7 +149,7 @@ index 3ab8b99837b1d1faea722c598b0228b2780be8b1..06b07927aba82084bd2996be92b9e340
|
||||
protected ResourceLocation drops;
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index ae393a6c34e79ea3ac0f4a17792f296f18c3f06b..269fa073b53b5434d19d6705eb2fb2d0550ba0ac 100644
|
||||
index 113d827713b409cc3093c39a56439d7c0d04e129..24dcdf3ca52129d3d35902c94ae302e35385cd50 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -95,6 +95,68 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -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 5d55704235ba54ada99dc6107d0da25c80ad4172..65a3949679b3d600b972eb6058af6eebc7367d6a 100644
|
||||
index fe4b5878a0d9dffb8602f01344fb4c828ee71fe0..8fece4bf10534f899d0609891211946d1aa650be 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1841,6 +1841,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1842,6 +1842,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 5d55704235ba54ada99dc6107d0da25c80ad4172..65a3949679b3d600b972eb6058af6eeb
|
||||
this.dropFromLootTable(source, flag);
|
||||
// Paper start
|
||||
final boolean prev = this.clearEquipmentSlots;
|
||||
@@ -1849,6 +1850,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1850,6 +1851,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
// Paper end
|
||||
this.dropCustomDeathLoot(source, i, flag);
|
||||
this.clearEquipmentSlots = prev; // Paper
|
||||
|
||||
@@ -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 dac631ffd190829e299ab30415ade7c06f70f4c3..346b4027006d5cde97ec5bc4599635b145a76de1 100644
|
||||
index 62f47598dfb32dbe811f448c10196896c65fb9d6..ed24084bc7db7b0b1ef577fdab96b28a5fd81d52 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -1933,9 +1933,19 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1935,9 +1935,19 @@ public abstract class Player extends LivingEntity {
|
||||
@Override
|
||||
public int getExperienceReward() {
|
||||
if (!this.level().getGameRules().getBoolean(GameRules.RULE_KEEPINVENTORY) && !this.isSpectator()) {
|
||||
|
||||
@@ -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 73454dbffd3def4ab40ff215dcbb4a4a7b839e6d..31c51f882fa1e6c45daeb9b8c2cd32388ed2367e 100644
|
||||
index 2cfc4445dc24f5593206d567b7af309a48b77cf0..509fec946781d0553b44606ceb296d7db20467dc 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 73454dbffd3def4ab40ff215dcbb4a4a7b839e6d..31c51f882fa1e6c45daeb9b8c2cd3238
|
||||
&& (!(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 b1e6a65769d0915712571214f82f225437b02706..f4c1fd338dc1f37859eb13b5c9e9dae52aac0218 100644
|
||||
index 8fece4bf10534f899d0609891211946d1aa650be..56264e06623206d1c545bc40775ad3034ed962a4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2541,7 +2541,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2542,7 +2542,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
@Override
|
||||
protected void onBelowWorld() {
|
||||
|
||||
@@ -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 d668fd41d2bc2ab6a782cf5415507cbd83754c18..579f3d49c2804f1a7de687426402cdf9d950fad9 100644
|
||||
index 56264e06623206d1c545bc40775ad3034ed962a4..e9529e1a1f799911484e0a4c0d725408580c01b9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3567,7 +3567,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3568,7 +3568,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
int j = i / 10;
|
||||
|
||||
if (j % 2 == 0) {
|
||||
|
||||
@@ -27,10 +27,10 @@ index 6371f326fc86cfc53e39bf8ed13b646f7705fbbc..3dec0c5fc8dece5341634eaf8e94fe19
|
||||
|
||||
return true;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 3c2bc3a24bb6ec282e61f35856775d9bc61d6462..3a634ac6d8a7538ec75fc848ca252e062857a4f9 100644
|
||||
index bce8df10ac9dfb7a9bba76fc05357c8b6a0520e4..c2e6f6d2c4bdda3cafd2f7b42f3586242cdff738 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -1907,4 +1907,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1902,4 +1902,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
return null;
|
||||
}
|
||||
// Paper end - optimize redstone (Alternate Current)
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow color codes in books
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 7c829f26b29bb3e02248bfd8d63b600c232ebd3e..063a1a979755d63bd3d099f07348c7a587adbe3d 100644
|
||||
index ea3f177e93127cab65f208189742af641adb22b7..133879448881bbe360cac7631343ee1d587dda14 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1231,13 +1231,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1230,13 +1230,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
itemstack1.setTag(nbttagcompound.copy());
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ index 7c829f26b29bb3e02248bfd8d63b600c232ebd3e..063a1a979755d63bd3d099f07348c7a5
|
||||
|
||||
this.updateBookPages(pages, (s) -> {
|
||||
return Component.Serializer.toJson(Component.literal(s));
|
||||
@@ -1249,10 +1252,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1248,10 +1251,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
private void updateBookPages(List<FilteredText> list, UnaryOperator<String> unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit
|
||||
ListTag nbttaglist = new ListTag();
|
||||
|
||||
@@ -44,7 +44,7 @@ index 7c829f26b29bb3e02248bfd8d63b600c232ebd3e..063a1a979755d63bd3d099f07348c7a5
|
||||
|
||||
Objects.requireNonNull(nbttaglist);
|
||||
stream.forEach(nbttaglist::add);
|
||||
@@ -1262,11 +1268,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1261,11 +1267,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
|
||||
for (int j = list.size(); i < j; ++i) {
|
||||
FilteredText filteredtext = (FilteredText) list.get(i);
|
||||
@@ -58,7 +58,7 @@ index 7c829f26b29bb3e02248bfd8d63b600c232ebd3e..063a1a979755d63bd3d099f07348c7a5
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1279,6 +1285,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1278,6 +1284,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
this.player.getInventory().setItem(slot, CraftEventFactory.handleEditBookEvent(this.player, slot, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent)
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 29537f37bc0c0d5b46813c700d9bd96fefc8d599..9d008bc7d99e0fc61260a2bf3f7ace118596d5f3 100644
|
||||
index 133879448881bbe360cac7631343ee1d587dda14..0eba0fcdb6161347175cf9599ce95cda0e7dc6fc 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2731,6 +2731,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -2730,6 +2730,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
AABB axisalignedbb = entity.getBoundingBox();
|
||||
|
||||
if (axisalignedbb.distanceToSqr(this.player.getEyePosition()) < ServerGamePacketListenerImpl.MAX_INTERACTION_DISTANCE) {
|
||||
@@ -17,7 +17,7 @@ index 29537f37bc0c0d5b46813c700d9bd96fefc8d599..9d008bc7d99e0fc61260a2bf3f7ace11
|
||||
private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit
|
||||
ItemStack itemstack = ServerGamePacketListenerImpl.this.player.getItemInHand(enumhand);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index f1df9e038d919f7dc0404fda796426037833b778..ed2909d3eee566771ea910e1937009bbdb73e159 100644
|
||||
index fe9c41287a9e5adc8179f581fc93649a846e839e..c31cfdb7ce2964dcf61cecf441f5bc275e7ef2db 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -136,6 +136,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
|
||||
@@ -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 5156368507e56ec423a04e02e3cdcd8de502bc18..fd48f333747ec79083adea4053e643d93efca714 100644
|
||||
index 0e2a165a86ee59cd27c68d5b96ecdbb49d74b15f..710a4177acd4c25c2b1d193f2e9f7ef92b08e1e6 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 5156368507e56ec423a04e02e3cdcd8de502bc18..fd48f333747ec79083adea4053e643d9
|
||||
+ // 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 aac03f78f88ff0b7ace9694093d4fbc649cd0cd5..e10a96335d9534a7c0a17d20d6563bf3e157f494 100644
|
||||
index e9529e1a1f799911484e0a4c0d725408580c01b9..537dae595f7b6df016db7fe2ee2591b78f853f4c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -426,6 +426,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -425,6 +425,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
double d1 = this.level().getWorldBorder().getDamagePerBlock();
|
||||
|
||||
if (d1 > 0.0D) {
|
||||
@@ -48,7 +48,7 @@ index aac03f78f88ff0b7ace9694093d4fbc649cd0cd5..e10a96335d9534a7c0a17d20d6563bf3
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 9df1e909f4dc21d5c3d11fa67adc15efd5d82eca..3d7726bd54781e922f9d2b5b1fea510d6295919e 100644
|
||||
index f88bcb94067626daf8fe080f85de15dc81536fee..e813fa037ca17bec29db916eac882cbfab432e56 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 {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Crying obsidian valid for portal frames
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/portal/PortalShape.java b/src/main/java/net/minecraft/world/level/portal/PortalShape.java
|
||||
index 590cd053a1b1c2a489772a2879998725fe0d783c..ba3f79cc1f7e672f0a9d32d262122ec6eba22b97 100644
|
||||
index 912cee9ec45876f831ca230b59a1be3b48ce6aa5..46910a3bdacc9df1835e16b300f9e107744d2660 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/portal/PortalShape.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/portal/PortalShape.java
|
||||
@@ -34,7 +34,7 @@ public class PortalShape {
|
||||
@@ -33,7 +33,7 @@ public class PortalShape {
|
||||
private static final int MIN_HEIGHT = 3;
|
||||
public static final int MAX_HEIGHT = 21;
|
||||
private static final BlockBehaviour.StatePredicate FRAME = (iblockdata, iblockaccess, blockposition) -> {
|
||||
|
||||
@@ -42,10 +42,10 @@ index 081d1e38b7b1f286e138b0981aaa760e58761215..d94928a78d166dd3d836261b4f99fb4f
|
||||
EntityBreedEvent entityBreedEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityageable, this, other, breeder, this.breedItem, experience);
|
||||
if (entityBreedEvent.isCancelled()) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 1c8653222f07f5aa12639a95c13fdcdfd5dd87c0..29ff1ca5180aee623cd56c7310c2c0843f9a0b0a 100644
|
||||
index c2e6f6d2c4bdda3cafd2f7b42f3586242cdff738..85d0a644fa876978d1295d8a2d88ab2869b33904 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -196,6 +196,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -191,6 +191,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
}
|
||||
// Paper end - fix and optimise world upgrading
|
||||
|
||||
@@ -95,7 +95,7 @@ index 1c8653222f07f5aa12639a95c13fdcdfd5dd87c0..29ff1ca5180aee623cd56c7310c2c084
|
||||
public CraftWorld getWorld() {
|
||||
return this.world;
|
||||
}
|
||||
@@ -219,6 +262,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -214,6 +257,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
||||
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config
|
||||
this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
|
||||
|
||||
@@ -5,16 +5,16 @@ Subject: [PATCH] Set name visible when using a Name Tag on an Armor Stand
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/NameTagItem.java b/src/main/java/net/minecraft/world/item/NameTagItem.java
|
||||
index d12b3fb8b5e28ba4524d163878be978b1b42d019..f570ad65b746b596479c987f2fdf37d1ae94ab47 100644
|
||||
index a0b3c2d3b3f86ecd6cb80ff767839d29ca4f4f68..61b4430d6dd73b5406c4879e41ff80a1b6f67f84 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/NameTagItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/NameTagItem.java
|
||||
@@ -20,6 +20,7 @@ public class NameTagItem extends Item {
|
||||
if (!event.callEvent()) return InteractionResult.PASS;
|
||||
LivingEntity newEntityLiving = ((org.bukkit.craftbukkit.entity.CraftLivingEntity) event.getEntity()).getHandle();
|
||||
newEntityLiving.setCustomName(event.getName() != null ? io.papermc.paper.adventure.PaperAdventure.asVanilla(event.getName()) : null);
|
||||
LivingEntity newEntity = ((org.bukkit.craftbukkit.entity.CraftLivingEntity) event.getEntity()).getHandle();
|
||||
newEntity.setCustomName(event.getName() != null ? io.papermc.paper.adventure.PaperAdventure.asVanilla(event.getName()) : null);
|
||||
+ if (user.level().purpurConfig.armorstandFixNametags && entity instanceof net.minecraft.world.entity.decoration.ArmorStand) entity.setCustomNameVisible(true); // Purpur
|
||||
if (event.isPersistent() && newEntityLiving instanceof Mob) {
|
||||
((Mob) newEntityLiving).setPersistenceRequired();
|
||||
if (event.isPersistent() && newEntity instanceof Mob) {
|
||||
((Mob) newEntity).setPersistenceRequired();
|
||||
// Paper end - Add PlayerNameEntityEvent
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 2ac5c8b427e2615b7522f745d431e78ff784d90c..a2b22b2b96cc476e7ed7b804ea175833853a9495 100644
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] PlayerBookTooLargeEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 2cb344c02a3812225679d7392b9f557309d05010..afcf996540d2482b0a1afac5b2656beb53b41619 100644
|
||||
index 0eba0fcdb6161347175cf9599ce95cda0e7dc6fc..8fcd264000593ce8bcaba0bbc6df0074ea91e13d 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1151,10 +1151,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1150,10 +1150,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
int maxBookPageSize = io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.pageMax;
|
||||
double multiplier = Math.max(0.3D, Math.min(1D, io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier));
|
||||
long byteAllowed = maxBookPageSize;
|
||||
@@ -24,7 +24,7 @@ index 2cb344c02a3812225679d7392b9f557309d05010..afcf996540d2482b0a1afac5b2656beb
|
||||
server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause
|
||||
return;
|
||||
}
|
||||
@@ -1178,6 +1183,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1177,6 +1182,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
|
||||
if (byteTotal > byteAllowed) {
|
||||
ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size());
|
||||
|
||||
@@ -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 346b4027006d5cde97ec5bc4599635b145a76de1..7126eab84084620661c1fd3c3311ac24fbcfad09 100644
|
||||
index ed24084bc7db7b0b1ef577fdab96b28a5fd81d52..8dd11cb347b0451ad3e6245339a080ca57f99fe8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -365,6 +365,16 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -367,6 +367,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
|
||||
}
|
||||
|
||||
|
||||
@@ -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 43428fecf9b29cbf53ee18567ac797b9e84da6ad..e3723269a5651d02521da5cc0bca615bb3c81c61 100644
|
||||
index 2d73af861457b41447c66ce84e38bb91e0aa7bf6..2688d7d5a9427bc55f8661c7337cdeede582f01e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1808,7 +1808,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1809,7 +1809,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
boolean flag = false;
|
||||
|
||||
if (this.dead && adversary instanceof WitherBoss) { // Paper
|
||||
@@ -18,7 +18,7 @@ index 43428fecf9b29cbf53ee18567ac797b9e84da6ad..e3723269a5651d02521da5cc0bca615b
|
||||
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 aa9c5397361bc109d9d910b9c9510ca7394a4da4..4383b2555cb416fce7b62b046211dbc3e8c75601 100644
|
||||
index 004d6a378d2fb4b2f6429fd10d63a73aefef6a3f..de8c9905e4fec3d77501871ae3041860f1ce2e50 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 {
|
||||
@@ -131,7 +131,7 @@ index 6fac5dbbbd9600e82b1dd1496680f551ab44313e..fd64a12c7f215f47d366af60882981c2
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index 277e0ef0c5dfd61ea21de7898bfe3ffdb7f7e17b..066dc828681ac665e807038d1a2afccb886c3ca6 100644
|
||||
index 88bc3710cf7229f85805ec210a06b224aec65a4b..50f6b8977866248d1a69f0c82d427eb8ef480952 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -604,7 +604,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -157,7 +157,7 @@ index 6bc0713a8bc8ac86f1febe3414bed135c1cd5336..a655c38eccc41d97cfb6d329e104bad6
|
||||
j = Mth.floor(this.getX());
|
||||
int i1 = Mth.floor(this.getZ());
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
index 1851cd59230447f0d2beed10846de96d497e8a04..4ed9592387531d0880ba322b07ea776cd0b05f03 100644
|
||||
index ca2d247be50c1f7c69aeafeafa5b33ea296bf323..93420c7e9b34b40845f12a0058e50e6fd809e6f7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -549,7 +549,15 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -284,7 +284,7 @@ index 6b67eec90cd0dc1b20762514eac97f75fdbdf182..2dec28091d1816e9d4c749a5155e8303
|
||||
// CraftBukkit start - fire ExplosionPrimeEvent
|
||||
ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity());
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
index 2d09d39a5971615a40b33baa0991c3e432f3ca18..f0c72be4a0dacad52ded87fa051b8505c1b79eae 100644
|
||||
index 837f68825f601971f374be47952b23108bf66ba6..422145f30b7c8e11366705cd9b974a5a89ba5e10 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
@@ -334,7 +334,7 @@ public abstract class Projectile extends Entity implements TraceableEntity {
|
||||
@@ -336,7 +336,7 @@ index 5b96d1ae4bd8546311e986bc312b1f85883a67f4..07b148fc31aee3ce009d1d768ae16d98
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/FarmBlock.java b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
index 386841341b59f05be0473bbfd2baf14c9b8e94c8..7f2943caa60fd8607fb525b746663a761bf1951c 100644
|
||||
index e8514465772a748afe19039d7ce5be0baa303243..e9ab88a5c68565f2245b3397edcffb0544a29fea 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
@@ -110,7 +110,7 @@ public class FarmBlock extends Block {
|
||||
|
||||
@@ -5,10 +5,10 @@ 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 1de057f671018b47087cd87b16bcd54de1ff7753..60fbeef064be1ce044ae870efa38e69d95afbaa2 100644
|
||||
index 8fcd264000593ce8bcaba0bbc6df0074ea91e13d..06ee25fb24123659b9134ac68e7076b5bb98999c 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1639,6 +1639,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1638,6 +1638,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
this.player.resetFallDistance();
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ index 1de057f671018b47087cd87b16bcd54de1ff7753..60fbeef064be1ce044ae870efa38e69d
|
||||
this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5);
|
||||
this.lastGoodX = this.player.getX();
|
||||
this.lastGoodY = this.player.getY();
|
||||
@@ -1678,6 +1685,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1677,6 +1684,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
return false;
|
||||
}
|
||||
// Paper end - optimise out extra getCubes
|
||||
|
||||
@@ -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 29260e8898bb68f4bf31e0bb4b7c721eb5a94344..3922a378360771d8a550c26debbed08222a57d6c 100644
|
||||
index 2688d7d5a9427bc55f8661c7337cdeede582f01e..10c0f0e757331338c7747e9704f57eb4b7c5b848 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2334,6 +2334,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2335,6 +2335,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Sneak to bulk process composter
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
index 58f972832c39a27a8ccd606f9144e1c54adbf6f3..ecf0b6f30d5791f6c7097d352eafa8ecbcdf4aa8 100644
|
||||
index a7b217ddbcbf92513bd38101fdfca2075505e267..ac49288d59eee3657e0db9ed385248f6b91095cc 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
@@ -579,7 +579,7 @@ public class ServerPlayerGameMode {
|
||||
@@ -577,7 +577,7 @@ public class ServerPlayerGameMode {
|
||||
boolean flag1 = player.isSecondaryUseActive() && flag;
|
||||
ItemStack itemstack1 = stack.copy();
|
||||
|
||||
@@ -18,7 +18,7 @@ index 58f972832c39a27a8ccd606f9144e1c54adbf6f3..ecf0b6f30d5791f6c7097d352eafa8ec
|
||||
|
||||
if (enuminteractionresult.consumesAction()) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java
|
||||
index de8b5cab7925c1c46478952ed2cb2bd40f9a9c48..27ff4a3de2253177a6f4a0dbf131d437eb24f2e8 100644
|
||||
index f9084e2605d7403721fe6b714bfad051f932aaef..47b7baa41f341087bcd5dfec1d2a13b96f8357ca 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java
|
||||
@@ -236,20 +236,28 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder {
|
||||
@@ -90,7 +90,7 @@ index de8b5cab7925c1c46478952ed2cb2bd40f9a9c48..27ff4a3de2253177a6f4a0dbf131d437
|
||||
int i = (Integer) state.getValue(ComposterBlock.LEVEL);
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a855bb2e4f04a64e47611b20342e1eb484f6bf22..71d472912a2c8dda6102357f6ed619e543e3b534 100644
|
||||
index 70b740ae9efc960266900a1c5b1d478d1794f5eb..419ddcb1197fe839d8fd5ab2fd65a22b0ff1bae5 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -479,6 +479,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ 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 e2a11e9928e2ad39ce2dca85ada1108884cad568..6e397dddf129f0e2c598145c0d39f093e7671143 100644
|
||||
index 61bc2ca4255478a208101381f0d4eb17c401e679..26193b816e8cfd1aefba64ae05bbcf6af9d4559f 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
|
||||
@@ -18,10 +18,10 @@ index e2a11e9928e2ad39ce2dca85ada1108884cad568..6e397dddf129f0e2c598145c0d39f093
|
||||
|
||||
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 a64a41c521aea5f90fcfe72dc24ae5261c5f0b6d..be5c0141d40864bbf7338f2f5b389ec8ea41e4a8 100644
|
||||
index 10c0f0e757331338c7747e9704f57eb4b7c5b848..c1a8e3e2d0b804aecf32119cdd6f04b894679222 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -438,7 +438,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -437,7 +437,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
if (flag1) {
|
||||
this.setAirSupply(this.decreaseAirSupply(this.getAirSupply()));
|
||||
@@ -30,7 +30,7 @@ index a64a41c521aea5f90fcfe72dc24ae5261c5f0b6d..be5c0141d40864bbf7338f2f5b389ec8
|
||||
this.setAirSupply(0);
|
||||
Vec3 vec3d = this.getDeltaMovement();
|
||||
|
||||
@@ -450,7 +450,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -449,7 +449,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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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 7126eab84084620661c1fd3c3311ac24fbcfad09..63ab4eaf21d69ab40ea4d659322b429cb640db60 100644
|
||||
index 8dd11cb347b0451ad3e6245339a080ca57f99fe8..906cbe8d6a03202da897ffe79e98976ee303d6f9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -1312,7 +1312,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1314,7 +1314,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) {
|
||||
|
||||
@@ -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 6e397dddf129f0e2c598145c0d39f093e7671143..fce22f388cae1e125528004457e917e3cbc86d38 100644
|
||||
index 26193b816e8cfd1aefba64ae05bbcf6af9d4559f..a0b9ef437e47de350e22acf510a535d3cb45c001 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 6e397dddf129f0e2c598145c0d39f093e7671143..fce22f388cae1e125528004457e917e3
|
||||
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 d2b1d362a0187a6eefa9d2a1d47971b783c252b7..6ba0fbaba03d9b7dede1b869f004bb020d25c885 100644
|
||||
index 4ef9f18b59c5ff6d0dc108e82db1ec17fccd79b8..a8d7992fc2d263f6898cf3025fa15cef6d24b439 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -262,6 +262,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -261,6 +261,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 d2b1d362a0187a6eefa9d2a1d47971b783c252b7..6ba0fbaba03d9b7dede1b869f004bb02
|
||||
|
||||
@Override
|
||||
public float getBukkitYaw() {
|
||||
@@ -803,6 +804,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -802,6 +803,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
dataresult.resultOrPartial(logger::error).ifPresent((nbtbase) -> {
|
||||
nbt.put("Brain", nbtbase);
|
||||
});
|
||||
@@ -63,7 +63,7 @@ index d2b1d362a0187a6eefa9d2a1d47971b783c252b7..6ba0fbaba03d9b7dede1b869f004bb02
|
||||
}
|
||||
|
||||
// CraftBukkit start
|
||||
@@ -3585,6 +3592,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3586,6 +3593,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.hurt(this.damageSources().drown(), 1.0F);
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ 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 63ab4eaf21d69ab40ea4d659322b429cb640db60..59a6836778ee11c66455c29a4dbbe94d6940c812 100644
|
||||
index 906cbe8d6a03202da897ffe79e98976ee303d6f9..090d5e04aee2aa318739965aa275a239f8071486 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 {
|
||||
@@ -30,7 +30,7 @@ index 63ab4eaf21d69ab40ea4d659322b429cb640db60..59a6836778ee11c66455c29a4dbbe94d
|
||||
this.noPhysics = this.isSpectator();
|
||||
if (this.isSpectator()) {
|
||||
this.setOnGround(false);
|
||||
@@ -2311,7 +2318,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -2313,7 +2320,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()));
|
||||
|
||||
@@ -5,7 +5,7 @@ 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 59a6836778ee11c66455c29a4dbbe94d6940c812..f0e910a738d71a7759f41e6294e16db256c9c641 100644
|
||||
index 090d5e04aee2aa318739965aa275a239f8071486..4db05f2de856c5ea023ee8ce4a6052257cc32549 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 {
|
||||
@@ -16,7 +16,7 @@ index 59a6836778ee11c66455c29a4dbbe94d6940c812..f0e910a738d71a7759f41e6294e16db2
|
||||
|
||||
// CraftBukkit start
|
||||
public boolean fauxSleeping;
|
||||
@@ -472,7 +473,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -474,7 +475,7 @@ public abstract class Player extends LivingEntity {
|
||||
|
||||
@Override
|
||||
public int getPortalWaitTime() {
|
||||
|
||||
@@ -5,7 +5,7 @@ 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 7490893e2e419e3b8d15bf1b2fa776c6e07a7dec..4122154bdefca80286a8da128feee31f5fa183ee 100644
|
||||
index 46fafca45014292b1a8993e826c8710db9812876..6c6e6d8f3fd9d71cc13a53639dce1e8781de05af 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 {
|
||||
@@ -25,10 +25,10 @@ index 7490893e2e419e3b8d15bf1b2fa776c6e07a7dec..4122154bdefca80286a8da128feee31f
|
||||
world.notifyAndUpdatePhysics(newblockposition, null, oldBlock, block, world.getBlockState(newblockposition), updateFlag, 512); // send null chunk as chunk.k() returns false by this point
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||
index 3f2fdf73e2e520838c7b59fe994e67ab2d1a4d6b..cd9996b03974d44ba0285a6eab7d2923c2533446 100644
|
||||
index 22036ed3ea0629bc12981a8d91a03e55cc2117d6..3dc71c4ee8fc9846e49e659c6b5e7b55ea084f14 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/Block.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||
@@ -445,7 +445,17 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||
@@ -446,7 +446,17 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||
} // Paper - fix drops not preventing stats/food exhaustion
|
||||
}
|
||||
|
||||
|
||||
@@ -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 f0e910a738d71a7759f41e6294e16db256c9c641..712d4a9cae11f75ffce45c912bf14ff92fe4735e 100644
|
||||
index 4db05f2de856c5ea023ee8ce4a6052257cc32549..d9b12e2b4e5d3039bde74a847a484c0dae319a92 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -2039,6 +2039,11 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -2041,6 +2041,11 @@ public abstract class Player extends LivingEntity {
|
||||
return this.inventory.armor;
|
||||
}
|
||||
|
||||
|
||||
@@ -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 338e9bef962f9090070a9c76e565c6aeab66975e..665bfee6a54269847cbab3669d771494a8dae422 100644
|
||||
index a8d7992fc2d263f6898cf3025fa15cef6d24b439..be06f0adaa7ea31139900162fd4128222a0b5ea3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2932,6 +2932,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2933,6 +2933,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
if (f3 > 0.0F) {
|
||||
this.playSound(this.getFallDamageSound((int) f3), 1.0F, 1.0F);
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Shift right click to use exp for mending
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
index 3e00cdf0a8fbf559b62b09b3086feb5786169e09..ac325b200bf5091d190f6c1a97caa3dc0434a707 100644
|
||||
index 1aa98f8ff062a906035c62875c454aeb0bc6f179..f8edb6b0d119582cf404b9931adc09484465fc9d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
@@ -517,6 +517,7 @@ public class ServerPlayerGameMode {
|
||||
@@ -16,7 +16,7 @@ index 3e00cdf0a8fbf559b62b09b3086feb5786169e09..ac325b200bf5091d190f6c1a97caa3dc
|
||||
BlockPos blockposition = hitResult.getBlockPos();
|
||||
BlockState iblockdata = world.getBlockState(blockposition);
|
||||
InteractionResult enuminteractionresult = InteractionResult.PASS;
|
||||
@@ -621,4 +622,18 @@ public class ServerPlayerGameMode {
|
||||
@@ -619,4 +620,18 @@ public class ServerPlayerGameMode {
|
||||
public void setLevel(ServerLevel world) {
|
||||
this.level = world;
|
||||
}
|
||||
@@ -36,10 +36,10 @@ index 3e00cdf0a8fbf559b62b09b3086feb5786169e09..ac325b200bf5091d190f6c1a97caa3dc
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 60fbeef064be1ce044ae870efa38e69d95afbaa2..9695492472a6b14d75a8dac4a2cbc196bce75937 100644
|
||||
index 06ee25fb24123659b9134ac68e7076b5bb98999c..620530cf5c18fa93cd1fd2adefd136bbbc9e59a3 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2037,6 +2037,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -2036,6 +2036,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
|
||||
boolean cancelled;
|
||||
if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) {
|
||||
|
||||
@@ -37,7 +37,7 @@ index b1779e3cf4b01afc15aa367cfadb999366e46d19..f33fcd7bca6f315c4b4cf1f5063f4772
|
||||
|
||||
@Nullable
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||
index 345c0299e95be5f3c46237ba0626311553260506..b17def87be9e96fa0c94f50b359d83fd82c90f01 100644
|
||||
index 3dc71c4ee8fc9846e49e659c6b5e7b55ea084f14..34b4c19220e73efad9ff22f3798ee7fbbd5a1968 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/Block.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||
@@ -63,6 +63,13 @@ import net.minecraft.world.phys.shapes.Shapes;
|
||||
@@ -63,16 +63,16 @@ index 345c0299e95be5f3c46237ba0626311553260506..b17def87be9e96fa0c94f50b359d83fd
|
||||
});
|
||||
state.spawnAfterBreak((ServerLevel) world, pos, ItemStack.EMPTY, true);
|
||||
}
|
||||
@@ -338,7 +345,7 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||
event.setExpToDrop(block.getExpDrop(state, (ServerLevel) world, pos, net.minecraft.world.item.ItemStack.EMPTY, true)); // Paper - Properly handle xp dropping
|
||||
@@ -339,7 +346,7 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||
event.setExpToDrop(block.getExpDrop(state, serverLevel, pos, net.minecraft.world.item.ItemStack.EMPTY, true)); // Paper - Properly handle xp dropping
|
||||
event.callEvent();
|
||||
for (var drop : event.getDrops()) {
|
||||
- popResource(world.getMinecraftWorld(), pos, org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(drop));
|
||||
+ popResource(world.getMinecraftWorld(), pos, applyDisplayNameAndLoreFromTile(org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(drop), blockEntity)); // Purpur
|
||||
for (org.bukkit.inventory.ItemStack drop : event.getDrops()) {
|
||||
- popResource(serverLevel, pos, org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(drop));
|
||||
+ popResource(serverLevel, pos, applyDisplayNameAndLoreFromTile(org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(drop), blockEntity)); // Purpur
|
||||
}
|
||||
state.spawnAfterBreak(world.getMinecraftWorld(), pos, ItemStack.EMPTY, false); // Paper - Properly handle xp dropping
|
||||
block.popExperience((ServerLevel) world, pos, event.getExpToDrop()); // Paper - Properly handle xp dropping
|
||||
@@ -355,13 +362,53 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||
state.spawnAfterBreak(serverLevel, pos, ItemStack.EMPTY, false); // Paper - Properly handle xp dropping
|
||||
block.popExperience(serverLevel, pos, event.getExpToDrop()); // Paper - Properly handle xp dropping
|
||||
@@ -356,13 +363,53 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||
// Paper end - Properly handle xp dropping
|
||||
if (world instanceof ServerLevel) {
|
||||
Block.getDrops(state, (ServerLevel) world, pos, blockEntity, entity, tool).forEach((itemstack1) -> {
|
||||
@@ -128,7 +128,7 @@ index 345c0299e95be5f3c46237ba0626311553260506..b17def87be9e96fa0c94f50b359d83fd
|
||||
double d0 = (double) EntityType.ITEM.getHeight() / 2.0D;
|
||||
double d1 = (double) pos.getX() + 0.5D + Mth.nextDouble(world.random, -0.25D, 0.25D);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
|
||||
index 4ce7a7947fa727e64556148f923508ce76c128c4..96995d9163d34fa55cb4b6a28f8b0c51752e1357 100644
|
||||
index 9ea74d37cd951e0dc76d20ed8234b5871035566c..8e1afae66742fc69d5aab1074ba94a3999cbf9b8 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
|
||||
@@ -6,6 +6,8 @@ import net.minecraft.CrashReportCategory;
|
||||
|
||||
@@ -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 712d4a9cae11f75ffce45c912bf14ff92fe4735e..6e697e132bd654dd7c8a4170648bfd4aaedc47a4 100644
|
||||
index d9b12e2b4e5d3039bde74a847a484c0dae319a92..ec4ca16e4f7307b9993717fefc48c305a1f58418 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -2418,6 +2418,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -2420,6 +2420,7 @@ public abstract class Player extends LivingEntity {
|
||||
}
|
||||
|
||||
public static boolean isValidUsername(String name) {
|
||||
|
||||
@@ -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 6e697e132bd654dd7c8a4170648bfd4aaedc47a4..208189cec91b298b5843473f065c5372ef67f20d 100644
|
||||
index ec4ca16e4f7307b9993717fefc48c305a1f58418..dfc73cd1b4fd9a2572a71b653e6e3d9133ec634c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -629,7 +629,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -631,7 +631,7 @@ public abstract class Player extends LivingEntity {
|
||||
while (iterator.hasNext()) {
|
||||
Entity entity = (Entity) iterator.next();
|
||||
|
||||
|
||||
@@ -6,12 +6,12 @@ Subject: [PATCH] Spark Profiler
|
||||
Co-authored-by: granny <granny@purpurmc.org>
|
||||
|
||||
diff --git a/src/main/java/io/papermc/paper/plugin/PluginInitializerManager.java b/src/main/java/io/papermc/paper/plugin/PluginInitializerManager.java
|
||||
index 89bf48fd581ee6580b91e2eb31dd532cb622df5e..e35da199be67e04c34df6bc09afd8d8122cb0487 100644
|
||||
index 708e5bb9bbf0476fcc2c4b92c6830b094703b43e..6141f716b15ad47ac2ac4c9ce92a3897b3ad8807 100644
|
||||
--- a/src/main/java/io/papermc/paper/plugin/PluginInitializerManager.java
|
||||
+++ b/src/main/java/io/papermc/paper/plugin/PluginInitializerManager.java
|
||||
@@ -102,6 +102,7 @@ public class PluginInitializerManager {
|
||||
java.util.List<File> files = (java.util.List<File>) optionSet.valuesOf("add-plugin");
|
||||
// Register plugins from the flag
|
||||
@@ -104,6 +104,7 @@ public class PluginInitializerManager {
|
||||
@SuppressWarnings("unchecked")
|
||||
java.util.List<Path> files = ((java.util.List<File>) optionSet.valuesOf("add-plugin")).stream().map(File::toPath).toList();
|
||||
io.papermc.paper.plugin.util.EntrypointUtil.registerProvidersFromSource(io.papermc.paper.plugin.provider.source.PluginFlagProviderSource.INSTANCE, files);
|
||||
+ io.papermc.paper.plugin.util.EntrypointUtil.registerProvidersFromSource(io.papermc.paper.plugin.provider.source.SparkProviderSource.INSTANCE, new File("cache", "spark.jar").toPath()); // Purpur
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Option to disable kick for out of order chat
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 9695492472a6b14d75a8dac4a2cbc196bce75937..962dd813a9422ae14f7a149c605c7df4fee61f91 100644
|
||||
index 620530cf5c18fa93cd1fd2adefd136bbbc9e59a3..c36d2dc918b0fe14c634a765524af06e65ddc104 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1702,7 +1702,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1701,7 +1701,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
|
||||
do {
|
||||
if (!iterator.hasNext()) {
|
||||
|
||||
@@ -56,7 +56,7 @@ index 3e2d5dcd62775b6ed7c0ce0ba51a71b635b1d644..166cd0f8e72189d10e56cd7bc095409a
|
||||
} catch (Exception exception) {
|
||||
label25:
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 48f4122696dfb9ebc6c09b0036f5fa3591ce7c5e..6e996eef388bb154fde7ae285375900e9e7a2f6c 100644
|
||||
index 0088180c3574ace7eb4170c385d2ca9fc098d6f3..b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1429,7 +1429,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -630,10 +630,10 @@ index 009d077f979d5ae85b359f3829038015af347429..b4b256721b7a5d25deec717123501a16
|
||||
|
||||
} else if (close) { chunkproviderserver.close(false); } // Paper - rewrite chunk system
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 26ca065482fac4649cf6108789d69b95ea93ea83..af22ffb1fceb2402a2ee82cce844cec05ef1fabf 100644
|
||||
index c36d2dc918b0fe14c634a765524af06e65ddc104..80be383a1cf12695430a75d2bd11ad0cf6104e80 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2442,7 +2442,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -2441,7 +2441,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
|
||||
public void handleCommand(String s) { // Paper - private -> public
|
||||
org.spigotmc.AsyncCatcher.catchOp("Command Dispatched Async: " + s); // Paper - Add async catcher
|
||||
@@ -642,7 +642,7 @@ index 26ca065482fac4649cf6108789d69b95ea93ea83..af22ffb1fceb2402a2ee82cce844cec0
|
||||
if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot
|
||||
this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s);
|
||||
|
||||
@@ -2452,7 +2452,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -2451,7 +2451,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
this.cserver.getPluginManager().callEvent(event);
|
||||
|
||||
if (event.isCancelled()) {
|
||||
@@ -651,7 +651,7 @@ index 26ca065482fac4649cf6108789d69b95ea93ea83..af22ffb1fceb2402a2ee82cce844cec0
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2465,7 +2465,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -2464,7 +2464,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||
return;
|
||||
} finally {
|
||||
@@ -661,7 +661,7 @@ index 26ca065482fac4649cf6108789d69b95ea93ea83..af22ffb1fceb2402a2ee82cce844cec0
|
||||
}
|
||||
// CraftBukkit end
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index d1afad129159d5ce7cf9530a7dfb6ed5b4fa25f3..b230739cf929c8f2b51a812fffe54be343ce3e05 100644
|
||||
index 8458adda210e10254d5564a6b84894805b7ddbfe..323391509c2efd49c54d7b36d7aa880c63ae5fd4 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1273,7 +1273,7 @@ public abstract class PlayerList {
|
||||
@@ -732,10 +732,10 @@ index fcdb9bde8e1605e30dde3e580491522d4b62cdc0..7094701d213c73ba47ace806962244c1
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 1b6701b3e844610a443d85e7fe387860443a0ee4..81a38b3384f6c0111d3e10397d21aba3f2d57325 100644
|
||||
index 85d0a644fa876978d1295d8a2d88ab2869b33904..4999f9f3a4296df3d7f933cc4011e85527da3a17 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -1313,15 +1313,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1308,15 +1308,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
ProfilerFiller gameprofilerfiller = this.getProfiler();
|
||||
|
||||
gameprofilerfiller.push("blockEntities");
|
||||
@@ -754,7 +754,7 @@ index 1b6701b3e844610a443d85e7fe387860443a0ee4..81a38b3384f6c0111d3e10397d21aba3
|
||||
// Spigot start
|
||||
// Iterator<TickingBlockEntity> iterator = this.blockEntityTickers.iterator();
|
||||
boolean flag = this.tickRateManager().runsNormally();
|
||||
@@ -1350,7 +1350,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1345,7 +1345,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
}
|
||||
this.blockEntityTickers.removeAll(toRemove); // Paper - Fix MC-117075
|
||||
|
||||
@@ -764,7 +764,7 @@ index 1b6701b3e844610a443d85e7fe387860443a0ee4..81a38b3384f6c0111d3e10397d21aba3
|
||||
co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper
|
||||
gameprofilerfiller.pop();
|
||||
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||
index 96fc603c2fccc1d9610248b2116d35696bc65e4e..3d99667fa297ea15c5d3a0526a846ce177a5037a 100644
|
||||
index 661acdf4b1f33d150b0caf179e925d3162d7be35..78eb2d8ba58f2937c1145147e2d9e7de802e541e 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||
@@ -133,7 +133,7 @@ public final class NaturalSpawner {
|
||||
|
||||
@@ -89,7 +89,7 @@ index 821dc4aeaf48460000682604fba51b340b9738e7..3aa2ce6a2a3d3cdfc372a60419a09f49
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 6e996eef388bb154fde7ae285375900e9e7a2f6c..1c416ff1bb7cdbf361c096987705bc55e9837dab 100644
|
||||
index b1d2464fc151d4c636c3c2dc4e7b9446ff5dc0a0..8384f72d408f6f31c4c8a1ba47b8caba600faaad 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -341,13 +341,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -221,7 +221,7 @@ index 6e996eef388bb154fde7ae285375900e9e7a2f6c..1c416ff1bb7cdbf361c096987705bc55
|
||||
|
||||
// CraftBukkit start
|
||||
@@ -1730,18 +1730,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - Add EntityMoveEvent
|
||||
worldserver.updateLagCompensationTick(); // Paper - lag compensation
|
||||
worldserver.hasRidableMoveEvent = org.purpurmc.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur
|
||||
|
||||
- this.profiler.push(() -> {
|
||||
@@ -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 6a3fa8bec23e2405091eae560c1edef02023a8a9..eb36f7a9e0f0def9a42947e3b056e6986a57efd9 100644
|
||||
index 2c8cc87353450e2d99c80bcefaf30bc5819a6061..b58a9ea6ec03d6cd434923d2354061e624126191 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
|
||||
@@ -1221,10 +1221,10 @@ index 6a3fa8bec23e2405091eae560c1edef02023a8a9..eb36f7a9e0f0def9a42947e3b056e698
|
||||
}
|
||||
} else {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 87c4e2ef041238f84a00f2b032ed10c3f250eb0d..66abff00db43413b07d51d48654eab7be821bc93 100644
|
||||
index 38c639d0c38e07908ac26a9c998ff06f28a09089..4fe150e70b5ecd74263f67a343a5af513ab471d1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -409,7 +409,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -408,7 +408,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
super.baseTick();
|
||||
@@ -1233,7 +1233,7 @@ index 87c4e2ef041238f84a00f2b032ed10c3f250eb0d..66abff00db43413b07d51d48654eab7b
|
||||
if (this.fireImmune() || this.level().isClientSide) {
|
||||
this.clearFire();
|
||||
}
|
||||
@@ -512,7 +512,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -511,7 +511,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 87c4e2ef041238f84a00f2b032ed10c3f250eb0d..66abff00db43413b07d51d48654eab7b
|
||||
}
|
||||
|
||||
public boolean canSpawnSoulSpeedParticle() {
|
||||
@@ -3165,10 +3165,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3166,10 +3166,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
this.run += (f3 - this.run) * 0.3F;
|
||||
@@ -1256,7 +1256,7 @@ index 87c4e2ef041238f84a00f2b032ed10c3f250eb0d..66abff00db43413b07d51d48654eab7b
|
||||
|
||||
// Paper start - stop large pitch and yaw changes from crashing the server
|
||||
this.yRotO += Math.round((this.getYRot() - this.yRotO) / 360.0F) * 360.0F;
|
||||
@@ -3180,7 +3180,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3181,7 +3181,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 87c4e2ef041238f84a00f2b032ed10c3f250eb0d..66abff00db43413b07d51d48654eab7b
|
||||
this.animStep += f2;
|
||||
if (this.isFallFlying()) {
|
||||
++this.fallFlyTicks;
|
||||
@@ -3475,19 +3475,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3476,19 +3476,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
this.setDeltaMovement(d0, d1, d2);
|
||||
@@ -1290,7 +1290,7 @@ index 87c4e2ef041238f84a00f2b032ed10c3f250eb0d..66abff00db43413b07d51d48654eab7b
|
||||
if (this.jumping && this.isAffectedByFluids()) {
|
||||
double d3;
|
||||
|
||||
@@ -3514,8 +3514,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3515,8 +3515,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.noJumpDelay = 0;
|
||||
}
|
||||
|
||||
@@ -1301,7 +1301,7 @@ index 87c4e2ef041238f84a00f2b032ed10c3f250eb0d..66abff00db43413b07d51d48654eab7b
|
||||
this.xxa *= 0.98F;
|
||||
this.zza *= 0.98F;
|
||||
this.updateFallFlying();
|
||||
@@ -3542,8 +3542,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3543,8 +3543,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.travel(vec3d1);
|
||||
}
|
||||
|
||||
@@ -1312,7 +1312,7 @@ index 87c4e2ef041238f84a00f2b032ed10c3f250eb0d..66abff00db43413b07d51d48654eab7b
|
||||
if (!this.level().isClientSide && !this.isDeadOrDying() && !this.freezeLocked) { // Paper - Freeze Tick Lock API
|
||||
int i = this.getTicksFrozen();
|
||||
|
||||
@@ -3560,15 +3560,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3561,15 +3561,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.hurt(this.damageSources().freeze(), 1.0F);
|
||||
}
|
||||
|
||||
@@ -1821,10 +1821,10 @@ index 28ef910885dbd48965fba6f08cec412697b1b7f0..02dae407069a0200e271cc9c6f3ec6ff
|
||||
|
||||
if (this.fire) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 81a38b3384f6c0111d3e10397d21aba3f2d57325..c37b1fb81e6e8a8af5d17420892ee930b31ca019 100644
|
||||
index 4999f9f3a4296df3d7f933cc4011e85527da3a17..bc797f1872f86b59a8aae3e70823249c9b8d8922 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -1310,9 +1310,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1305,9 +1305,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
}
|
||||
|
||||
protected void tickBlockEntities() {
|
||||
@@ -1836,7 +1836,7 @@ index 81a38b3384f6c0111d3e10397d21aba3f2d57325..c37b1fb81e6e8a8af5d17420892ee930
|
||||
//this.timings.tileEntityPending.startTiming(); // Spigot // Purpur
|
||||
this.tickingBlockEntities = true;
|
||||
if (!this.pendingBlockEntityTickers.isEmpty()) {
|
||||
@@ -1353,7 +1353,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1348,7 +1348,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
//this.timings.tileEntityTick.stopTiming(); // Spigot // Purpur
|
||||
this.tickingBlockEntities = false;
|
||||
co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper
|
||||
@@ -1845,7 +1845,7 @@ index 81a38b3384f6c0111d3e10397d21aba3f2d57325..c37b1fb81e6e8a8af5d17420892ee930
|
||||
this.spigotConfig.currentPrimedTnt = 0; // Spigot
|
||||
}
|
||||
|
||||
@@ -1563,7 +1563,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1558,7 +1558,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
||||
@Override
|
||||
public List<Entity> getEntities(@Nullable Entity except, AABB box, Predicate<? super Entity> predicate) {
|
||||
@@ -1854,7 +1854,7 @@ index 81a38b3384f6c0111d3e10397d21aba3f2d57325..c37b1fb81e6e8a8af5d17420892ee930
|
||||
List<Entity> list = Lists.newArrayList();
|
||||
((ServerLevel)this).getEntityLookup().getEntities(except, box, list, predicate); // Paper - optimise this call
|
||||
return list;
|
||||
@@ -1582,7 +1582,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1577,7 +1577,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
}
|
||||
|
||||
public <T extends Entity> void getEntities(EntityTypeTest<Entity, T> filter, AABB box, Predicate<? super T> predicate, List<? super T> result, int limit) {
|
||||
@@ -1863,7 +1863,7 @@ index 81a38b3384f6c0111d3e10397d21aba3f2d57325..c37b1fb81e6e8a8af5d17420892ee930
|
||||
// Paper start - optimise this call
|
||||
//TODO use limit
|
||||
if (filter instanceof net.minecraft.world.entity.EntityType entityTypeTest) {
|
||||
@@ -1841,7 +1841,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1836,7 +1836,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
}
|
||||
|
||||
public ProfilerFiller getProfiler() {
|
||||
@@ -1873,7 +1873,7 @@ index 81a38b3384f6c0111d3e10397d21aba3f2d57325..c37b1fb81e6e8a8af5d17420892ee930
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||
index 3d99667fa297ea15c5d3a0526a846ce177a5037a..a0ab8be389a175b5e6c42798650a06882a7b3886 100644
|
||||
index 78eb2d8ba58f2937c1145147e2d9e7de802e541e..d657de0bcc0684d1ba49ddad4db35e0e23fac108 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||
@@ -132,7 +132,7 @@ public final class NaturalSpawner {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add more logger output for invalid movement kicks
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 3451fc27983d6ae2bc53568843d9f87f4e456b57..dc2c43794841af062b325a90fd5f68f581b99317 100644
|
||||
index 80be383a1cf12695430a75d2bd11ad0cf6104e80..15a9a4b135bd92a7304cb4257c1ddcfbf0e340a6 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -734,6 +734,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -733,6 +733,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
if (packet.getId() == this.awaitingTeleport) {
|
||||
if (this.awaitingPositionFromClient == null) {
|
||||
this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
|
||||
@@ -16,7 +16,7 @@ index 3451fc27983d6ae2bc53568843d9f87f4e456b57..dc2c43794841af062b325a90fd5f68f5
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1350,8 +1351,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -1349,8 +1350,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@Override
|
||||
public void handleMovePlayer(ServerboundMovePlayerPacket packet) {
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
|
||||
|
||||
@@ -36,7 +36,7 @@ index b863249ff7e13cf4939c8961601f0564c62fd661..bdcfd80f937c34956911373905d66424
|
||||
|
||||
this.writeId(BuiltInRegistries.ITEM, item);
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 1c416ff1bb7cdbf361c096987705bc55e9837dab..0dc5b32fbd3b3d9bb1189f46aab32057f30b18d1 100644
|
||||
index 8384f72d408f6f31c4c8a1ba47b8caba600faaad..b1dd8d66a524254a270a725f5f7a46f28e13b749 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1721,6 +1721,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -48,10 +48,10 @@ index 1c416ff1bb7cdbf361c096987705bc55e9837dab..0dc5b32fbd3b3d9bb1189f46aab32057
|
||||
while (iterator.hasNext()) {
|
||||
ServerLevel worldserver = (ServerLevel) iterator.next();
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 92b3e39d5dfd9c672c00ceb154b2bc0f43256cc9..b120503315ea4389a18333c5a84e664ceddc4ead 100644
|
||||
index 15a9a4b135bd92a7304cb4257c1ddcfbf0e340a6..8352ac55efdfb2ff56c667ceaa0e4d7ce5365a23 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -3362,6 +3362,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -3350,6 +3350,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable block blast resistance
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
index 7875df22641e9eb152135c87b86d30a0c6158858..6aebdd936728be10b5cbf0a71fd9a2a66596afc0 100644
|
||||
index 63c4d52c348d9297a24abb17e105b2f4c7758740..d38d8fc7ef22fb68e867cc29dab1171c9aa6ac35 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
@@ -85,7 +85,7 @@ public abstract class BlockBehaviour implements FeatureElement {
|
||||
@@ -84,7 +84,7 @@ public abstract class BlockBehaviour implements FeatureElement {
|
||||
|
||||
protected static final Direction[] UPDATE_SHAPE_ORDER = new Direction[]{Direction.WEST, Direction.EAST, Direction.NORTH, Direction.SOUTH, Direction.DOWN, Direction.UP};
|
||||
public final boolean hasCollision;
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable block fall damage modifiers
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/BedBlock.java b/src/main/java/net/minecraft/world/level/block/BedBlock.java
|
||||
index ab11b017f0795f5ec8161a4831c463c780307eaa..8c6a8ab9e18bfbb015febea55e188ee9882ec5dc 100644
|
||||
index 58d4554785d066962acad59d983d15e6419c4869..83fa72b5a8fde431e7035fe5cacc50e33ae506bf 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/BedBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/BedBlock.java
|
||||
@@ -183,7 +183,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock
|
||||
@@ -18,7 +18,7 @@ index ab11b017f0795f5ec8161a4831c463c780307eaa..8c6a8ab9e18bfbb015febea55e188ee9
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||
index b1ca9c192645a31c7f2be6aa039ce642ea3e65a4..2376a305bd160e83e3e8684f50c55498e42fe0d9 100644
|
||||
index 34b4c19220e73efad9ff22f3798ee7fbbd5a1968..284149925440f413d23a9ec3ce704e70a74f4c08 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/Block.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||
@@ -96,6 +96,10 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||
@@ -32,7 +32,7 @@ index b1ca9c192645a31c7f2be6aa039ce642ea3e65a4..2376a305bd160e83e3e8684f50c55498
|
||||
// Paper start
|
||||
public final boolean isDestroyable() {
|
||||
return io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.allowPermanentBlockBreakExploits ||
|
||||
@@ -521,7 +525,7 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||
@@ -522,7 +526,7 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||
}
|
||||
|
||||
public void fallOn(Level world, BlockState state, BlockPos pos, Entity entity, float fallDistance) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Log skipped entity's position
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
index b9aa6d6d22346a558fa84b4552958cdd6f977873..bab59399da0b515ad97918b824f9297b31c8de7c 100644
|
||||
index d52af9fa2ca4a07f3499dfee5fe5a7c7b9239cad..a9e2a758669550530eb29475ba99fe42e520f6ae 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
@@ -623,6 +623,12 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
@@ -619,6 +619,12 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
entity.load(nbt);
|
||||
}, () -> {
|
||||
EntityType.LOGGER.warn("Skipping Entity with id {}", nbt.getString("id"));
|
||||
|
||||
Reference in New Issue
Block a user