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@efd47e3 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9188) PaperMC/Paper@1edfefd Add option to flush region files on save (#9149) PaperMC/Paper@9daa019 Added wither vanilla invulnerability API (#9124)
This commit is contained in:
@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index ee446bfb3e6c4b1d4428c00d6406bf9455c68ad5..5bc1964f691e451b1d0348e186d5c582fe25768d 100644
|
||||
index 9cd49bf6db451af67cd15c8857d7bf51a4e1a67a..1c3c988d314b3a229ff8addcacb935500be1a4ca 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -3035,4 +3035,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -3057,4 +3057,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@Override
|
||||
Spigot spigot();
|
||||
// Spigot end
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 5bc1964f691e451b1d0348e186d5c582fe25768d..57f9068a8622a298bfcbfd99668ad12774c7a8b2 100644
|
||||
index 1c3c988d314b3a229ff8addcacb935500be1a4ca..f8d06c55ae7b5c9de05cfdf5bdeaf94e6eb04209 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -3043,5 +3043,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -3065,5 +3065,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
* @return True if Player uses Purpur Client
|
||||
*/
|
||||
public boolean usesPurpurClient();
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 57f9068a8622a298bfcbfd99668ad12774c7a8b2..c332e7f967e5ce6c2b7b046ab539c2e483d85014 100644
|
||||
index f8d06c55ae7b5c9de05cfdf5bdeaf94e6eb04209..13262d8a500f476a6035ee2c2f976c5f6f5a8263 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -3062,5 +3062,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -3084,5 +3084,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
* Reset the idle timer back to 0
|
||||
*/
|
||||
void resetIdleTimer();
|
||||
|
||||
@@ -55,12 +55,12 @@ index 7fbfdb07585c7b28acea1f0c1f58ada0cc744441..21fcca092e2e31baa5ece0de9e44e3fa
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/entity/Wither.java b/src/main/java/org/bukkit/entity/Wither.java
|
||||
index a1b42ae35dda2da90ba00a2d6666514f7c5b11dd..3ccd61bf91d7746393589b0b35674361c2f1d133 100644
|
||||
index 14543c2238b45c526dd9aebea2aa5c22f5df54dc..5312daf33405704c74e2c9e109754285ea6cf734 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Wither.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Wither.java
|
||||
@@ -79,4 +79,20 @@ public interface Wither extends Monster, Boss, com.destroystokyo.paper.entity.Ra
|
||||
@@ -107,4 +107,20 @@ public interface Wither extends Monster, Boss, com.destroystokyo.paper.entity.Ra
|
||||
*/
|
||||
void setCanTravelThroughPortals(boolean value);
|
||||
void enterInvulnerabilityPhase();
|
||||
// Paper end
|
||||
+
|
||||
+ // Purpur start
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Extended OfflinePlayer API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java
|
||||
index 69b50eee42e8c52063033705bd23a5ef5231ed83..3578ab0c3a413d56bc39af43b5d3201d20d7d13a 100644
|
||||
index 72175dcae49f75b494ab70958053ed994a8828f4..df642a55003517040be795b44a8bf107dd88810b 100644
|
||||
--- a/src/main/java/org/bukkit/OfflinePlayer.java
|
||||
+++ b/src/main/java/org/bukkit/OfflinePlayer.java
|
||||
@@ -455,4 +455,114 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio
|
||||
@@ -460,4 +460,114 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio
|
||||
*/
|
||||
@Nullable
|
||||
public Location getLastDeathLocation();
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add local difficulty api
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index 0b8776355f724927ada826735d5e73f3fb6897d5..e040e4012832cd992811e1270f3459921f48476b 100644
|
||||
index 2b45aa9b438d7856ec448c56832b2b2100961565..9b5cd8a33bae463872efecaca0829b7d2b434529 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -4018,6 +4018,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
@@ -3973,6 +3973,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
@Nullable
|
||||
public DragonBattle getEnderDragonBattle();
|
||||
|
||||
|
||||
@@ -179,10 +179,10 @@ index b2184f33f8b34ae484357742690e205accaa635f..730caafaf9629664ba125f3884559da7
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||
index e040e4012832cd992811e1270f3459921f48476b..cf8b93aa5787e96f54e2ffe2a0f157b0e53e2c5c 100644
|
||||
index 9b5cd8a33bae463872efecaca0829b7d2b434529..4561ca02052d774bc1424f7044c34f7affd415fc 100644
|
||||
--- a/src/main/java/org/bukkit/World.java
|
||||
+++ b/src/main/java/org/bukkit/World.java
|
||||
@@ -4026,6 +4026,76 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
@@ -3981,6 +3981,76 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||
* @return The local difficulty
|
||||
*/
|
||||
public float getLocalDifficultyAt(@NotNull Location location);
|
||||
@@ -260,10 +260,10 @@ index e040e4012832cd992811e1270f3459921f48476b..cf8b93aa5787e96f54e2ffe2a0f157b0
|
||||
|
||||
/**
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index c332e7f967e5ce6c2b7b046ab539c2e483d85014..6bf3ae6af4f38d3fd023628ddbee896cd6f72751 100644
|
||||
index 13262d8a500f476a6035ee2c2f976c5f6f5a8263..c3e4635c388fcf364c65d5c1ce2ce1f701012e05 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -3083,5 +3083,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -3105,5 +3105,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
* @param invulnerableTicks Invulnerable ticks remaining
|
||||
*/
|
||||
void setSpawnInvulnerableTicks(int invulnerableTicks);
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 6bf3ae6af4f38d3fd023628ddbee896cd6f72751..43cef54d355c8a1b6a8cd6be89a6a805e9f88566 100644
|
||||
index c3e4635c388fcf364c65d5c1ce2ce1f701012e05..838f32eb3397d847071f54648dbac02c35d621cf 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -3153,5 +3153,21 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -3175,5 +3175,21 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
* Clears all debug block highlights
|
||||
*/
|
||||
void clearBlockHighlights();
|
||||
|
||||
@@ -1678,7 +1678,7 @@ index b7fd8e70413c38923d0719aff803449e392383ac..d5cb594f0b17ec9dc1a19cdb99bba553
|
||||
this.wasOnGround = this.entity.isOnGround();
|
||||
this.teleportDelay = 0;
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 3bb63a652aca3c23f5f1bbf9cb70fce6540f2e33..dda5e77f7d9fb2340d50997c0a17bc7f5e2bb961 100644
|
||||
index 45804711255f04110e9509df8d60900314aa10b7..3ee5c3c17d450dce54e051dc53c9df44d9b3dc1b 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -709,6 +709,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1743,10 +1743,10 @@ index 3bb63a652aca3c23f5f1bbf9cb70fce6540f2e33..dda5e77f7d9fb2340d50997c0a17bc7f
|
||||
this.getRandomBlockPosition(j, 0, k, 15, blockposition);
|
||||
int normalY = chunk.getHeight(Heightmap.Types.MOTION_BLOCKING, blockposition.getX() & 15, blockposition.getZ() & 15) + 1;
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 04a92f33f15d1696e38d38839651adf7d0462cac..acd1c6891f5ab7949689cac5ec859a7a60bf6bb0 100644
|
||||
index aa287d7f37f38d938d195114408cb6dbda59063d..9d2d72fe48b69be2f6ebe74309673a3a4e51eae4 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1215,6 +1215,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1216,6 +1216,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
@Override
|
||||
public void handleEditBook(ServerboundEditBookPacket packet) {
|
||||
@@ -1754,7 +1754,7 @@ index 04a92f33f15d1696e38d38839651adf7d0462cac..acd1c6891f5ab7949689cac5ec859a7a
|
||||
// Paper start
|
||||
if (!this.cserver.isPrimaryThread()) {
|
||||
List<String> pageList = packet.getPages();
|
||||
@@ -2357,6 +2358,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2363,6 +2364,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
}
|
||||
|
||||
private boolean updateChatOrder(Instant timestamp) {
|
||||
@@ -1875,10 +1875,10 @@ index 04b1531572e8fff1e46fe1c94e7fc863841e0f66..47ddc42f2b63d9d3fae5ae6ea93d4183
|
||||
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 4705d7066207250c03a5f98eef61554c901f2e35..e25be74ef0a88541884ad62a4b84219400d5a142 100644
|
||||
index df316ca580a0a3b4ba6b658f7d7bdf542f4ad85b..1030b54428b15f387580a2ce47a7a1eb0c8d521b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -291,7 +291,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -292,7 +292,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
public double yo;
|
||||
public double zo;
|
||||
private Vec3 position;
|
||||
@@ -1887,7 +1887,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..e25be74ef0a88541884ad62a4b842194
|
||||
private ChunkPos chunkPosition;
|
||||
private Vec3 deltaMovement;
|
||||
private float yRot;
|
||||
@@ -415,6 +415,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -416,6 +416,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return this.originWorld;
|
||||
}
|
||||
// Paper end
|
||||
@@ -1900,7 +1900,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..e25be74ef0a88541884ad62a4b842194
|
||||
public float getBukkitYaw() {
|
||||
return this.yRot;
|
||||
}
|
||||
@@ -489,17 +495,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -490,17 +496,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
this.isLegacyTrackingEntity = isLegacyTrackingEntity;
|
||||
}
|
||||
|
||||
@@ -1938,7 +1938,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..e25be74ef0a88541884ad62a4b842194
|
||||
for (Entity passenger : passengers) {
|
||||
org.spigotmc.TrackingRange.TrackingRangeType passengerType = passenger.trackingRangeType;
|
||||
int passengerRange = chunkMap.getEntityTrackerRange(passengerType.ordinal());
|
||||
@@ -508,6 +533,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -509,6 +534,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
range = passengerRange;
|
||||
}
|
||||
}
|
||||
@@ -1948,7 +1948,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..e25be74ef0a88541884ad62a4b842194
|
||||
|
||||
return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this));
|
||||
}
|
||||
@@ -789,6 +817,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -790,6 +818,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
// CraftBukkit end
|
||||
|
||||
public void baseTick() {
|
||||
@@ -1961,7 +1961,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..e25be74ef0a88541884ad62a4b842194
|
||||
this.level.getProfiler().push("entityBaseTick");
|
||||
if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking
|
||||
this.feetBlockState = null;
|
||||
@@ -4162,16 +4196,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4163,16 +4197,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
|
||||
@@ -1987,7 +1987,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..e25be74ef0a88541884ad62a4b842194
|
||||
double d1 = 0.0D;
|
||||
boolean flag = this.isPushedByFluid();
|
||||
boolean flag1 = false;
|
||||
@@ -4179,14 +4215,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4180,14 +4216,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
int k1 = 0;
|
||||
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
|
||||
|
||||
@@ -2055,7 +2055,7 @@ index 4705d7066207250c03a5f98eef61554c901f2e35..e25be74ef0a88541884ad62a4b842194
|
||||
|
||||
if (d2 >= axisalignedbb.minY) {
|
||||
flag1 = true;
|
||||
@@ -4208,9 +4291,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4209,9 +4292,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
// CraftBukkit end
|
||||
}
|
||||
}
|
||||
@@ -3431,10 +3431,10 @@ index ebe65474a4a05ff1637d7f37ebcfe690af59def5..42142c512b12e5b269c19f1e821c50e7
|
||||
|
||||
@Nullable
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index e90e7f32c81ac2ffdb7594fa3e4623061304409e..482420c38e8fd1abc261daeabce76091f1e0ff3c 100644
|
||||
index e769f7b0904814ee63e2a73dca57e5dc33382fba..e38391da44a1b5e3b845eba2d80453021a1e0c25 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -256,7 +256,7 @@ import javax.annotation.Nullable; // Paper
|
||||
@@ -257,7 +257,7 @@ import javax.annotation.Nullable; // Paper
|
||||
import javax.annotation.Nonnull; // Paper
|
||||
|
||||
public final class CraftServer implements Server {
|
||||
@@ -3443,7 +3443,7 @@ index e90e7f32c81ac2ffdb7594fa3e4623061304409e..482420c38e8fd1abc261daeabce76091
|
||||
private final String serverVersion;
|
||||
private final String bukkitVersion = Versioning.getBukkitVersion();
|
||||
private final Logger logger = Logger.getLogger("Minecraft");
|
||||
@@ -1039,6 +1039,11 @@ public final class CraftServer implements Server {
|
||||
@@ -1040,6 +1040,11 @@ public final class CraftServer implements Server {
|
||||
plugin.getPluginMeta().getDisplayName(),
|
||||
"This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies."
|
||||
));
|
||||
|
||||
@@ -197,10 +197,10 @@ index a29d92b3f2658b63545b25092bb3a1fea46ca36b..0f6d1c56efbab0f9b84f09f7dc27eb70
|
||||
|
||||
public SystemReport fillSystemReport(SystemReport details) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 58eaa1142bb0568bef439bba76903309914d3ae1..094d608815f2a3b6ff25a5ca7872acf0e88c572c 100644
|
||||
index e38391da44a1b5e3b845eba2d80453021a1e0c25..fa82680d6b8a28668b25b32bcbd34bddc9565c9c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -256,7 +256,7 @@ import javax.annotation.Nullable; // Paper
|
||||
@@ -257,7 +257,7 @@ import javax.annotation.Nullable; // Paper
|
||||
import javax.annotation.Nonnull; // Paper
|
||||
|
||||
public final class CraftServer implements Server {
|
||||
|
||||
@@ -112,10 +112,10 @@ index 66cc44d9f14b01f6c8e53b0f990866ac897c1c81..c38aff50c6f0bc37e539bb4d5206f7b6
|
||||
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 740bc3aaac6ce4f642e16c339bd7e8de706cbf09..0c2aa1408d8220b9d3369d8b0b39eb5769dd376e 100644
|
||||
index fa82680d6b8a28668b25b32bcbd34bddc9565c9c..700e6af9919af1b38bb725d2f99e952df17eb31a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -956,6 +956,7 @@ public final class CraftServer implements Server {
|
||||
@@ -957,6 +957,7 @@ public final class CraftServer implements Server {
|
||||
|
||||
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
|
||||
this.console.paperConfigurations.reloadConfigs(this.console);
|
||||
@@ -123,7 +123,7 @@ index 740bc3aaac6ce4f642e16c339bd7e8de706cbf09..0c2aa1408d8220b9d3369d8b0b39eb57
|
||||
for (ServerLevel world : this.console.getAllLevels()) {
|
||||
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
||||
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
||||
@@ -971,6 +972,7 @@ public final class CraftServer implements Server {
|
||||
@@ -972,6 +973,7 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
}
|
||||
world.spigotConfig.init(); // Spigot
|
||||
@@ -131,7 +131,7 @@ index 740bc3aaac6ce4f642e16c339bd7e8de706cbf09..0c2aa1408d8220b9d3369d8b0b39eb57
|
||||
}
|
||||
|
||||
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
|
||||
@@ -986,6 +988,7 @@ public final class CraftServer implements Server {
|
||||
@@ -987,6 +989,7 @@ public final class CraftServer implements Server {
|
||||
this.reloadData();
|
||||
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
|
||||
io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper
|
||||
@@ -139,7 +139,7 @@ index 740bc3aaac6ce4f642e16c339bd7e8de706cbf09..0c2aa1408d8220b9d3369d8b0b39eb57
|
||||
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
||||
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
||||
|
||||
@@ -2745,6 +2748,18 @@ public final class CraftServer implements Server {
|
||||
@@ -2746,6 +2749,18 @@ public final class CraftServer implements Server {
|
||||
return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console);
|
||||
}
|
||||
|
||||
@@ -159,7 +159,7 @@ index 740bc3aaac6ce4f642e16c339bd7e8de706cbf09..0c2aa1408d8220b9d3369d8b0b39eb57
|
||||
public void restart() {
|
||||
org.spigotmc.RestartCommand.restart();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
index 755c223ab2a046285eb9916b6195093714f4c5ba..5758ce3033c2d4121970eb8757beabc1975c5c83 100644
|
||||
index c103f10dbb6c06e14bb7b5df73a797f456803301..c5f208dbeb55627bc2917314cc8a0da2d8789453 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -173,6 +173,14 @@ public class Main {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index a0053455eaeca04855b689f3b00b78dac39d08e3..446b4c50102e26e310e7426c1f88651a8519ed6e 100644
|
||||
index 98df2463bf41fc736aa6a2b6ddf89e5abde6eb39..61b818e93de53ef14b9b928193da9b6fea3ff003 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -275,6 +275,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -277,6 +277,7 @@ public class ServerPlayer extends Player {
|
||||
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
|
||||
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
||||
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
|
||||
@@ -17,10 +17,10 @@ index a0053455eaeca04855b689f3b00b78dac39d08e3..446b4c50102e26e310e7426c1f88651a
|
||||
public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) {
|
||||
super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile);
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index acd1c6891f5ab7949689cac5ec859a7a60bf6bb0..162e3acade6d1a25cf55bc0838c8f7b851daaaac 100644
|
||||
index 9d2d72fe48b69be2f6ebe74309673a3a4e51eae4..299d43f714637beb6cdce186368c4171cac74c4c 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -3536,6 +3536,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -3542,6 +3542,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister");
|
||||
|
||||
private static final ResourceLocation MINECRAFT_BRAND = new ResourceLocation("brand"); // Paper - Brand support
|
||||
@@ -28,7 +28,7 @@ index acd1c6891f5ab7949689cac5ec859a7a60bf6bb0..162e3acade6d1a25cf55bc0838c8f7b8
|
||||
|
||||
@Override
|
||||
public void handleCustomPayload(ServerboundCustomPayloadPacket packet) {
|
||||
@@ -3560,6 +3561,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -3566,6 +3567,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex);
|
||||
this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause
|
||||
}
|
||||
@@ -43,10 +43,10 @@ index acd1c6891f5ab7949689cac5ec859a7a60bf6bb0..162e3acade6d1a25cf55bc0838c8f7b8
|
||||
try {
|
||||
byte[] data = new byte[packet.data.readableBytes()];
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index c8d8ab8e5d8d0a986ff023ce1e195667472d7798..4cbd2816f0cdd0d7745bc70ccd0b288769e74498 100644
|
||||
index 3f498543cf0476ff1b184788d93f13b70c476c16..9986b89ceabc065d96c889bf9a50a4aa093e7300 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3188,4 +3188,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -3196,4 +3196,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
return this.spigot;
|
||||
}
|
||||
// Spigot end
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index b1c0f5743dfe87e359dbd3a451367aa8a66e57f0..01e52ea23d5481c2df79d2c899b4febf3f4a8948 100644
|
||||
index 61b818e93de53ef14b9b928193da9b6fea3ff003..74e2731c614e0387de8eee93af005c7c1bf109f1 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1727,6 +1727,26 @@ public class ServerPlayer extends Player {
|
||||
@@ -1729,6 +1729,26 @@ public class ServerPlayer extends Player {
|
||||
this.lastSentExp = -1; // CraftBukkit - Added to reset
|
||||
}
|
||||
|
||||
@@ -36,10 +36,10 @@ index b1c0f5743dfe87e359dbd3a451367aa8a66e57f0..01e52ea23d5481c2df79d2c899b4febf
|
||||
public void displayClientMessage(Component message, boolean overlay) {
|
||||
this.sendSystemMessage(message, overlay);
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 4d837c1530a3031a4c2a5a39d87bd013d60e14a6..9feded7fee7a759f7607c54c2277c6403a0af65f 100644
|
||||
index 5c21de0d48fba88c3164b72e0eb624706b683fab..0e75163468ab91e7c6d245577041c288a9d865ac 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1027,6 +1027,20 @@ public abstract class PlayerList {
|
||||
@@ -1029,6 +1029,20 @@ public abstract class PlayerList {
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -81,10 +81,10 @@ index 93a1e990b0a6caae4143c2f9d09bfb368fa1d6db..615611fe372d6edaef56db058bbf2cf7
|
||||
return this.type().msgId();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index e25be74ef0a88541884ad62a4b84219400d5a142..2f3d8291a262496065d010e304d96e6dbd729ffa 100644
|
||||
index 1030b54428b15f387580a2ce47a7a1eb0c8d521b..7238a6e3ffdbd7421ed978e007d256aaad84ea58 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3914,6 +3914,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3915,6 +3915,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return SlotAccess.NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ index 0f6d1c56efbab0f9b84f09f7dc27eb705f4006a9..7f37231b33d6cfbd3d10c6c5d0b3e0b9
|
||||
this.profiler.push(() -> {
|
||||
return worldserver + " " + worldserver.dimension().location();
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index a6da001a03760a6ae5d842d8aaeb8fc435883b1f..3d641a5721b90230c79dca9e43ccc6fa21f24946 100644
|
||||
index de2d7bdd7c6f38f4d9c943162846c816bc814bd4..4ea1b4eb5e843753f02b7f683c82c82ba8a134ef 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -220,6 +220,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -46,10 +46,10 @@ index a6da001a03760a6ae5d842d8aaeb8fc435883b1f..3d641a5721b90230c79dca9e43ccc6fa
|
||||
final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date());
|
||||
io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thr);
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 145103a89017bf749d25e82ab924df3d99fdb811..eff60ea9a26b8f00f4efaddc0f756b07f232e843 100644
|
||||
index 74e2731c614e0387de8eee93af005c7c1bf109f1..055915f609d1181bbcfa2ce72e1282ace71cb45c 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -708,6 +708,15 @@ public class ServerPlayer extends Player {
|
||||
@@ -710,6 +710,15 @@ public class ServerPlayer extends Player {
|
||||
this.trackStartFallingPosition();
|
||||
this.trackEnteredOrExitedLavaOnVehicle();
|
||||
this.advancements.flushDirty(this);
|
||||
@@ -66,10 +66,10 @@ index 145103a89017bf749d25e82ab924df3d99fdb811..eff60ea9a26b8f00f4efaddc0f756b07
|
||||
|
||||
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 162e3acade6d1a25cf55bc0838c8f7b851daaaac..a44b847f8597823e7fd380638ffaf9027a8dd438 100644
|
||||
index 299d43f714637beb6cdce186368c4171cac74c4c..ec4891a736c5c91af7589071f87fa664983f7f72 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2803,6 +2803,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2809,6 +2809,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -79,10 +79,10 @@ index 162e3acade6d1a25cf55bc0838c8f7b851daaaac..a44b847f8597823e7fd380638ffaf902
|
||||
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 2f3d8291a262496065d010e304d96e6dbd729ffa..3113fb54ac88692d1bde8e539d9a7bb10fa2140a 100644
|
||||
index 7238a6e3ffdbd7421ed978e007d256aaad84ea58..546ae68177a3188efe911aa535e058ae69341818 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -361,7 +361,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -362,7 +362,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
private final Set<String> tags;
|
||||
private final double[] pistonDeltas;
|
||||
private long pistonDeltasGameTime;
|
||||
@@ -91,7 +91,7 @@ index 2f3d8291a262496065d010e304d96e6dbd729ffa..3113fb54ac88692d1bde8e539d9a7bb1
|
||||
private float eyeHeight;
|
||||
public boolean isInPowderSnow;
|
||||
public boolean wasInPowderSnow;
|
||||
@@ -2822,6 +2822,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2823,6 +2823,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
this.passengers = ImmutableList.copyOf(list);
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ index 2f3d8291a262496065d010e304d96e6dbd729ffa..3113fb54ac88692d1bde8e539d9a7bb1
|
||||
this.gameEvent(GameEvent.ENTITY_MOUNT, entity);
|
||||
}
|
||||
return true; // CraftBukkit
|
||||
@@ -2863,6 +2870,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2864,6 +2871,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return false;
|
||||
}
|
||||
// Spigot end
|
||||
@@ -120,7 +120,7 @@ index 2f3d8291a262496065d010e304d96e6dbd729ffa..3113fb54ac88692d1bde8e539d9a7bb1
|
||||
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
||||
this.passengers = ImmutableList.of();
|
||||
} else {
|
||||
@@ -4737,4 +4752,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4738,4 +4753,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
||||
}
|
||||
// Paper end
|
||||
@@ -4112,10 +4112,10 @@ index 9258d0f7c5c27b6d3d8f99db947169d6800d8ea9..78bd5a76f105ff1ebf005ccb2590b4a0
|
||||
this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(0.0D);
|
||||
} else {
|
||||
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 19657390ddb73992d7b68dc77776faa99c6f1b15..e46bd4944801c75a197e67ef66b5e87517a68a03 100644
|
||||
index 8cb910da17d75a9d9c7dbeb3c9e24b6de657a2f7..6f652413d5375e0e6ddf82b3be682560ea6f5d67 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -95,12 +95,31 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -98,12 +98,31 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
this.lookControl = new Shulker.ShulkerLookControl(this);
|
||||
}
|
||||
|
||||
@@ -4147,7 +4147,7 @@ index 19657390ddb73992d7b68dc77776faa99c6f1b15..e46bd4944801c75a197e67ef66b5e875
|
||||
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[]{this.getClass()})).setAlertOthers());
|
||||
this.targetSelector.addGoal(2, new Shulker.ShulkerNearestAttackGoal(this));
|
||||
this.targetSelector.addGoal(3, new Shulker.ShulkerDefenseAttackGoal(this));
|
||||
@@ -608,7 +627,7 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -611,7 +630,7 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
return b0 != 16 && b0 <= 15 ? DyeColor.byId(b0) : null;
|
||||
}
|
||||
|
||||
@@ -5121,7 +5121,7 @@ index c4f4a26e016eea744f587461af80461074d48303..10b109de5abc015b61a896d363ad37a0
|
||||
public void tick() {
|
||||
super.tick();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 57a0dbb23a32123d30c3b3572f4d129be9d97847..fa6938626c64ed17a2f56739d5801494ea6f3be1 100644
|
||||
index 56c75029a94e8812c9e0ce5375aaa7cbcda90b87..a4644b1d9abb7ffeda89801e4562a078ffe43288 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -1442,4 +1442,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -5153,10 +5153,10 @@ index 57a0dbb23a32123d30c3b3572f4d129be9d97847..fa6938626c64ed17a2f56739d5801494
|
||||
+ // 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 dee0168b50c7fbaefb762939a04e8f51e7bc58f7..85180c61e6124989e227150e0fdd5484ae3ebf1c 100644
|
||||
index 221f5088953b3452966d07eabd4ea8b38c465fd9..bfb8039a65fbfdb6d2fa6fc4fdeb146fbc4e147f 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -561,6 +561,15 @@ public class CraftEventFactory {
|
||||
@@ -563,6 +563,15 @@ public class CraftEventFactory {
|
||||
// Paper end
|
||||
craftServer.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -5172,7 +5172,7 @@ index dee0168b50c7fbaefb762939a04e8f51e7bc58f7..85180c61e6124989e227150e0fdd5484
|
||||
return event;
|
||||
}
|
||||
|
||||
@@ -998,6 +1007,7 @@ public class CraftEventFactory {
|
||||
@@ -1000,6 +1009,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
|
||||
@@ -5180,7 +5180,7 @@ index dee0168b50c7fbaefb762939a04e8f51e7bc58f7..85180c61e6124989e227150e0fdd5484
|
||||
}
|
||||
event.setCancelled(cancelled);
|
||||
|
||||
@@ -1112,6 +1122,7 @@ public class CraftEventFactory {
|
||||
@@ -1114,6 +1124,7 @@ public class CraftEventFactory {
|
||||
} else {
|
||||
entity.lastDamageCancelled = true; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled
|
||||
}
|
||||
@@ -5188,7 +5188,7 @@ index dee0168b50c7fbaefb762939a04e8f51e7bc58f7..85180c61e6124989e227150e0fdd5484
|
||||
return event;
|
||||
}
|
||||
|
||||
@@ -1171,6 +1182,7 @@ public class CraftEventFactory {
|
||||
@@ -1173,6 +1184,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,10 +5,10 @@ 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 3113fb54ac88692d1bde8e539d9a7bb10fa2140a..8c158da219c3ee91942ae93454317cfe87641f0d 100644
|
||||
index 546ae68177a3188efe911aa535e058ae69341818..9f26371ca53dba729a696626c35ef06043dfb995 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -155,7 +155,7 @@ import org.bukkit.plugin.PluginManager;
|
||||
@@ -156,7 +156,7 @@ import org.bukkit.plugin.PluginManager;
|
||||
// CraftBukkit end
|
||||
|
||||
public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -1123,10 +1123,10 @@ index 78bd5a76f105ff1ebf005ccb2590b4a04934ebb2..2d592307f42ede8a490c072da9ec796b
|
||||
|
||||
@Override
|
||||
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 e46bd4944801c75a197e67ef66b5e87517a68a03..a17cb25071132d601ff42f884f2e668328c7df41 100644
|
||||
index 6f652413d5375e0e6ddf82b3be682560ea6f5d67..5a5dd029af3517f3552055b32a9d4951ac2e14e6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -110,6 +110,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -113,6 +113,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
public boolean isControllable() {
|
||||
return level.purpurConfig.shulkerControllable;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Barrels and enderchests 6 rows
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 9feded7fee7a759f7607c54c2277c6403a0af65f..cb211e2aad3cc300099b724b7fa78cc4f24aee7c 100644
|
||||
index 0e75163468ab91e7c6d245577041c288a9d865ac..7387bc99cd4d5172ef93364608a9ba178cc3597c 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1152,6 +1152,27 @@ public abstract class PlayerList {
|
||||
@@ -1154,6 +1154,27 @@ public abstract class PlayerList {
|
||||
player.getBukkitEntity().recalculatePermissions(); // CraftBukkit
|
||||
this.server.getCommands().sendCommands(player);
|
||||
} // Paper
|
||||
@@ -84,10 +84,10 @@ index 0dbfd23bbfc6ad203f048142f8c90ef741849fe1..9a80427d2bb470b6b1638e59aba57216
|
||||
return new ChestMenu(MenuType.GENERIC_9x6, syncId, playerInventory, inventory, 6);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/inventory/PlayerEnderChestContainer.java b/src/main/java/net/minecraft/world/inventory/PlayerEnderChestContainer.java
|
||||
index 59acb1aab21e2dce0f046942f124b50ac1cb8d0f..5058b30994fe38d8db2336267121476eaf4f1ff6 100644
|
||||
index 4703f23316f82a1a942907b46d2d6dcb7d70ec37..162798f57a05b78121fa6c4fadf5adee80fbe221 100644
|
||||
--- a/src/main/java/net/minecraft/world/inventory/PlayerEnderChestContainer.java
|
||||
+++ b/src/main/java/net/minecraft/world/inventory/PlayerEnderChestContainer.java
|
||||
@@ -29,11 +29,18 @@ public class PlayerEnderChestContainer extends SimpleContainer {
|
||||
@@ -30,11 +30,18 @@ public class PlayerEnderChestContainer extends SimpleContainer {
|
||||
}
|
||||
|
||||
public PlayerEnderChestContainer(Player owner) {
|
||||
@@ -198,10 +198,10 @@ index 416aa989ebb18a8741cc9d605a1180ab830f6643..e38a0adf5463c48311ad08b8d2e5b5c2
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||
index 191e8233deaa859d969d54242e297e722f3d947b..76e26542448d18750ce33d53d54c2a77c0590554 100644
|
||||
index 04088918e172eecb8d53b0e6de9be0071ccf33b5..eddd6073e0feb7b046db1d169020ca067fdf689c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||
@@ -166,8 +166,19 @@ public class CraftContainer extends AbstractContainerMenu {
|
||||
@@ -182,8 +182,19 @@ public class CraftContainer extends AbstractContainerMenu {
|
||||
case PLAYER:
|
||||
case CHEST:
|
||||
case ENDER_CHEST:
|
||||
@@ -236,7 +236,7 @@ index 092f6843e3b43d4c615d2eee344f5966e96ae850..cb0c851ab5fcf676da2397040835a94d
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index b0344a0baa22c4312ac9d1049b14671d932f76e2..2f684a8f976f1f1a18c31f4c1a7eba9080099e55 100644
|
||||
index 943b65dd5169946d5fec86e3fc38076cae47ba58..6b0e6f3c93092dcabe53048a9260941c095ef996 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -177,4 +177,39 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index d59e49a4958ebfb2ce0b9ca127b5a98fc5d88804..71905201cd42094fa3f545f29ada0f7ebcd7c21d 100644
|
||||
index 055915f609d1181bbcfa2ce72e1282ace71cb45c..e16e2c7c802c387cc278542d6f013fc7441063e1 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -2069,8 +2069,63 @@ public class ServerPlayer extends Player {
|
||||
@@ -2071,8 +2071,63 @@ public class ServerPlayer extends Player {
|
||||
|
||||
public void resetLastActionTime() {
|
||||
this.lastActionTime = Util.getMillis();
|
||||
@@ -73,10 +73,10 @@ index d59e49a4958ebfb2ce0b9ca127b5a98fc5d88804..71905201cd42094fa3f545f29ada0f7e
|
||||
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 b125779217ef3adcc865c50ac9c5f5cfd747db50..d119a15532220432fe0d595bed56f51ba305671e 100644
|
||||
index ec4891a736c5c91af7589071f87fa664983f7f72..24545eaad4b0867b4d14f0418a27d465461c7e1e 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -339,6 +339,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -340,6 +340,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
private boolean justTeleported = false;
|
||||
private boolean hasMoved; // Spigot
|
||||
|
||||
@@ -97,7 +97,7 @@ index b125779217ef3adcc865c50ac9c5f5cfd747db50..d119a15532220432fe0d595bed56f51b
|
||||
public CraftPlayer getCraftPlayer() {
|
||||
return (this.player == null) ? null : (CraftPlayer) this.player.getBukkitEntity();
|
||||
}
|
||||
@@ -432,6 +446,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -433,6 +447,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
}
|
||||
|
||||
if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) (this.server.getPlayerIdleTimeout() * 1000 * 60) && !this.player.wonGame) { // Paper - Prevent AFK kick while watching end credits.
|
||||
@@ -110,7 +110,7 @@ index b125779217ef3adcc865c50ac9c5f5cfd747db50..d119a15532220432fe0d595bed56f51b
|
||||
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
|
||||
this.disconnect(Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause
|
||||
}
|
||||
@@ -743,6 +763,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -744,6 +764,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
this.lastYaw = to.getYaw();
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
@@ -119,7 +119,7 @@ index b125779217ef3adcc865c50ac9c5f5cfd747db50..d119a15532220432fe0d595bed56f51b
|
||||
// Skip the first time we do this
|
||||
if (true) { // Spigot - don't skip any move events
|
||||
Location oldTo = to.clone();
|
||||
@@ -1547,7 +1569,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1548,7 +1570,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
if (!this.player.isChangingDimension() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != GameType.SPECTATOR) { // Spigot
|
||||
flag2 = true; // Paper - diff on change, this should be moved wrongly
|
||||
@@ -128,7 +128,7 @@ index b125779217ef3adcc865c50ac9c5f5cfd747db50..d119a15532220432fe0d595bed56f51b
|
||||
}
|
||||
|
||||
this.player.absMoveTo(d0, d1, d2, f, f1);
|
||||
@@ -1598,6 +1620,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1599,6 +1621,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
this.lastYaw = to.getYaw();
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
@@ -218,10 +218,10 @@ index 3b959f42d958bf0f426853aee56753d6c455fcdb..d17abb283ea818244df0379d6b57fc63
|
||||
if (range < 0.0D || d < range * range) {
|
||||
return true;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 4cbd2816f0cdd0d7745bc70ccd0b288769e74498..aeea585b802966cd599e33a45887899cad31872b 100644
|
||||
index 9986b89ceabc065d96c889bf9a50a4aa093e7300..2506882191e83a3cc03666a56e63c18f7adebb68 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -529,10 +529,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -533,10 +533,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@Override
|
||||
public void setPlayerListName(String name) {
|
||||
@@ -238,7 +238,7 @@ index 4cbd2816f0cdd0d7745bc70ccd0b288769e74498..aeea585b802966cd599e33a45887899c
|
||||
for (ServerPlayer player : (List<ServerPlayer>) server.getHandle().players) {
|
||||
if (player.getBukkitEntity().canSee(this)) {
|
||||
player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle()));
|
||||
@@ -3194,5 +3199,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -3202,5 +3207,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public boolean usesPurpurClient() {
|
||||
return getHandle().purpurClient;
|
||||
}
|
||||
@@ -260,7 +260,7 @@ index 4cbd2816f0cdd0d7745bc70ccd0b288769e74498..aeea585b802966cd599e33a45887899c
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 2f684a8f976f1f1a18c31f4c1a7eba9080099e55..c517873abdcb1e5334ba9e7a1c2f06bbbc411f87 100644
|
||||
index 6b0e6f3c93092dcabe53048a9260941c095ef996..66892e16e6c5cd505422e685045f243606aecdb0 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -174,8 +174,16 @@ public class PurpurConfig {
|
||||
|
||||
@@ -17,10 +17,10 @@ index 818289e831e3dad29345c43265e2efd7689bc500..1ea3012995c738c67b31e997c138f824
|
||||
public final boolean spawnNpcs = this.get("spawn-npcs", true);
|
||||
public final boolean pvp = this.get("pvp", true);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 0c2aa1408d8220b9d3369d8b0b39eb5769dd376e..3c7ef6dc1306c144de74cd540d509f67716ff434 100644
|
||||
index 700e6af9919af1b38bb725d2f99e952df17eb31a..7421f2966b7908a673a7c2b66d9b5ced214e2eff 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2935,4 +2935,11 @@ public final class CraftServer implements Server {
|
||||
@@ -2936,4 +2936,11 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
|
||||
// Paper end
|
||||
|
||||
@@ -25,10 +25,10 @@ index 57f6de7872bfa80cf7668524975946cbd7fcda56..6cdcd4f105b15f10d60499572f6f4f83
|
||||
}
|
||||
// Spigot end
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 3c7ef6dc1306c144de74cd540d509f67716ff434..9c949e2e7d2d25f0012b3e7bc2e054cac42230a3 100644
|
||||
index 7421f2966b7908a673a7c2b66d9b5ced214e2eff..14a5f137a9f925926406ea2a6b113fef88378c2e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2941,5 +2941,10 @@ public final class CraftServer implements Server {
|
||||
@@ -2942,5 +2942,10 @@ public final class CraftServer implements Server {
|
||||
public String getServerName() {
|
||||
return this.getProperties().serverName;
|
||||
}
|
||||
@@ -40,7 +40,7 @@ index 3c7ef6dc1306c144de74cd540d509f67716ff434..9c949e2e7d2d25f0012b3e7bc2e054ca
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 16ed8266bbc08963aa3973f2e48a8f76b640ed18..dd3ed29fdac7ae1f35ecf520f92b9f36ca6fdb98 100644
|
||||
index 23c94e3872824d911d0bc25858f4ef4ebaefe36b..1c09a68b4cdc275ed85859eef678e1e6e98ae993 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -191,6 +191,11 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 71905201cd42094fa3f545f29ada0f7ebcd7c21d..f5c5ed6cfb963ad2b5612fd7623d5e0f3ea058bb 100644
|
||||
index e16e2c7c802c387cc278542d6f013fc7441063e1..c3ce105219940d234320a415bd3050087db4778c 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -276,6 +276,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -278,6 +278,7 @@ public class ServerPlayer extends Player {
|
||||
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
||||
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
|
||||
public boolean purpurClient = false; // Purpur
|
||||
@@ -16,7 +16,7 @@ index 71905201cd42094fa3f545f29ada0f7ebcd7c21d..f5c5ed6cfb963ad2b5612fd7623d5e0f
|
||||
|
||||
public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) {
|
||||
super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile);
|
||||
@@ -375,6 +376,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -377,6 +378,7 @@ public class ServerPlayer extends Player {
|
||||
this.bukkitPickUpLoot = true;
|
||||
this.maxHealthCache = this.getMaxHealth();
|
||||
this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
|
||||
@@ -24,7 +24,7 @@ index 71905201cd42094fa3f545f29ada0f7ebcd7c21d..f5c5ed6cfb963ad2b5612fd7623d5e0f
|
||||
}
|
||||
|
||||
// Yes, this doesn't match Vanilla, but it's the best we can do for now.
|
||||
@@ -1056,6 +1058,12 @@ public class ServerPlayer extends Player {
|
||||
@@ -1058,6 +1060,12 @@ public class ServerPlayer extends Player {
|
||||
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ index 71905201cd42094fa3f545f29ada0f7ebcd7c21d..f5c5ed6cfb963ad2b5612fd7623d5e0f
|
||||
@Override
|
||||
public boolean hurt(DamageSource source, float amount) {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
@@ -1063,7 +1071,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1065,7 +1073,7 @@ public class ServerPlayer extends Player {
|
||||
} else {
|
||||
boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && source.is(DamageTypeTags.IS_FALL);
|
||||
|
||||
@@ -46,7 +46,7 @@ index 71905201cd42094fa3f545f29ada0f7ebcd7c21d..f5c5ed6cfb963ad2b5612fd7623d5e0f
|
||||
return false;
|
||||
} else {
|
||||
Entity entity = source.getEntity();
|
||||
@@ -1243,6 +1251,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1245,6 +1253,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -54,7 +54,7 @@ index 71905201cd42094fa3f545f29ada0f7ebcd7c21d..f5c5ed6cfb963ad2b5612fd7623d5e0f
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -2055,6 +2064,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -2057,6 +2066,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
|
||||
public void sendTexturePack(String url, String hash, boolean required, @Nullable Component resourcePackPrompt) {
|
||||
@@ -62,7 +62,7 @@ index 71905201cd42094fa3f545f29ada0f7ebcd7c21d..f5c5ed6cfb963ad2b5612fd7623d5e0f
|
||||
this.connection.send(new ClientboundResourcePackPacket(url, hash, required, resourcePackPrompt));
|
||||
}
|
||||
|
||||
@@ -2586,9 +2596,17 @@ public class ServerPlayer extends Player {
|
||||
@@ -2599,9 +2609,17 @@ public class ServerPlayer extends Player {
|
||||
|
||||
@Override
|
||||
public boolean isImmobile() {
|
||||
@@ -82,10 +82,10 @@ index 71905201cd42094fa3f545f29ada0f7ebcd7c21d..f5c5ed6cfb963ad2b5612fd7623d5e0f
|
||||
public Scoreboard getScoreboard() {
|
||||
return this.getBukkitEntity().getScoreboard().getHandle();
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index febae4d31eb82945765fa7606515a570d3f111ce..e7eec6e22f8ba5a5a7042cd82ece1fe0ec58b348 100644
|
||||
index 24545eaad4b0867b4d14f0418a27d465461c7e1e..db737258db16ec9f61d0d601a6ea5f6b14638033 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2091,12 +2091,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2092,12 +2092,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@Override
|
||||
public void handleResourcePackResponse(ServerboundResourcePackPacket packet) {
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel());
|
||||
@@ -108,10 +108,10 @@ index febae4d31eb82945765fa7606515a570d3f111ce..e7eec6e22f8ba5a5a7042cd82ece1fe0
|
||||
this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit
|
||||
// Paper end
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index cb211e2aad3cc300099b724b7fa78cc4f24aee7c..4142e454d10e6ea3996e1ae372fcb1405829e52b 100644
|
||||
index 7387bc99cd4d5172ef93364608a9ba178cc3597c..1d92befb9b9dfb5877065beeb216bdf1caefb770 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -967,6 +967,8 @@ public abstract class PlayerList {
|
||||
@@ -969,6 +969,8 @@ public abstract class PlayerList {
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -121,10 +121,10 @@ index cb211e2aad3cc300099b724b7fa78cc4f24aee7c..4142e454d10e6ea3996e1ae372fcb140
|
||||
return entityplayer1;
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index aeea585b802966cd599e33a45887899cad31872b..c7fcf3da9ebfe139dd1777c17d5c62a9b9d5e039 100644
|
||||
index 2506882191e83a3cc03666a56e63c18f7adebb68..141b5428d65d7db133d59d76a214333e07620eee 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3214,5 +3214,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -3222,5 +3222,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void resetIdleTimer() {
|
||||
getHandle().resetLastActionTime();
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Alternative Keepalive Handling
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index ae5f4ae4a82545a776bbff52ce98e91a4a8f5d9e..7335b3e0f7f3549e0c262ab3438f6dab9e393b82 100644
|
||||
index db737258db16ec9f61d0d601a6ea5f6b14638033..f7b3110cf30124fc4054bfcda6d5ad28a5c0a48c 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -262,6 +262,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -263,6 +263,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
private long keepAliveTime = Util.getMillis();
|
||||
private boolean keepAlivePending;
|
||||
private long keepAliveChallenge;
|
||||
@@ -16,7 +16,7 @@ index ae5f4ae4a82545a776bbff52ce98e91a4a8f5d9e..7335b3e0f7f3549e0c262ab3438f6dab
|
||||
// CraftBukkit start - multithreaded fields
|
||||
private final AtomicInteger chatSpamTickCount = new AtomicInteger();
|
||||
private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits
|
||||
@@ -414,6 +415,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -415,6 +416,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
long currentTime = Util.getMillis();
|
||||
long elapsedTime = currentTime - this.keepAliveTime;
|
||||
|
||||
@@ -38,7 +38,7 @@ index ae5f4ae4a82545a776bbff52ce98e91a4a8f5d9e..7335b3e0f7f3549e0c262ab3438f6dab
|
||||
if (this.keepAlivePending) {
|
||||
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
|
||||
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info
|
||||
@@ -3521,6 +3537,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -3527,6 +3543,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
@Override
|
||||
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to set armorstand step height
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 8c158da219c3ee91942ae93454317cfe87641f0d..a332f75440b336f371a30f9a6d6d9a1662fff5bd 100644
|
||||
index 9f26371ca53dba729a696626c35ef06043dfb995..de4e0d9ca36aa1b75005ad3dcd9b9910b89fc5f1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -319,7 +319,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -320,7 +320,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
public double xOld;
|
||||
public double yOld;
|
||||
public double zOld;
|
||||
|
||||
@@ -5,10 +5,10 @@ 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 f5c5ed6cfb963ad2b5612fd7623d5e0f3ea058bb..48118c5121e2a2f728d2121e5206c9aa71448145 100644
|
||||
index c3ce105219940d234320a415bd3050087db4778c..1224e5f2b34d32ffeb92300a1763dd6f52b3d1ce 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1069,6 +1069,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1071,6 +1071,7 @@ public class ServerPlayer extends Player {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
return false;
|
||||
} else {
|
||||
@@ -17,10 +17,10 @@ index f5c5ed6cfb963ad2b5612fd7623d5e0f3ea058bb..48118c5121e2a2f728d2121e5206c9aa
|
||||
|
||||
if (!flag && isSpawnInvulnerable() && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) { // Purpur
|
||||
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 9a80cf593bbdd7681bc9395daf4545a98e07636f..14083c591edb9a7b1eae7bd21705a7f5f0c3cbfa 100644
|
||||
index ee4f924afe15c9a4d96af7a55b357076c7b28501..f774c27dd52219cd524b63cbaa1b23ad55ef849b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
@@ -106,11 +106,13 @@ public abstract class AbstractMinecart extends Entity {
|
||||
@@ -107,11 +107,13 @@ public abstract class AbstractMinecart extends Entity {
|
||||
private double flyingY = 0.949999988079071D; // Paper - restore vanilla precision
|
||||
private double flyingZ = 0.949999988079071D; // Paper - restore vanilla precision
|
||||
public double maxSpeed = 0.4D;
|
||||
@@ -34,7 +34,7 @@ index 9a80cf593bbdd7681bc9395daf4545a98e07636f..14083c591edb9a7b1eae7bd21705a7f5
|
||||
}
|
||||
|
||||
protected AbstractMinecart(EntityType<?> type, Level world, double x, double y, double z) {
|
||||
@@ -333,6 +335,12 @@ public abstract class AbstractMinecart extends Entity {
|
||||
@@ -334,6 +336,12 @@ public abstract class AbstractMinecart extends Entity {
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
@@ -47,7 +47,7 @@ index 9a80cf593bbdd7681bc9395daf4545a98e07636f..14083c591edb9a7b1eae7bd21705a7f5
|
||||
// CraftBukkit start
|
||||
double prevX = this.getX();
|
||||
double prevY = this.getY();
|
||||
@@ -496,16 +504,63 @@ public abstract class AbstractMinecart extends Entity {
|
||||
@@ -497,16 +505,63 @@ public abstract class AbstractMinecart extends Entity {
|
||||
|
||||
public void activateMinecart(int x, int y, int z, boolean powered) {}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for F3+N debug
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 4142e454d10e6ea3996e1ae372fcb1405829e52b..2069633c7fc3af7cef94e92ff03da6c9198c4524 100644
|
||||
index 1d92befb9b9dfb5877065beeb216bdf1caefb770..68905d5121eb05b825602d2bf24612283481c205 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1146,6 +1146,7 @@ public abstract class PlayerList {
|
||||
@@ -1148,6 +1148,7 @@ public abstract class PlayerList {
|
||||
} else {
|
||||
b0 = (byte) (24 + permissionLevel);
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ 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 a332f75440b336f371a30f9a6d6d9a1662fff5bd..12642555cc6a57315740bd1c8911432db5b0b225 100644
|
||||
index de4e0d9ca36aa1b75005ad3dcd9b9910b89fc5f1..8bf194c2db3f775405c7117c6882ecd398922c2a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -893,7 +893,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -894,7 +894,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
|
||||
public void checkOutOfWorld() {
|
||||
// Paper start - Configurable nether ceiling damage
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 12642555cc6a57315740bd1c8911432db5b0b225..2c624a1779ada0c89ce0eb13234a4924bb16b9e4 100644
|
||||
index 8bf194c2db3f775405c7117c6882ecd398922c2a..a617879ca6c819c40c21df3519f106620220a70e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4792,5 +4792,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4793,5 +4793,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
public boolean processClick(InteractionHand hand) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option for boats to eject players on land
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
|
||||
index 5095e47b4910167235afdd8f1a7e9c45124ecadb..fb8f2d0a15c7a56c8e75b8fda781bf36e97dbc4b 100644
|
||||
index 12e3209c5246ede89daaf8455fe70b4a517e12f6..9038d694ea8d56aaed4794f55f7c23b8c1358ba7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
|
||||
@@ -540,6 +540,7 @@ public class Boat extends Entity implements VariantHolder<Boat.Type> {
|
||||
@@ -541,6 +541,7 @@ public class Boat extends Entity implements VariantHolder<Boat.Type> {
|
||||
|
||||
if (f > 0.0F) {
|
||||
this.landFriction = f;
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Mending mends most damages equipment first
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
index 2d3994de8e40eedc78c27ea842b6265b1c5ea822..7043f15f84d6c847bf376025c8e2150bdf650457 100644
|
||||
index a9f20e6a73e2e1875abd1e122a5d08c4ef44f9d8..0813151ba9d1dcf1aa40fb4c7f259510adc326da 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
@@ -323,7 +323,7 @@ public class ExperienceOrb extends Entity {
|
||||
@@ -324,7 +324,7 @@ public class ExperienceOrb extends Entity {
|
||||
}
|
||||
|
||||
private int repairPlayerItems(Player player, int amount) {
|
||||
@@ -18,7 +18,7 @@ index 2d3994de8e40eedc78c27ea842b6265b1c5ea822..7043f15f84d6c847bf376025c8e2150b
|
||||
if (entry != null) {
|
||||
ItemStack itemstack = (ItemStack) entry.getValue();
|
||||
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
index a7533d18fe6148d7bfd3106b9cdcb6fa3347cf7c..be0585ce01d851105699e02e6b35e486f0c13a88 100644
|
||||
index d81fcbadc5c0b3d4b54dde5d47a0f847d8ec6918..a9fd9aa145a2d06d6d6733c541a0d13e6cadbecb 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
@@ -566,6 +566,16 @@ public final class ItemStack {
|
||||
|
||||
@@ -69,10 +69,10 @@ index ceaafede643bac0b6714df3d5475b4cb03b2eaed..65ba915d3644b638ce3b5314c0aed5b2
|
||||
lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur
|
||||
tickSection = curTime;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 9c949e2e7d2d25f0012b3e7bc2e054cac42230a3..4df7b6ccb7d130f11d219ca4857604c753f3007c 100644
|
||||
index 14a5f137a9f925926406ea2a6b113fef88378c2e..a78bc6977e37c2eaa61b1618a386feab1e4229c3 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2702,6 +2702,7 @@ public final class CraftServer implements Server {
|
||||
@@ -2703,6 +2703,7 @@ public final class CraftServer implements Server {
|
||||
@Override
|
||||
public double[] getTPS() {
|
||||
return new double[] {
|
||||
|
||||
@@ -5,15 +5,15 @@ Subject: [PATCH] Implement respawn anchor explosion options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java
|
||||
index bcea8af63b9911c36873290e5c34567b1eeaacf4..a81fe948398a4d65929d75c821177f09cef67a20 100644
|
||||
index 2ed78cf83c0ae66a6ddba1ff307da89a24b0d0a8..ae17d6a54fad0bd2d71d306f418b5ced2f11b863 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java
|
||||
@@ -127,7 +127,7 @@ public class RespawnAnchorBlock extends Block {
|
||||
}
|
||||
@@ -141,7 +141,7 @@ public class RespawnAnchorBlock extends Block {
|
||||
};
|
||||
Vec3 vec3 = explodedPos.getCenter();
|
||||
- world.explode((Entity)null, world.damageSources().badRespawnPointExplosion(vec3, explodedBlockState), explosionDamageCalculator, vec3, 5.0F, true, Level.ExplosionInteraction.BLOCK);
|
||||
+ if (world.purpurConfig.respawnAnchorExplode) world.explode((Entity)null, world.damageSources().badRespawnPointExplosion(vec3, explodedBlockState), explosionDamageCalculator, vec3, (float) world.purpurConfig.respawnAnchorExplosionPower, world.purpurConfig.respawnAnchorExplosionFire, world.purpurConfig.respawnAnchorExplosionEffect); // Paper - exploded block state // Purpur
|
||||
Vec3 vec3d = explodedPos.getCenter();
|
||||
|
||||
- world.explode((Entity) null, world.damageSources().badRespawnPointExplosion(vec3d, explodedBlockState), explosiondamagecalculator, vec3d, 5.0F, true, Level.ExplosionInteraction.BLOCK); // Paper
|
||||
+ if (world.purpurConfig.respawnAnchorExplode)world.explode((Entity) null, world.damageSources().badRespawnPointExplosion(vec3d, explodedBlockState), explosiondamagecalculator, vec3d, (float) world.purpurConfig.respawnAnchorExplosionPower, world.purpurConfig.respawnAnchorExplosionFire, world.purpurConfig.respawnAnchorExplosionEffect); // Paper // Purpur
|
||||
}
|
||||
|
||||
public static boolean canSetSpawn(Level world) {
|
||||
|
||||
@@ -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 ca23fe56e7ccc0ee4fcb8bb2c801dd0360b92e8a..f85084bde6f29a8ecd3d660e55916874f8b7d38b 100644
|
||||
index f7b3110cf30124fc4054bfcda6d5ad28a5c0a48c..556a9fcf0efd08cfc2b60acf79e74bfdb254903d 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1341,13 +1341,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1342,13 +1342,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
itemstack1.setTag(nbttagcompound.copy());
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ index ca23fe56e7ccc0ee4fcb8bb2c801dd0360b92e8a..f85084bde6f29a8ecd3d660e55916874
|
||||
|
||||
this.updateBookPages(pages, (s) -> {
|
||||
return Component.Serializer.toJson(Component.literal(s));
|
||||
@@ -1359,10 +1362,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1360,10 +1363,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
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 ca23fe56e7ccc0ee4fcb8bb2c801dd0360b92e8a..f85084bde6f29a8ecd3d660e55916874
|
||||
|
||||
Objects.requireNonNull(nbttaglist);
|
||||
stream.forEach(nbttaglist::add);
|
||||
@@ -1372,11 +1378,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1373,11 +1379,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
for (int j = list.size(); i < j; ++i) {
|
||||
FilteredText filteredtext = (FilteredText) list.get(i);
|
||||
@@ -58,7 +58,7 @@ index ca23fe56e7ccc0ee4fcb8bb2c801dd0360b92e8a..f85084bde6f29a8ecd3d660e55916874
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1389,6 +1395,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1390,6 +1396,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
this.player.getInventory().setItem(slot, CraftEventFactory.handleEditBookEvent(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 7423be3018b07f67ef9aa654eba7a25a0d4839da..ad13603b562901a8d2dc538f960fd728cc9f2a1b 100644
|
||||
index 556a9fcf0efd08cfc2b60acf79e74bfdb254903d..d4280dcd4b8a4e09ef1b6c6d89ea5c58468f7229 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2855,6 +2855,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2861,6 +2861,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
AABB axisalignedbb = entity.getBoundingBox();
|
||||
|
||||
if (axisalignedbb.distanceToSqr(this.player.getEyePosition()) < ServerGamePacketListenerImpl.MAX_INTERACTION_DISTANCE) {
|
||||
|
||||
@@ -5,10 +5,10 @@ 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 48118c5121e2a2f728d2121e5206c9aa71448145..81f9b830df5cec8c5748027b09fe97a5a47bb1c7 100644
|
||||
index 1224e5f2b34d32ffeb92300a1763dd6f52b3d1ce..581685e53fc9b63d291ba4904e47e8afc1119c9a 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -2655,4 +2655,26 @@ public class ServerPlayer extends Player {
|
||||
@@ -2668,4 +2668,26 @@ public class ServerPlayer extends Player {
|
||||
return (CraftPlayer) super.getBukkitEntity();
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Dispensers place anvils option
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
|
||||
index 9598aa381978194fee859721731196f0e6ee08fc..2db46452d374f9b53db7bd80be5fbd9c8fce2c3e 100644
|
||||
index 88d18d18d69876c98e199acb647c6cca9448d55d..da9cc93f560269a00f0093ad76aba3a05eedb046 100644
|
||||
--- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
|
||||
+++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
|
||||
@@ -52,6 +52,7 @@ import net.minecraft.world.item.SpawnEggItem;
|
||||
@@ -16,7 +16,7 @@ index 9598aa381978194fee859721731196f0e6ee08fc..2db46452d374f9b53db7bd80be5fbd9c
|
||||
import net.minecraft.world.level.block.BaseFireBlock;
|
||||
import net.minecraft.world.level.block.BeehiveBlock;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
@@ -1167,6 +1168,23 @@ public interface DispenseItemBehavior {
|
||||
@@ -1168,6 +1169,23 @@ public interface DispenseItemBehavior {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 2c624a1779ada0c89ce0eb13234a4924bb16b9e4..7f90a35652f543f68773309208bfa8ae727abdd0 100644
|
||||
index a617879ca6c819c40c21df3519f106620220a70e..fcaeeb8885e20cc8de51831b4fbfe827e5cc94a1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4224,6 +4224,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4225,6 +4225,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
this.yRotO = this.getYRot();
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals configuration
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 7f90a35652f543f68773309208bfa8ae727abdd0..adb5f4fa1f1f4ec3180da4f8ad0a322eaa47f9ac 100644
|
||||
index fcaeeb8885e20cc8de51831b4fbfe827e5cc94a1..489b124bcc7bd60830415563329f3567988ccf9b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2940,7 +2940,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2941,7 +2941,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
public void handleInsidePortal(BlockPos pos) {
|
||||
if (this.isOnPortalCooldown()) {
|
||||
this.setPortalCooldown();
|
||||
@@ -17,7 +17,7 @@ index 7f90a35652f543f68773309208bfa8ae727abdd0..adb5f4fa1f1f4ec3180da4f8ad0a322e
|
||||
if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) {
|
||||
this.portalEntrancePos = pos.immutable();
|
||||
}
|
||||
@@ -3632,7 +3632,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3633,7 +3633,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
public boolean canChangeDimensions() {
|
||||
|
||||
@@ -57,10 +57,10 @@ index cefb3d0658e56c7c103626b8cfc5faa05f03665b..90cab3586d3e3e290475fe8d59a69d89
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
|
||||
index fb8f2d0a15c7a56c8e75b8fda781bf36e97dbc4b..33de7cca8063618466fe47417e700a5b15c8dc70 100644
|
||||
index 9038d694ea8d56aaed4794f55f7c23b8c1358ba7..06421017e3a7a0511c253e2ad4a028b0c156c9a8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
|
||||
@@ -222,7 +222,13 @@ public class Boat extends Entity implements VariantHolder<Boat.Type> {
|
||||
@@ -223,7 +223,13 @@ public class Boat extends Entity implements VariantHolder<Boat.Type> {
|
||||
}
|
||||
|
||||
protected void destroy(DamageSource source) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add boat fall damage config
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 81f9b830df5cec8c5748027b09fe97a5a47bb1c7..dc1cffa39659505f44ee81a38066c274fda09a43 100644
|
||||
index 581685e53fc9b63d291ba4904e47e8afc1119c9a..02078f459eb7230a5ac9b4499d961c8b37e5b196 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1069,7 +1069,16 @@ public class ServerPlayer extends Player {
|
||||
@@ -1071,7 +1071,16 @@ public class ServerPlayer extends Player {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
return false;
|
||||
} else {
|
||||
|
||||
@@ -42,10 +42,10 @@ index ca6a2fee12ac8a89dae57aa2787462f190463cd0..e0b2819d6c73a9ca1fa60ff71d29e201
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index dc1cffa39659505f44ee81a38066c274fda09a43..a7f674f456be825bbabb2c86c93afde77db96a33 100644
|
||||
index 02078f459eb7230a5ac9b4499d961c8b37e5b196..06c225972d5a92296042ff612634f81298b32107 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -277,6 +277,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -279,6 +279,7 @@ public class ServerPlayer extends Player {
|
||||
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
|
||||
public boolean purpurClient = false; // Purpur
|
||||
public boolean acceptingResourcePack = false; // Purpur
|
||||
@@ -53,7 +53,7 @@ index dc1cffa39659505f44ee81a38066c274fda09a43..a7f674f456be825bbabb2c86c93afde7
|
||||
|
||||
public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) {
|
||||
super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile);
|
||||
@@ -516,6 +517,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -518,6 +519,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ index dc1cffa39659505f44ee81a38066c274fda09a43..a7f674f456be825bbabb2c86c93afde7
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -582,6 +584,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -584,6 +586,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
this.getBukkitEntity().setExtraData(nbt); // CraftBukkit
|
||||
|
||||
@@ -69,7 +69,7 @@ index dc1cffa39659505f44ee81a38066c274fda09a43..a7f674f456be825bbabb2c86c93afde7
|
||||
}
|
||||
|
||||
// CraftBukkit start - World fallback code, either respawn location or global spawn
|
||||
@@ -2685,5 +2688,13 @@ public class ServerPlayer extends Player {
|
||||
@@ -2698,5 +2701,13 @@ public class ServerPlayer extends Player {
|
||||
this.server.getPlayerList().respawn(this, toLevel, true, to, !toLevel.paperConfig().environment.disableTeleportationSuffocationCheck, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.DEATH);
|
||||
}
|
||||
}
|
||||
@@ -84,10 +84,10 @@ index dc1cffa39659505f44ee81a38066c274fda09a43..a7f674f456be825bbabb2c86c93afde7
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 2069633c7fc3af7cef94e92ff03da6c9198c4524..25be7c9e59666f27161d8f08129019764a70a512 100644
|
||||
index 68905d5121eb05b825602d2bf24612283481c205..cfe70ad065f7c5919faad67b171b9dbbabaea51c 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -467,6 +467,7 @@ public abstract class PlayerList {
|
||||
@@ -469,6 +469,7 @@ public abstract class PlayerList {
|
||||
scoreboard.addPlayerToTeam(player.getScoreboardName(), collideRuleTeam);
|
||||
}
|
||||
// Paper end
|
||||
@@ -95,7 +95,7 @@ index 2069633c7fc3af7cef94e92ff03da6c9198c4524..25be7c9e59666f27161d8f0812901976
|
||||
// CraftBukkit - Moved from above, added world
|
||||
PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), s1, player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ());
|
||||
}
|
||||
@@ -576,6 +577,8 @@ public abstract class PlayerList {
|
||||
@@ -578,6 +579,8 @@ public abstract class PlayerList {
|
||||
}
|
||||
public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) {
|
||||
// Paper end
|
||||
@@ -105,7 +105,7 @@ index 2069633c7fc3af7cef94e92ff03da6c9198c4524..25be7c9e59666f27161d8f0812901976
|
||||
|
||||
entityplayer.awardStat(Stats.LEAVE_GAME);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 126eb32d182b78b07add872aad6a821334639662..5b0625955e2a65f689c8a128d73170bc1f0c8025 100644
|
||||
index ce59c8dbbf6cdc684befe9302107645795576e48..74882c48068d01d59adbfc0c51bd7f2b7f756e6a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -181,6 +181,7 @@ public class PurpurConfig {
|
||||
|
||||
@@ -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 4ddd14db772f003f603a4965166a3f939327e330..a235aa137c7d0f37a848376d41acb6766c4d8ace 100644
|
||||
index d4280dcd4b8a4e09ef1b6c6d89ea5c58468f7229..d9a6a5ef1cd419d2111e49d42df8b866e90d9c6b 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1261,10 +1261,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1262,10 +1262,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
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;
|
||||
@@ -21,7 +21,7 @@ index 4ddd14db772f003f603a4965166a3f939327e330..a235aa137c7d0f37a848376d41acb676
|
||||
server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause
|
||||
return;
|
||||
}
|
||||
@@ -1288,6 +1290,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1289,6 +1291,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
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());
|
||||
|
||||
@@ -55,7 +55,7 @@ index a6ab0d0defc05e56a91084c49897059670a1324b..2c085c4a154cb0f8a1d38453f43474a7
|
||||
EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), pos.getX(), pos.getY(), pos.getZ()));
|
||||
world.getCraftServer().getPluginManager().callEvent(event);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
index 690d498a97b943a62e8ea415450ca44a2349fee0..43ca8471d7d4d2d561cba7e2a952a16ed200a961 100644
|
||||
index e9466871a329c47204b251263e3922b8f1f9c176..a4cd9869988f414ce1bf14d38442f78207e3f048 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
@@ -179,6 +179,14 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity {
|
||||
@@ -74,7 +74,7 @@ index 690d498a97b943a62e8ea415450ca44a2349fee0..43ca8471d7d4d2d561cba7e2a952a16e
|
||||
|
||||
blockEntity.teleportCooldown = 100;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index fa6938626c64ed17a2f56739d5801494ea6f3be1..df33bd0c97faa3c7eb4ab6cbe7286f6a9aaa37d6 100644
|
||||
index a4644b1d9abb7ffeda89801e4562a078ffe43288..ef683027bc840999d70420b2d6c751ca07c168e9 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -586,6 +586,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -89,10 +89,10 @@ index fa6938626c64ed17a2f56739d5801494ea6f3be1..df33bd0c97faa3c7eb4ab6cbe7286f6a
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index c7fcf3da9ebfe139dd1777c17d5c62a9b9d5e039..1d47586b7301e883ff76876359534d71a684f3d6 100644
|
||||
index 141b5428d65d7db133d59d76a214333e07620eee..10230658e2c3840af136bd90621992ed04551832 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1364,6 +1364,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1362,6 +1362,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
}
|
||||
|
||||
if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API
|
||||
|
||||
@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index adb5f4fa1f1f4ec3180da4f8ad0a322eaa47f9ac..a59d5b1aa9ff67830f521ea3ff1d27e7874ba4bb 100644
|
||||
index 489b124bcc7bd60830415563329f3567988ccf9b..a1be9f2cbc2d66f9d4c5a66dc8a620435f9073a5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1745,7 +1745,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -1746,7 +1746,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return this.isInWater() || flag;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in portals
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index a7f674f456be825bbabb2c86c93afde77db96a33..fad36f2d2a302a2da1c5bd9d199437e9489349b9 100644
|
||||
index 06c225972d5a92296042ff612634f81298b32107..9610ab9ba4803f6841c797f740ac5cdc758a70e3 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1228,6 +1228,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1230,6 +1230,7 @@ public class ServerPlayer extends Player {
|
||||
playerlist.sendPlayerPermissionLevel(this);
|
||||
worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION);
|
||||
this.unsetRemoved();
|
||||
@@ -17,10 +17,10 @@ index a7f674f456be825bbabb2c86c93afde77db96a33..fad36f2d2a302a2da1c5bd9d199437e9
|
||||
// CraftBukkit end
|
||||
this.setLevel(worldserver);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index a59d5b1aa9ff67830f521ea3ff1d27e7874ba4bb..bfc65117bb9223799a8daee00f3c6833f10e4900 100644
|
||||
index a1be9f2cbc2d66f9d4c5a66dc8a620435f9073a5..fe44c47c5dea658cb812923ecc284671a15d3d24 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2937,12 +2937,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2938,12 +2938,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return Vec3.directionFromRotation(this.getRotationVector());
|
||||
}
|
||||
|
||||
|
||||
@@ -871,10 +871,10 @@ index 9c8ebbec20438401265d8049b33132f490e3c1ea..d67171c3b7d53a91ac9761385646cf9b
|
||||
|
||||
@Override
|
||||
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 a17cb25071132d601ff42f884f2e668328c7df41..7fb3fe195d4f267735fadb740debc4ec72cb3c31 100644
|
||||
index 5a5dd029af3517f3552055b32a9d4951ac2e14e6..9c832e03a288ff0cdb6fbb34e6bea4ef69102ee7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -115,6 +115,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -118,6 +118,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.shulkerMaxHealth);
|
||||
}
|
||||
|
||||
@@ -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 a235aa137c7d0f37a848376d41acb6766c4d8ace..0ace3d20fb71359a58659bb9ddf938d547f3750f 100644
|
||||
index d9a6a5ef1cd419d2111e49d42df8b866e90d9c6b..4345b10d2aad2d82155fe50f31139917e9e0d315 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1696,6 +1696,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1697,6 +1697,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
this.player.resetFallDistance();
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ index a235aa137c7d0f37a848376d41acb6766c4d8ace..0ace3d20fb71359a58659bb9ddf938d5
|
||||
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();
|
||||
@@ -1729,6 +1736,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1730,6 +1737,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
}
|
||||
// Paper end - optimise out extra getCubes
|
||||
|
||||
@@ -36,7 +36,7 @@ index a235aa137c7d0f37a848376d41acb6766c4d8ace..0ace3d20fb71359a58659bb9ddf938d5
|
||||
Iterable<VoxelShape> iterable = world.getCollisions(this.player, this.player.getBoundingBox().deflate(9.999999747378752E-6D));
|
||||
VoxelShape voxelshape = Shapes.create(box.deflate(9.999999747378752E-6D));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 5b0625955e2a65f689c8a128d73170bc1f0c8025..c8097ec7887ac8e689b6843d9ff7744d6a453478 100644
|
||||
index 74882c48068d01d59adbfc0c51bd7f2b7f756e6a..dcd2d690d36eb51e3e7217f0ddef5fc32d1fc0c6 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -182,6 +182,7 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index fad36f2d2a302a2da1c5bd9d199437e9489349b9..f94f50541210f5b13dca3b546d84983ba246e399 100644
|
||||
index 9610ab9ba4803f6841c797f740ac5cdc758a70e3..272e7cc5fc33ec7148a47328d2ba9d88b11092d3 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1387,7 +1387,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1389,7 +1389,7 @@ public class ServerPlayer extends Player {
|
||||
return entitymonster.isPreventingPlayerRest(this);
|
||||
});
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index bfc65117bb9223799a8daee00f3c6833f10e4900..65ba54c6144612df47820d2c3a88ddb4bd4b3f0a 100644
|
||||
index fe44c47c5dea658cb812923ecc284671a15d3d24..4640f9659c501b7054a6f0034e49f4fe326ebdc9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3178,7 +3178,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3179,7 +3179,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
public int getMaxAirSupply() {
|
||||
|
||||
@@ -17,10 +17,10 @@ index 25b832fe30c3837d02b10017e58ad0fa9d097092..3919d9c193abcfd8b97dfb0ceb386384
|
||||
// Paper end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index f94f50541210f5b13dca3b546d84983ba246e399..02e196377924a000d42db855c77c74c7c1220595 100644
|
||||
index 272e7cc5fc33ec7148a47328d2ba9d88b11092d3..244ca77d8d50c4e30b90fc2df46bc7c291f94744 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -960,6 +960,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -962,6 +962,7 @@ public class ServerPlayer extends Player {
|
||||
}));
|
||||
Team scoreboardteambase = this.getTeam();
|
||||
|
||||
@@ -29,7 +29,7 @@ index f94f50541210f5b13dca3b546d84983ba246e399..02e196377924a000d42db855c77c74c7
|
||||
if (scoreboardteambase.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) {
|
||||
this.server.getPlayerList().broadcastSystemToTeam(this, ichatbasecomponent);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index d4d58ae8dc114a26129cbe88e0025a0593ae13b9..8eddfbc2c702d877f5efbc69b9d55635e6561c55 100644
|
||||
index 43c2572dc1c091703b3d2fb6bc26e685383675df..6b29c1d551d647c0ff82434a466f92c20403ea73 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -201,6 +201,18 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable powered rail boost modifier
|
||||
|
||||
|
||||
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 14083c591edb9a7b1eae7bd21705a7f5f0c3cbfa..cd8239423d964ef9b708d283a329986cb02404e5 100644
|
||||
index f774c27dd52219cd524b63cbaa1b23ad55ef849b..ddcd7ada9f4bf5653bd8bf7c6cdb35d7243367d9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
@@ -722,7 +722,7 @@ public abstract class AbstractMinecart extends Entity {
|
||||
@@ -723,7 +723,7 @@ public abstract class AbstractMinecart extends Entity {
|
||||
if (d18 > 0.01D) {
|
||||
double d20 = 0.06D;
|
||||
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
|
||||
Co-authored by: Encode42 <me@encode42.dev>
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 65ba54c6144612df47820d2c3a88ddb4bd4b3f0a..5b0377d9731936953b977a113e2bfe27ed1f74fa 100644
|
||||
index 4640f9659c501b7054a6f0034e49f4fe326ebdc9..f24fb3607c836014a93fcab19ac68253d0cdb8b3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4805,5 +4805,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4806,5 +4806,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
public boolean canSaveToDisk() {
|
||||
return true;
|
||||
}
|
||||
@@ -351,7 +351,7 @@ index 5cf17a81d8c2a784bbd406dc3725ebbbbdf4a045..114093185454a428e0ef9f0877ea4efd
|
||||
// Paper end
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index df33bd0c97faa3c7eb4ab6cbe7286f6a9aaa37d6..0db19dfbec593b9fd6f22970960fbe967bd7c280 100644
|
||||
index ef683027bc840999d70420b2d6c751ca07c168e9..bdb6485b7b3544e1b264a44ae919277221ce11ba 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -209,6 +209,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for end portal safe teleporting
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 5b0377d9731936953b977a113e2bfe27ed1f74fa..dc327fb4cfc9fb0ad058dff0f2481e4678619473 100644
|
||||
index f24fb3607c836014a93fcab19ac68253d0cdb8b3..cb3a7b6b02867e88a78437c265ecdc3086b382a5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2996,7 +2996,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2997,7 +2997,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
this.processPortalCooldown();
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow player join full server by permission
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 25be7c9e59666f27161d8f08129019764a70a512..4840b2adebeaf7927a043861d5b2cdf5c9b2cf0a 100644
|
||||
index cfe70ad065f7c5919faad67b171b9dbbabaea51c..2e404f8ef0f0f2f9de1356cf7f353b55ee1e9c45 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -732,7 +732,7 @@ public abstract class PlayerList {
|
||||
@@ -734,7 +734,7 @@ public abstract class PlayerList {
|
||||
event.disallow(PlayerLoginEvent.Result.KICK_BANNED, PaperAdventure.asAdventure(ichatmutablecomponent)); // Paper - Adventure
|
||||
} else {
|
||||
// return this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile) ? IChatBaseComponent.translatable("multiplayer.disconnect.server_full") : null;
|
||||
|
||||
@@ -26,10 +26,10 @@ index 75250719f8d10dd06471758b2848d132e5b1aa70..48d8198277720f17bd06e774746a9629
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
index c8cccfcf4d572a9e65fce09621aeed2a7045003c..d27916575c5cd380711e7ce1709d8fac429c39e2 100644
|
||||
index 1b008e5217c5bbf566a213abb92e1c7c43a3a7c2..468023414b4a9119a3418b8e8a5e38375bbd2407 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
@@ -265,6 +265,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
@@ -266,6 +266,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
@Override
|
||||
public void recalculatePermissions() {
|
||||
this.perm.recalculatePermissions();
|
||||
|
||||
@@ -13,10 +13,10 @@ Subject: [PATCH] Shulker spawn from bullet options
|
||||
(7 - 1) / 5.0 = 1.2 1.0 - 1.2 = -0.2 0% (6 other shulkers)
|
||||
|
||||
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 7fb3fe195d4f267735fadb740debc4ec72cb3c31..144a872afd4585767d1e96c3e51d4b9fd87dbf89 100644
|
||||
index 9c832e03a288ff0cdb6fbb34e6bea4ef69102ee7..a0d34af033130d88a19a078b628ea4fbce3d268e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -510,11 +510,20 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -513,11 +513,20 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
Vec3 vec3d = this.position();
|
||||
AABB axisalignedbb = this.getBoundingBox();
|
||||
|
||||
@@ -42,7 +42,7 @@ index 7fb3fe195d4f267735fadb740debc4ec72cb3c31..144a872afd4585767d1e96c3e51d4b9f
|
||||
Shulker entityshulker = (Shulker) EntityType.SHULKER.create(this.level);
|
||||
|
||||
if (entityshulker != null) {
|
||||
@@ -627,7 +636,7 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -630,7 +639,7 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
|
||||
@Override
|
||||
public Optional<DyeColor> getVariant() {
|
||||
|
||||
@@ -232,11 +232,11 @@ index 42b7058d93fab8cbee49dba130734e1df9910096..5c6f55527cc0016f09b443528463b390
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
|
||||
index 4cf3a374c9ee7c7bcf82e778aa094eb4f8463595..5c1bfd37d4494525d7890f6530a68ae47353e157 100644
|
||||
index 1a21d30620f13a48976da5ead7edab201ea68b21..a50a04dc2009515032058562627eba8e4406c5bb 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
|
||||
@@ -88,4 +88,17 @@ public class CraftWither extends CraftMonster implements Wither, com.destroystok
|
||||
getHandle().setCanTravelThroughPortals(value);
|
||||
@@ -105,4 +105,17 @@ public class CraftWither extends CraftMonster implements Wither, com.destroystok
|
||||
this.getHandle().makeInvulnerable();
|
||||
}
|
||||
// Paper end
|
||||
+
|
||||
|
||||
@@ -17,10 +17,10 @@ index 23e19bfbc41c5982a746ad0b5ba8c5834c2494a5..314ab6183e31b4bac6a40c1f8007d48e
|
||||
|
||||
if (environment.includeIntegrated) {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 02e196377924a000d42db855c77c74c7c1220595..e79f0c9832927ba9b03c68669c5bb0fb5586d37a 100644
|
||||
index 244ca77d8d50c4e30b90fc2df46bc7c291f94744..0ac5a879c9098ea37f23cf4a23046e82c27231f4 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -278,6 +278,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -280,6 +280,7 @@ public class ServerPlayer extends Player {
|
||||
public boolean purpurClient = false; // Purpur
|
||||
public boolean acceptingResourcePack = false; // Purpur
|
||||
private boolean tpsBar = false; // Purpur
|
||||
@@ -28,7 +28,7 @@ index 02e196377924a000d42db855c77c74c7c1220595..e79f0c9832927ba9b03c68669c5bb0fb
|
||||
|
||||
public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) {
|
||||
super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile);
|
||||
@@ -518,6 +519,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -520,6 +521,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
|
||||
if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur
|
||||
@@ -36,7 +36,7 @@ index 02e196377924a000d42db855c77c74c7c1220595..e79f0c9832927ba9b03c68669c5bb0fb
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -585,6 +587,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -587,6 +589,7 @@ public class ServerPlayer extends Player {
|
||||
this.getBukkitEntity().setExtraData(nbt); // CraftBukkit
|
||||
|
||||
nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur
|
||||
@@ -44,7 +44,7 @@ index 02e196377924a000d42db855c77c74c7c1220595..e79f0c9832927ba9b03c68669c5bb0fb
|
||||
}
|
||||
|
||||
// CraftBukkit start - World fallback code, either respawn location or global spawn
|
||||
@@ -2698,5 +2701,13 @@ public class ServerPlayer extends Player {
|
||||
@@ -2711,5 +2714,13 @@ public class ServerPlayer extends Player {
|
||||
public void tpsBar(boolean tpsBar) {
|
||||
this.tpsBar = tpsBar;
|
||||
}
|
||||
@@ -59,7 +59,7 @@ index 02e196377924a000d42db855c77c74c7c1220595..e79f0c9832927ba9b03c68669c5bb0fb
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 31f5d9bcc11dc78b0d04c55560d5a2fa18bf3896..42532975d8c5558a7598e759838e75f2f1cc485e 100644
|
||||
index 2c470ffdd3137e185e224de864d4248a4a290b41..7fe9d7939f6263878209724f38418006d680ba7b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -251,6 +251,11 @@ public class PurpurConfig {
|
||||
@@ -89,7 +89,7 @@ index 31f5d9bcc11dc78b0d04c55560d5a2fa18bf3896..42532975d8c5558a7598e759838e75f2
|
||||
hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector);
|
||||
uptimeFormat = getString("settings.command.uptime.format", uptimeFormat);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 572e4c14f2dfa3b0ff50c7322932e3083d37fe70..a066968f61c55c569a922137e5b837690f2f8ebd 100644
|
||||
index 6ea932028d3d429b23f3ed9e5f7fe852a0534ad4..95b44570978d036107b4b282d39289fed550cefe 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -224,6 +224,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Shulker change color with dye
|
||||
|
||||
|
||||
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 144a872afd4585767d1e96c3e51d4b9fd87dbf89..ec90f23f64ce4fefa0960ae9ddf72b771a76ca9d 100644
|
||||
index a0d34af033130d88a19a078b628ea4fbce3d268e..8825407882bbfe1b92b4da384bc0f0a3d2853acf 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -22,6 +22,8 @@ import net.minecraft.tags.DamageTypeTags;
|
||||
@@ -26,7 +26,7 @@ index 144a872afd4585767d1e96c3e51d4b9fd87dbf89..ec90f23f64ce4fefa0960ae9ddf72b77
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.ServerLevelAccessor;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
@@ -120,6 +124,19 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -123,6 +127,19 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
public boolean isSensitiveToWater() {
|
||||
return this.level.purpurConfig.shulkerTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -223,10 +223,10 @@ index 714afc98b5150907b45a00060be4e41582333204..312a6d90c0a09570aef24c205dc2ff27
|
||||
+ // Purpur end - OfflinePlayer API
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 1d47586b7301e883ff76876359534d71a684f3d6..133219dae9fb76418c77a18f225aff154b07ebb9 100644
|
||||
index 10230658e2c3840af136bd90621992ed04551832..303d1fb7918540ac4324d9d01a6beb70fc37ca5a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2405,6 +2405,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2413,6 +2413,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
return this.getHandle().getAbilities().walkingSpeed * 2f;
|
||||
}
|
||||
|
||||
|
||||
@@ -51,10 +51,10 @@ index 4ff472f454b60c3608286b7553926acf74069b73..5cd7b4e7065070bf9fcc34b621dba2cc
|
||||
private int maxStack = MAX_STACK;
|
||||
public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 4df7b6ccb7d130f11d219ca4857604c753f3007c..d7d6891e4cffd84409bbb00cfc35868dd282e2bc 100644
|
||||
index a78bc6977e37c2eaa61b1618a386feab1e4229c3..296b74bf4df1de9b353838f16049f7c2caf61eb2 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1431,6 +1431,19 @@ public final class CraftServer implements Server {
|
||||
@@ -1432,6 +1432,19 @@ public final class CraftServer implements Server {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -36,10 +36,10 @@ index 6b186a49957e97a60bb245912211d58eb7b84c0d..75f29f6dddf50ccf7ef43ecfa602ccad
|
||||
+ // 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 0ace3d20fb71359a58659bb9ddf938d547f3750f..08453b8a4dc80deb0e3f878b0557af85f2859179 100644
|
||||
index 4345b10d2aad2d82155fe50f31139917e9e0d315..d65e562202557019bc941552b15476c99d6fd3ba 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2086,6 +2086,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2087,6 +2087,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
boolean cancelled;
|
||||
if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) {
|
||||
@@ -48,7 +48,7 @@ index 0ace3d20fb71359a58659bb9ddf938d547f3750f..08453b8a4dc80deb0e3f878b0557af85
|
||||
cancelled = event.useItemInHand() == Event.Result.DENY;
|
||||
} else {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 983ce2c38f27be08cb9a95305ff465222c8d307a..19108c36e9ceeb28c74f7b87547d5ad6ea267f2e 100644
|
||||
index b0b0f8b250a789e1e137305cbec4722e91b8047d..ec8ce58e11a31d5de4db55cd4030aa3526161d49 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -415,6 +415,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 9965a41fdde5152f7aedcc536cf7494362a88f4b..a42944ccf7ffa4c70ab65eaf692d7db8d9880bb0 100644
|
||||
index 0ac5a879c9098ea37f23cf4a23046e82c27231f4..d6edd8501d044980900ac011e1c4938b7fc4e64d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1527,6 +1527,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1529,6 +1529,7 @@ public class ServerPlayer extends Player {
|
||||
|
||||
@Override
|
||||
public void openTextEdit(SignBlockEntity sign) {
|
||||
@@ -17,10 +17,10 @@ index 9965a41fdde5152f7aedcc536cf7494362a88f4b..a42944ccf7ffa4c70ab65eaf692d7db8
|
||||
this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos()));
|
||||
this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos()));
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 32543bbe1b7c2789fa154b8beb9451488301d333..6111c8fc9454c45c18f24017a1a52e5124694628 100644
|
||||
index d65e562202557019bc941552b15476c99d6fd3ba..565ae94ff218e18e38a5502c06d0caca407293e3 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -3545,11 +3545,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -3551,11 +3551,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
for (int i = 0; i < signText.size(); ++i) {
|
||||
FilteredText filteredtext = (FilteredText) signText.get(i);
|
||||
|
||||
|
||||
@@ -837,10 +837,10 @@ index 6798e9b616a3357ce68728395cb43344b9e16889..0099595a5daa9c0ca9e3fd35933038c1
|
||||
|
||||
@Override
|
||||
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 ec90f23f64ce4fefa0960ae9ddf72b771a76ca9d..07c78a6c4804f48c948e40819e55654683789bd4 100644
|
||||
index 8825407882bbfe1b92b4da384bc0f0a3d2853acf..8b03a027bff592b2257e065f328da6d86e11db98 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -137,6 +137,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -140,6 +140,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
}
|
||||
return super.mobInteract(player, hand);
|
||||
}
|
||||
|
||||
@@ -9,17 +9,15 @@ players still only pick up one orb every tick. However, setting this
|
||||
to any negative number will pick up all orbs instantly.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
index 7043f15f84d6c847bf376025c8e2150bdf650457..df8d8f85f8db396b7db9fa6e46aa55c934105394 100644
|
||||
index 0813151ba9d1dcf1aa40fb4c7f259510adc326da..0c0f422ef0c20477295cea0b6b3c4b2d0a7db265 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
@@ -304,8 +304,8 @@ public class ExperienceOrb extends Entity {
|
||||
@Override
|
||||
@@ -306,7 +306,7 @@ public class ExperienceOrb extends Entity {
|
||||
public void playerTouch(Player player) {
|
||||
if (!this.level.isClientSide) {
|
||||
- if (player.takeXpDelay == 0 && new com.destroystokyo.paper.event.player.PlayerPickupExperienceEvent(((net.minecraft.server.level.ServerPlayer) player).getBukkitEntity(), (org.bukkit.entity.ExperienceOrb) this.getBukkitEntity()).callEvent()) { // Paper
|
||||
- player.takeXpDelay = 2;
|
||||
+ if (player.takeXpDelay <= 0 && new com.destroystokyo.paper.event.player.PlayerPickupExperienceEvent(((net.minecraft.server.level.ServerPlayer) player).getBukkitEntity(), (org.bukkit.entity.ExperienceOrb) this.getBukkitEntity()).callEvent()) { // Paper
|
||||
+ player.takeXpDelay = this.level.purpurConfig.playerExpPickupDelay; // Purpur
|
||||
if (player.takeXpDelay == 0 && new com.destroystokyo.paper.event.player.PlayerPickupExperienceEvent(((net.minecraft.server.level.ServerPlayer) player).getBukkitEntity(), (org.bukkit.entity.ExperienceOrb) this.getBukkitEntity()).callEvent()) { // Paper
|
||||
- player.takeXpDelay = CraftEventFactory.callPlayerXpCooldownEvent(player, 2, PlayerExpCooldownChangeEvent.ChangeReason.PICKUP_ORB).getNewCooldown(); // CraftBukkit - entityhuman.takeXpDelay = 2;
|
||||
+ player.takeXpDelay = CraftEventFactory.callPlayerXpCooldownEvent(player, this.level.purpurConfig.playerExpPickupDelay, PlayerExpCooldownChangeEvent.ChangeReason.PICKUP_ORB).getNewCooldown(); // CraftBukkit - entityhuman.takeXpDelay = 2; // Purpur
|
||||
player.take(this, 1);
|
||||
int i = this.repairPlayerItems(player, this.value);
|
||||
|
||||
@@ -37,7 +35,7 @@ index 74c660bcc77c18241c6ccc0450174a15b0ac4d1f..d055cfc257cc7282170ba67c848af3e6
|
||||
} else if (!entity.isRemoved()) {
|
||||
this.touch(entity);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 171da243198cfad75dc56384ca9754b0d65f470d..a7f2ae2ff3f1ad928768851dc286687d28748bc3 100644
|
||||
index e4394fbe3d7ff9b9424772014c0b528407a13081..8abdc8df16a56988f9fe799773fc82bc7bffa16e 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -424,6 +424,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -94,10 +94,10 @@ index b7be410454eb86488c83c0569cd597230208cc0f..75df9d6d69ad5e979ab7b99435dbae1d
|
||||
if (this.assignProfessionWhenSpawned) {
|
||||
this.assignProfessionWhenSpawned = false;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java
|
||||
index a1a8ac55e572156671e47317ba061855be79e5ac..ec3fb8865211bd7625103c37af7b96df37163a07 100644
|
||||
index 4e880409b06086568627f3e930159f1abb979984..48fb7302b54f8e7f5c424210b550c03d4d071ea9 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java
|
||||
@@ -222,4 +222,11 @@ public class CraftVillager extends CraftAbstractVillager implements Villager {
|
||||
@@ -223,4 +223,11 @@ public class CraftVillager extends CraftAbstractVillager implements Villager {
|
||||
getHandle().getGossips().gossips.clear();
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -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 6111c8fc9454c45c18f24017a1a52e5124694628..cc04c5904547a678d507d4f6f9f3a0534370c546 100644
|
||||
index 565ae94ff218e18e38a5502c06d0caca407293e3..b5ff4750b669ffd60d7f3c926691fdce11dd52e4 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2446,7 +2446,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2452,7 +2452,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
do {
|
||||
instant1 = (Instant) this.lastChatTimeStamp.get();
|
||||
if (timestamp.isBefore(instant1)) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add local difficulty api
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index 86ffc869b57410fd4993c0fd0ae000da2e2c070c..ada46470d5b774d44b16a6f22fffeae631576690 100644
|
||||
index 8d3a32a0538a6065fd0725721ab8a1a011c4d64a..c7bf0b4036877745d54908048f92735143c92210 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -2263,6 +2263,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -2249,6 +2249,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
return (this.getHandle().dragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().dragonFight());
|
||||
}
|
||||
|
||||
|
||||
@@ -7,10 +7,10 @@ Paper patches RNG maniplulation by using a shared (and locked) random source.
|
||||
This comes with a performance gain, but technical players may prefer the ability to manipulate RNG.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index dc327fb4cfc9fb0ad058dff0f2481e4678619473..20221ab20b5589f663b8d26c504578af33adc8f2 100644
|
||||
index cb3a7b6b02867e88a78437c265ecdc3086b382a5..3e929ec3fd377b0679ac7070e61378c86d616c92 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -578,7 +578,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -579,7 +579,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
this.bb = Entity.INITIAL_AABB;
|
||||
this.stuckSpeedMultiplier = Vec3.ZERO;
|
||||
this.nextStep = 1.0F;
|
||||
@@ -33,7 +33,7 @@ index 2a2b56940cd39ca0f14dc8246b41cf6640caa3bd..31c89a6b8f766e1fd03608723c2d03f7
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 73a0276a28367dea8974f7048a63997889c4495f..c5b5bbd4856f4c3da4cc79c13d4f547c5a5d50c7 100644
|
||||
index 523c69b4dfc8c2fb1a6a780f64ee848a8a2d8ead..58d1fb7672650c48be15065f90096a7f9f6763f7 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -206,9 +206,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Remove Timings
|
||||
|
||||
|
||||
diff --git a/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java b/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java
|
||||
index e5d9c6f2cbe11c2ded6d8ad111fa6a8b2086dfba..830d863cd9665d58875bfa5ca2bcd22f89ab2d49 100644
|
||||
index ad3560284ae79b9c6bbc8752be7d9d14b18e226e..37d7d89aac826e5e9c072cc82c64ca9192173e91 100644
|
||||
--- a/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java
|
||||
+++ b/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java
|
||||
@@ -915,9 +915,9 @@ public final class ChunkHolderManager {
|
||||
@@ -922,9 +922,9 @@ public final class ChunkHolderManager {
|
||||
}
|
||||
|
||||
public boolean processTicketUpdates() {
|
||||
@@ -450,7 +450,7 @@ index c6f5d6756fa0e068a462d9c0ded12e0771abba37..2c23321c826d929981df51f2cc60cdcd
|
||||
// Paper end - use set of chunks requiring updates, rather than iterating every single one loaded
|
||||
// Paper start - controlled flush for entity tracker packets
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 3bf150a5f9ce1d497bf80174b80eca82c5fe06b5..2b82da383452b290ae99197c743e9a6ee5497713 100644
|
||||
index a3c316997605e4e5747e60dba5e2337316779339..e7e762bbc096c0e87c3d2513d67fec87807b55a4 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -687,7 +687,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -629,10 +629,10 @@ index 3bf150a5f9ce1d497bf80174b80eca82c5fe06b5..2b82da383452b290ae99197c743e9a6e
|
||||
|
||||
} 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 cc04c5904547a678d507d4f6f9f3a0534370c546..5437ed9eb36c872792f19f028af3acf9522f0dc5 100644
|
||||
index b5ff4750b669ffd60d7f3c926691fdce11dd52e4..5af28dcdd37d1bbe4d5873957e390016a9961fbb 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2583,7 +2583,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2589,7 +2589,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
}
|
||||
}
|
||||
// Paper End
|
||||
@@ -641,7 +641,7 @@ index cc04c5904547a678d507d4f6f9f3a0534370c546..5437ed9eb36c872792f19f028af3acf9
|
||||
if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot
|
||||
this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s);
|
||||
|
||||
@@ -2593,7 +2593,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2599,7 +2599,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
this.cserver.getPluginManager().callEvent(event);
|
||||
|
||||
if (event.isCancelled()) {
|
||||
@@ -650,7 +650,7 @@ index cc04c5904547a678d507d4f6f9f3a0534370c546..5437ed9eb36c872792f19f028af3acf9
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2606,7 +2606,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2612,7 +2612,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||
return;
|
||||
} finally {
|
||||
@@ -660,10 +660,10 @@ index cc04c5904547a678d507d4f6f9f3a0534370c546..5437ed9eb36c872792f19f028af3acf9
|
||||
}
|
||||
// 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 4840b2adebeaf7927a043861d5b2cdf5c9b2cf0a..33d4c1af86382cc3343d5db42283b27f69f52374 100644
|
||||
index 2e404f8ef0f0f2f9de1356cf7f353b55ee1e9c45..c27e455321951e76e4818fec0e64301f5620dbf6 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1240,7 +1240,7 @@ public abstract class PlayerList {
|
||||
@@ -1242,7 +1242,7 @@ public abstract class PlayerList {
|
||||
|
||||
public void saveAll(int interval) {
|
||||
io.papermc.paper.util.MCUtil.ensureMain("Save Players" , () -> { // Paper - Ensure main
|
||||
@@ -672,7 +672,7 @@ index 4840b2adebeaf7927a043861d5b2cdf5c9b2cf0a..33d4c1af86382cc3343d5db42283b27f
|
||||
int numSaved = 0;
|
||||
long now = MinecraftServer.currentTick;
|
||||
for (int i = 0; i < this.players.size(); ++i) {
|
||||
@@ -1251,7 +1251,7 @@ public abstract class PlayerList {
|
||||
@@ -1253,7 +1253,7 @@ public abstract class PlayerList {
|
||||
}
|
||||
// Paper end
|
||||
}
|
||||
|
||||
@@ -556,7 +556,7 @@ index 2c23321c826d929981df51f2cc60cdcdb649a43f..0ae45cf5a084fd412305e8b2f5dabe60
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 2b82da383452b290ae99197c743e9a6ee5497713..10d602b947edaae6b78efe9d0773021bcb1c35bf 100644
|
||||
index e7e762bbc096c0e87c3d2513d67fec87807b55a4..86b8485c0fb1dc5cd79c9e24546dc74459822a48 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -654,12 +654,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -768,10 +768,10 @@ index 2b82da383452b290ae99197c743e9a6ee5497713..10d602b947edaae6b78efe9d0773021b
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 15a5ad23531848dce7c6b0be9eefefb70e150608..ac63f8d93048a0e61f1e27abb4cc5e2b5cc5208e 100644
|
||||
index d6edd8501d044980900ac011e1c4938b7fc4e64d..15ec63fab5468bbfbfeefdf5475305fdf64b2b33 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1197,7 +1197,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1199,7 +1199,7 @@ public class ServerPlayer extends Player {
|
||||
PortalInfo shapedetectorshape = this.findDimensionEntryPoint(worldserver);
|
||||
|
||||
if (shapedetectorshape != null) {
|
||||
@@ -780,7 +780,7 @@ index 15a5ad23531848dce7c6b0be9eefefb70e150608..ac63f8d93048a0e61f1e27abb4cc5e2b
|
||||
worldserver = shapedetectorshape.world; // CraftBukkit
|
||||
if (worldserver == null) { } else // CraftBukkit - empty to fall through to null to event
|
||||
if (resourcekey == LevelStem.OVERWORLD && worldserver.getTypeKey() == LevelStem.NETHER) { // CraftBukkit
|
||||
@@ -1220,8 +1220,8 @@ public class ServerPlayer extends Player {
|
||||
@@ -1222,8 +1222,8 @@ public class ServerPlayer extends Player {
|
||||
worldserver = ((CraftWorld) exit.getWorld()).getHandle();
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -791,7 +791,7 @@ index 15a5ad23531848dce7c6b0be9eefefb70e150608..ac63f8d93048a0e61f1e27abb4cc5e2b
|
||||
if (true) { // CraftBukkit
|
||||
this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds
|
||||
|
||||
@@ -1240,7 +1240,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1242,7 +1242,7 @@ public class ServerPlayer extends Player {
|
||||
this.connection.teleport(exit); // CraftBukkit - use internal teleport without event
|
||||
this.connection.resetPosition();
|
||||
worldserver.addDuringPortalTeleport(this);
|
||||
@@ -801,10 +801,10 @@ index 15a5ad23531848dce7c6b0be9eefefb70e150608..ac63f8d93048a0e61f1e27abb4cc5e2b
|
||||
this.connection.send(new ClientboundPlayerAbilitiesPacket(this.getAbilities()));
|
||||
playerlist.sendLevelInfo(this, worldserver);
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 003e50f2d70ebf4e060a41675cb2f1fcea46f32d..3e304f035b1cd10cc525bfe6e409d61cb47562ee 100644
|
||||
index 5af28dcdd37d1bbe4d5873957e390016a9961fbb..f3ce7a1b5af187f281e0a3da03494ed323a585f9 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -409,7 +409,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -410,7 +410,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
this.aboveGroundVehicleTickCount = 0;
|
||||
}
|
||||
|
||||
@@ -813,7 +813,7 @@ index 003e50f2d70ebf4e060a41675cb2f1fcea46f32d..3e304f035b1cd10cc525bfe6e409d61c
|
||||
// Paper Start - give clients a longer time to respond to pings as per pre 1.12.2 timings
|
||||
// This should effectively place the keepalive handling back to "as it was" before 1.12.2
|
||||
long currentTime = Util.getMillis();
|
||||
@@ -445,7 +445,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -446,7 +446,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -1027,10 +1027,10 @@ 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 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe5100cacd 100644
|
||||
index 3e929ec3fd377b0679ac7070e61378c86d616c92..def4a9fd76b99f4f30fc2f9551cb6b283035cc88 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -823,7 +823,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -824,7 +824,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return;
|
||||
}
|
||||
// Pufferfish end - entity TTL
|
||||
@@ -1039,7 +1039,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe
|
||||
if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking
|
||||
this.feetBlockState = null;
|
||||
if (this.isPassenger() && this.getVehicle().isRemoved()) {
|
||||
@@ -884,7 +884,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -885,7 +885,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
this.firstTick = false;
|
||||
@@ -1048,7 +1048,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe
|
||||
}
|
||||
|
||||
public void setSharedFlagOnFire(boolean onFire) {
|
||||
@@ -1058,7 +1058,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -1059,7 +1059,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1057,7 +1057,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe
|
||||
if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) {
|
||||
movement = movement.multiply(this.stuckSpeedMultiplier);
|
||||
this.stuckSpeedMultiplier = Vec3.ZERO;
|
||||
@@ -1067,7 +1067,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -1068,7 +1068,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
// Paper start - ignore movement changes while inactive.
|
||||
if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) {
|
||||
setDeltaMovement(Vec3.ZERO);
|
||||
@@ -1066,7 +1066,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe
|
||||
return;
|
||||
}
|
||||
// Paper end
|
||||
@@ -1088,8 +1088,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -1089,8 +1089,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z);
|
||||
}
|
||||
|
||||
@@ -1077,7 +1077,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe
|
||||
boolean flag = !Mth.equal(movement.x, vec3d1.x);
|
||||
boolean flag1 = !Mth.equal(movement.z, vec3d1.z);
|
||||
|
||||
@@ -1108,7 +1108,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -1109,7 +1109,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
|
||||
this.checkFallDamage(vec3d1.y, this.onGround, iblockdata, blockposition);
|
||||
if (this.isRemoved()) {
|
||||
@@ -1086,7 +1086,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe
|
||||
} else {
|
||||
if (this.horizontalCollision) {
|
||||
Vec3 vec3d2 = this.getDeltaMovement();
|
||||
@@ -1249,7 +1249,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -1250,7 +1250,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
this.setRemainingFireTicks(-this.getFireImmuneTicks());
|
||||
}
|
||||
|
||||
@@ -1095,7 +1095,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe
|
||||
}
|
||||
}
|
||||
// Paper start - detailed watchdog information
|
||||
@@ -2963,7 +2963,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2964,7 +2964,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey);
|
||||
|
||||
if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit
|
||||
@@ -1104,7 +1104,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe
|
||||
this.portalTime = i;
|
||||
// Paper start
|
||||
io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER);
|
||||
@@ -2981,7 +2981,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2982,7 +2982,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
} // Paper
|
||||
// CraftBukkit end
|
||||
@@ -1113,7 +1113,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe
|
||||
}
|
||||
|
||||
this.isInsidePortal = false;
|
||||
@@ -3448,14 +3448,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3449,14 +3449,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
// Paper end
|
||||
if (this.level instanceof ServerLevel && !this.isRemoved()) {
|
||||
@@ -1130,7 +1130,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe
|
||||
PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit
|
||||
|
||||
if (shapedetectorshape == null) {
|
||||
@@ -3489,7 +3489,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3490,7 +3490,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
this.unRide();
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -1139,7 +1139,7 @@ index 20221ab20b5589f663b8d26c504578af33adc8f2..55116e7a7b70a6f9db187ac7ef0747fe
|
||||
// Paper start - Change lead drop timing to prevent dupe
|
||||
if (this instanceof Mob) {
|
||||
((Mob) this).dropLeash(true, true); // Paper drop lead
|
||||
@@ -3512,10 +3512,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3513,10 +3513,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
this.removeAfterChangingDimensions();
|
||||
@@ -1694,7 +1694,7 @@ index f40806e7d9c08cf7b85215fbf0c66169eb4dc6ae..69e5b4b6c8d5725bc2fb7cd819219e4f
|
||||
if ((this.tickCount + this.getId()) % 120 == 0) {
|
||||
Warden.applyDarknessAround(worldserver, this.position(), this, 20);
|
||||
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 505411b18989191ffa976283d08b644e11ef3f05..26857b0e5134f56df47115031727e0ad68216bc6 100644
|
||||
index 6f47f6c785dc8da6b211ac87630a3d83c42d1576..73cdb6b1793b264e1ec8ff51c4f8274366a7d4d7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -335,7 +335,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -1716,10 +1716,10 @@ index 505411b18989191ffa976283d08b644e11ef3f05..26857b0e5134f56df47115031727e0ad
|
||||
this.assignProfessionWhenSpawned = false;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
index 59837144c2c0460aca6e8c349eb3d6528111d1dc..4392336d28aa3cc7a767a2e638e2227c16a597f4 100644
|
||||
index 185f7b1d4df59f5db7b85b529a2de6402630bf35..735fe36f35330adb10bb097dd011216c864e9584 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||
@@ -372,7 +372,7 @@ public class Explosion {
|
||||
@@ -382,7 +382,7 @@ public class Explosion {
|
||||
if (!iblockdata.isAir() && iblockdata.isDestroyable()) { // Paper
|
||||
BlockPos blockposition1 = blockposition.immutable();
|
||||
|
||||
@@ -1728,7 +1728,7 @@ index 59837144c2c0460aca6e8c349eb3d6528111d1dc..4392336d28aa3cc7a767a2e638e2227c
|
||||
if (block.dropFromExplosion(this)) {
|
||||
Level world = this.level;
|
||||
|
||||
@@ -394,7 +394,7 @@ public class Explosion {
|
||||
@@ -404,7 +404,7 @@ public class Explosion {
|
||||
|
||||
this.level.setBlock(blockposition, Blocks.AIR.defaultBlockState(), 3);
|
||||
block.wasExploded(this.level, blockposition, this);
|
||||
|
||||
@@ -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 3e304f035b1cd10cc525bfe6e409d61cb47562ee..297bc331795c0b53b4662549fe4a2b7b11979bfe 100644
|
||||
index f3ce7a1b5af187f281e0a3da03494ed323a585f9..11560dc4ab6eb33fcb1ffcfbd49ea663d754fd8a 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -857,6 +857,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -858,6 +858,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
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 3e304f035b1cd10cc525bfe6e409d61cb47562ee..297bc331795c0b53b4662549fe4a2b7b
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1437,8 +1438,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1438,8 +1439,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@Override
|
||||
public void handleMovePlayer(ServerboundMovePlayerPacket packet) {
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel());
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Debug Marker API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index d7d6891e4cffd84409bbb00cfc35868dd282e2bc..d3df075bd335435738d9718b7d3625233f2a5110 100644
|
||||
index 296b74bf4df1de9b353838f16049f7c2caf61eb2..a4f9b118bb2414ddd6a8985cdc47c37dc43432ea 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1442,6 +1442,42 @@ public final class CraftServer implements Server {
|
||||
@@ -1443,6 +1443,42 @@ public final class CraftServer implements Server {
|
||||
public void removeFuel(org.bukkit.Material material) {
|
||||
net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity.removeFuel(net.minecraft.world.item.ItemStack.fromBukkitCopy(new ItemStack(material)));
|
||||
}
|
||||
@@ -52,10 +52,10 @@ index d7d6891e4cffd84409bbb00cfc35868dd282e2bc..d3df075bd335435738d9718b7d362523
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index ada46470d5b774d44b16a6f22fffeae631576690..b5415f0c65db728f4a935b87b54fa14b68d31bc4 100644
|
||||
index c7bf0b4036877745d54908048f92735143c92210..3013aeb442799aba5b2ae45edcb3c2c72a18a740 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -2267,6 +2267,42 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -2253,6 +2253,42 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
public float getLocalDifficultyAt(Location location) {
|
||||
return getHandle().getCurrentDifficultyAt(io.papermc.paper.util.MCUtil.toBlockPosition(location)).getEffectiveDifficulty();
|
||||
}
|
||||
@@ -99,10 +99,10 @@ index ada46470d5b774d44b16a6f22fffeae631576690..b5415f0c65db728f4a935b87b54fa14b
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 133219dae9fb76418c77a18f225aff154b07ebb9..6691b33592466c7088c24b14a2851b17a837d301 100644
|
||||
index 303d1fb7918540ac4324d9d01a6beb70fc37ca5a..a9d0ca15a53fbf227fe3a59406d26c82b5b59396 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3255,5 +3255,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -3263,5 +3263,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) {
|
||||
getHandle().spawnInvulnerableTime = spawnInvulnerableTime;
|
||||
}
|
||||
|
||||
@@ -30,10 +30,10 @@ index 53b75f5737a910ffc5448cd9a85eae57f9c1488f..ea95873dd034779e56a8b924cd27f937
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 6691b33592466c7088c24b14a2851b17a837d301..1ddb96be5644a8af51c2e3677e31773a61033aca 100644
|
||||
index a9d0ca15a53fbf227fe3a59406d26c82b5b59396..f4a341f72d727bbffa4cfcf72eda8ed0c8945c9e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3298,5 +3298,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -3306,5 +3306,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
if (this.getHandle().connection == null) return;
|
||||
this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundCustomPayloadPacket(ClientboundCustomPayloadPacket.DEBUG_GAME_TEST_CLEAR, new FriendlyByteBuf(io.netty.buffer.Unpooled.buffer())));
|
||||
}
|
||||
|
||||
@@ -18,10 +18,10 @@ index 6b05907bfec377e72a8858534d001bda10a1c88a..08bed4f01a27162902aa63bb8d35a915
|
||||
|
||||
if (environment.includeIntegrated) {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index ac63f8d93048a0e61f1e27abb4cc5e2b5cc5208e..be8bb3f48971e76a3637b9da0706281f352c318b 100644
|
||||
index 15ec63fab5468bbfbfeefdf5475305fdf64b2b33..116cd0204177c313a4e15765340da2c97913bd77 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -277,6 +277,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -279,6 +279,7 @@ public class ServerPlayer extends Player {
|
||||
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
|
||||
public boolean purpurClient = false; // Purpur
|
||||
public boolean acceptingResourcePack = false; // Purpur
|
||||
@@ -29,7 +29,7 @@ index ac63f8d93048a0e61f1e27abb4cc5e2b5cc5208e..be8bb3f48971e76a3637b9da0706281f
|
||||
private boolean tpsBar = false; // Purpur
|
||||
private boolean compassBar = false; // Purpur
|
||||
|
||||
@@ -518,6 +519,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -520,6 +521,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ index ac63f8d93048a0e61f1e27abb4cc5e2b5cc5208e..be8bb3f48971e76a3637b9da0706281f
|
||||
if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur
|
||||
if (nbt.contains("Purpur.CompassBar")) { this.compassBar = nbt.getBoolean("Purpur.CompassBar"); } // Purpur
|
||||
}
|
||||
@@ -586,6 +588,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -588,6 +590,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
this.getBukkitEntity().setExtraData(nbt); // CraftBukkit
|
||||
|
||||
@@ -45,7 +45,7 @@ index ac63f8d93048a0e61f1e27abb4cc5e2b5cc5208e..be8bb3f48971e76a3637b9da0706281f
|
||||
nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur
|
||||
nbt.putBoolean("Purpur.CompassBar", this.compassBar); // Purpur
|
||||
}
|
||||
@@ -2695,6 +2698,14 @@ public class ServerPlayer extends Player {
|
||||
@@ -2708,6 +2711,14 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ index ac63f8d93048a0e61f1e27abb4cc5e2b5cc5208e..be8bb3f48971e76a3637b9da0706281f
|
||||
return this.tpsBar;
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 2de8d543def43b39007c672f783539ca7671e7cb..ebfd0b9c713df5074ac47b2cb94cee356b4e3f4b 100644
|
||||
index 3bfa8021a7da677fd15d3f2827b271fe17f514a1..82cf79cffbc961dc1db43a4afc6eb1efb5bfe297 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -181,6 +181,8 @@ public class PurpurConfig {
|
||||
|
||||
@@ -48,10 +48,10 @@ index 2bd58d13d4c48fdddee56e2b417b68fe15072386..beb05039926e1fb7a656dfcd0c503f82
|
||||
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 08f0ca65246ad2d4057bb6bab9b16d19e4d6a7e6..5f868d5ea8c3b42fa3e6f519122c751cee89d8f2 100644
|
||||
index 11560dc4ab6eb33fcb1ffcfbd49ea663d754fd8a..af8cb1f1f0c128923495f51e4828003133ce766b 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -3448,6 +3448,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -3454,6 +3454,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Language API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 5e7162866530c323f50ea99183757622cc6b2b97..b4d174e3603a45f768add973796d603f4ed8f976 100644
|
||||
index a4f9b118bb2414ddd6a8985cdc47c37dc43432ea..e5bac6bc792196226f975e7f3dd8f147fb14dbad 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -316,6 +316,20 @@ public final class CraftServer implements Server {
|
||||
@@ -317,6 +317,20 @@ public final class CraftServer implements Server {
|
||||
this.structureManager = new CraftStructureManager(console.getStructureManager());
|
||||
|
||||
Bukkit.setServer(this);
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fire Immunity API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 55116e7a7b70a6f9db187ac7ef0747fe5100cacd..c4cfbf008bc07074664b9310d5ff7b750bb98e96 100644
|
||||
index def4a9fd76b99f4f30fc2f9551cb6b283035cc88..d18304939e062453cf8ca7d6c1b377930f69174e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -399,6 +399,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -400,6 +400,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
private UUID originWorld;
|
||||
public boolean freezeLocked = false; // Paper - Freeze Tick Lock API
|
||||
public boolean collidingWithWorldBorder; // Paper
|
||||
@@ -16,7 +16,7 @@ index 55116e7a7b70a6f9db187ac7ef0747fe5100cacd..c4cfbf008bc07074664b9310d5ff7b75
|
||||
|
||||
public void setOrigin(@javax.annotation.Nonnull Location location) {
|
||||
this.origin = location.toVector();
|
||||
@@ -1676,7 +1677,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -1677,7 +1678,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
public boolean fireImmune() {
|
||||
@@ -25,7 +25,7 @@ index 55116e7a7b70a6f9db187ac7ef0747fe5100cacd..c4cfbf008bc07074664b9310d5ff7b75
|
||||
}
|
||||
|
||||
public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) {
|
||||
@@ -2338,6 +2339,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2339,6 +2340,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
nbt.putBoolean("Paper.FreezeLock", true);
|
||||
}
|
||||
// Paper end
|
||||
@@ -37,7 +37,7 @@ index 55116e7a7b70a6f9db187ac7ef0747fe5100cacd..c4cfbf008bc07074664b9310d5ff7b75
|
||||
return nbt;
|
||||
} catch (Throwable throwable) {
|
||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
|
||||
@@ -2506,6 +2512,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2507,6 +2513,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
freezeLocked = nbt.getBoolean("Paper.FreezeLock");
|
||||
}
|
||||
// Paper end
|
||||
@@ -50,7 +50,7 @@ index 55116e7a7b70a6f9db187ac7ef0747fe5100cacd..c4cfbf008bc07074664b9310d5ff7b75
|
||||
} catch (Throwable throwable) {
|
||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT");
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 0db19dfbec593b9fd6f22970960fbe967bd7c280..9f1017e2e51bd6e0c9a6a59663e1acbf17675f3b 100644
|
||||
index bdb6485b7b3544e1b264a44ae919277221ce11ba..97ea9612343e4288decd8daa9327a7e781877a8e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -1473,5 +1473,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn on nether ceiling damage
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index c4cfbf008bc07074664b9310d5ff7b750bb98e96..b2ee73a2ef6042694ca84c27d592e5fb13b4a0fe 100644
|
||||
index d18304939e062453cf8ca7d6c1b377930f69174e..f31f4ecf8fb07f6cf01eea0aa14f5d454a4ce2a3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -898,6 +898,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -899,6 +899,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
&& this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v)
|
||||
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
|
||||
// Paper end
|
||||
@@ -17,7 +17,7 @@ index c4cfbf008bc07074664b9310d5ff7b750bb98e96..b2ee73a2ef6042694ca84c27d592e5fb
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index e3b81cc53213f9b6404abf5e3478e3abfdf0a9c2..4594b47bea1db94d84e7a902b3b7ea1e10d36545 100644
|
||||
index 9c364e2c687e9708b391cd319203636ebaacb3da..3b1e8d6e9b0a7fc5dddd2f033819c1bfe2410212 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -421,6 +421,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: RednedEpic <redned235@gmail.com>
|
||||
Date: Thu, 27 Apr 2023 23:09:13 -0700
|
||||
Subject: [PATCH] PaperPR #9149 Flush region files on save
|
||||
|
||||
|
||||
diff --git a/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java b/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java
|
||||
index 830d863cd9665d58875bfa5ca2bcd22f89ab2d49..51018f8b7176c72231fc0d0c23878659ab5c1b5b 100644
|
||||
--- a/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java
|
||||
+++ b/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java
|
||||
@@ -257,6 +257,11 @@ public final class ChunkHolderManager {
|
||||
}
|
||||
if (flush) {
|
||||
RegionFileIOThread.flush();
|
||||
+ try {
|
||||
+ this.world.chunkSource.chunkMap.regionFileCache.flush();
|
||||
+ } catch (IOException ex) {
|
||||
+ LOGGER.error("Exception when flushing regions in world {}", this.world.getWorld().getName(), ex);
|
||||
+ }
|
||||
}
|
||||
if (logProgress) {
|
||||
LOGGER.info("Saved " + savedChunk + " block chunks, " + savedEntity + " entity chunks, " + savedPoi + " poi chunks in world '" + this.world.getWorld().getName() + "' in " + format.format(1.0E-9 * (System.nanoTime() - start)) + "s");
|
||||
Reference in New Issue
Block a user