9
0
mirror of https://github.com/BX-Team/DivineMC.git synced 2025-12-21 07:49:18 +00:00

Updated Upstream (Purpur)

Upstream has released updates that appear to apply and compile correctly

Purpur Changes:
PurpurMC/Purpur@efc76215 Add missing copper blocks to waxables and weatherables options (#1712)
PurpurMC/Purpur@3ca0d663 Updated Upstream (Paper)
PurpurMC/Purpur@917675d0 Updated Upstream (Paper)
PurpurMC/Purpur@ffe2f809 Add option to disable Warden Sonic Boom (#1713)
This commit is contained in:
NONPLAYT
2025-10-28 03:51:29 +03:00
parent 8e7f6c59e8
commit d9c4e8a199
97 changed files with 177 additions and 291 deletions

View File

@@ -114,17 +114,17 @@
options.isDocFilesSubDirs = true options.isDocFilesSubDirs = true
options.links( options.links(
- "https://guava.dev/releases/33.3.1-jre/api/docs/", - "https://guava.dev/releases/33.3.1-jre/api/docs/",
- //"https://javadoc.io/doc/org.yaml/snakeyaml/2.2/", - "https://www.javadocs.dev/org.yaml/snakeyaml/2.2/",
+ "https://guava.dev/releases/33.4.0-jre/api/docs/", // DivineMC - Bump dependencies + "https://guava.dev/releases/33.4.0-jre/api/docs/", // DivineMC - Bump dependencies
+ "https://javadoc.io/doc/org.yaml/snakeyaml/2.3/", // DivineMC - Bump dependencies + "https://javadoc.io/doc/org.yaml/snakeyaml/2.3/", // DivineMC - Bump dependencies
//"https://javadoc.io/doc/org.jetbrains/annotations/$annotationsVersion/", "https://www.javadocs.dev/org.jetbrains/annotations/$annotationsVersion/",
//"https://javadoc.io/doc/org.joml/joml/1.10.8/", "https://www.javadocs.dev/org.joml/joml/1.10.8/",
//"https://www.javadoc.io/doc/com.google.code.gson/gson/2.11.0", "https://www.javadocs.dev/com.google.code.gson/gson/2.11.0",
@@ -197,7 +_,7 @@ @@ -197,7 +_,7 @@
"https://jd.advntr.dev/text-logger-slf4j/$adventureVersion/", "https://jd.advntr.dev/text-logger-slf4j/$adventureVersion/",
//"https://javadoc.io/doc/org.slf4j/slf4j-api/$slf4jVersion/", "https://www.javadocs.dev/org.slf4j/slf4j-api/$slf4jVersion/",
"https://logging.apache.org/log4j/2.x/javadoc/log4j-api/", "https://logging.apache.org/log4j/2.x/javadoc/log4j-api/",
- //"https://javadoc.io/doc/org.apache.maven.resolver/maven-resolver-api/1.7.3", - "https://www.javadocs.dev/org.apache.maven.resolver/maven-resolver-api/1.7.3",
+ "https://javadoc.io/doc/org.apache.maven.resolver/maven-resolver-api/1.9.22", // DivineMC - Bump dependencies + "https://javadoc.io/doc/org.apache.maven.resolver/maven-resolver-api/1.9.22", // DivineMC - Bump dependencies
) )
options.tags("apiNote:a:API Note:") options.tags("apiNote:a:API Note:")

View File

@@ -39,10 +39,10 @@ index fbee4ab2faaeba8d798aaba2e1837315ed56a184..581d71e716e8ecfe9ab2c4d3947c86c6
+ // DivineMC end - Extend Sound API + // DivineMC end - Extend Sound API
} }
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
index 995e419ae77afad15aa2729277f81016f382e543..dfd6138ad4040eedd1b413c9c6087071afd6af84 100644 index 84569b53a4e39a2a642a8f0638f8970fb0cb8b0f..9bf0c54bbc89a9c6aa4f00424628786679b56937 100644
--- a/src/main/java/org/bukkit/entity/Entity.java --- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -1316,4 +1316,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent @@ -1361,4 +1361,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
*/ */
void setImmuneToFire(@Nullable Boolean fireImmune); void setImmuneToFire(@Nullable Boolean fireImmune);
// Purpur end - Fire Immunity API // Purpur end - Fire Immunity API

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Paper PR: Player standing on position API
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
index 116428b3482871c4f26c7244bb8b5a0dd846192e..817f3891bb057791117145f26ab63a186ad6689d 100644 index 9bf0c54bbc89a9c6aa4f00424628786679b56937..3e5a671edc77a1ba4b70e5938d9d178a8075a1a3 100644
--- a/src/main/java/org/bukkit/entity/Entity.java --- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -1262,6 +1262,33 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent @@ -1307,6 +1307,33 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
void broadcastHurtAnimation(@NotNull java.util.Collection<Player> players); void broadcastHurtAnimation(@NotNull java.util.Collection<Player> players);
// Paper end - broadcast hurt animation // Paper end - broadcast hurt animation

View File

@@ -1,29 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: NONPLAYT <76615486+NONPLAYT@users.noreply.github.com>
Date: Sun, 29 Jun 2025 15:08:59 +0300
Subject: [PATCH] Smooth teleport API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index b221735602f669ef984b44d73605095460316753..8f627547e05242314f34b876fda0b4121ef3e32f 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -4122,4 +4122,18 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
sendDeathScreen(message);
}
// Purpur end
+
+ // DivineMC start - Smooth teleport API
+ /**
+ * This abuses some of how Minecraft works and attempts to teleport a player to another world without
+ * triggering typical respawn packets. All of natural state of chunk resends, entity adds/removes, etc still
+ * happen but the visual "refresh" of a world change is hidden. Depending on the destination location/world,
+ * this can act as a "smooth teleport" to a world if the new world is very similar looking to the old one.
+ *
+ * @param location New location to teleport this Player to
+ * @return Whether the teleport was successful
+ */
+ @org.jetbrains.annotations.ApiStatus.Experimental
+ boolean teleportWithoutRespawn(Location location);
+ // DivineMC end - Smooth teleport API
}

View File

@@ -13,7 +13,7 @@ This patch does not add any API that should be used by plugins. Any
classes and methods added by this patch should NOT be used in plugins. classes and methods added by this patch should NOT be used in plugins.
diff --git a/src/main/java/org/bukkit/map/MapPalette.java b/src/main/java/org/bukkit/map/MapPalette.java diff --git a/src/main/java/org/bukkit/map/MapPalette.java b/src/main/java/org/bukkit/map/MapPalette.java
index 477b8cd1820259bc3726fed7674402a9e705e681..849edf46647cac386338382388291ac442918e85 100644 index 76ae2750ff7b04a281d4b794dc1f48dd832db2b6..5159fb17dd131b4bc5512c4b250d33cae1cb5b49 100644
--- a/src/main/java/org/bukkit/map/MapPalette.java --- a/src/main/java/org/bukkit/map/MapPalette.java
+++ b/src/main/java/org/bukkit/map/MapPalette.java +++ b/src/main/java/org/bukkit/map/MapPalette.java
@@ -35,7 +35,7 @@ public final class MapPalette { @@ -35,7 +35,7 @@ public final class MapPalette {

View File

@@ -7,7 +7,7 @@
+val bxTeamMavenPublicUrl = "https://repo.bxteam.org/snapshots/" +val bxTeamMavenPublicUrl = "https://repo.bxteam.org/snapshots/"
dependencies { dependencies {
mache("io.papermc:mache:1.21.10+build.4") mache("io.papermc:mache:1.21.10+build.7")
@@ -26,6 +_,7 @@ @@ -26,6 +_,7 @@
// Purpur start - Rebrand // Purpur start - Rebrand

View File

@@ -1537,7 +1537,7 @@ index b8b641caf8b82f4071bfeff37d50ef65ff2a0505..d182aafc4c8b4ea657ec3228c45fb29f
for (Entity entity : passengerEntity.getPassengers()) { for (Entity entity : passengerEntity.getPassengers()) {
this.tickPassenger(passengerEntity, entity, isActive); // Paper - EAR 2 this.tickPassenger(passengerEntity, entity, isActive); // Paper - EAR 2
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index a5fbd6140cd7564afeab6b5f60a7409dd567efd1..507b5cba7b67752e33e04d53a25f437fc451dae5 100644 index 6836632940a8831f9020443d1c8a930e22fc054a..43cb158bee132cce0f3b09e31bc8ac83245ed3ea 100644
--- a/net/minecraft/server/level/ServerPlayer.java --- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java
@@ -110,8 +110,6 @@ import net.minecraft.util.Mth; @@ -110,8 +110,6 @@ import net.minecraft.util.Mth;
@@ -1549,22 +1549,20 @@ index a5fbd6140cd7564afeab6b5f60a7409dd567efd1..507b5cba7b67752e33e04d53a25f437f
import net.minecraft.world.Container; import net.minecraft.world.Container;
import net.minecraft.world.Difficulty; import net.minecraft.world.Difficulty;
import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionHand;
@@ -1560,14 +1558,10 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc @@ -1568,20 +1566,15 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
this.portalProcess = null; // SPIGOT-7785: there is no need to carry this over as it contains the old world/location and we might run into trouble if there is a portal in the same spot in both worlds
serverLevel.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION);
this.unsetRemoved(); this.unsetRemoved();
*/
// CraftBukkit end
- ProfilerFiller profilerFiller = Profiler.get(); - ProfilerFiller profilerFiller = Profiler.get();
- profilerFiller.push("moving"); - profilerFiller.push("moving");
if (level != null && resourceKey == net.minecraft.world.level.dimension.LevelStem.OVERWORLD && level.getTypeKey() == net.minecraft.world.level.dimension.LevelStem.NETHER) { // CraftBukkit - empty to fall through to null to event if (resourceKey == net.minecraft.world.level.dimension.LevelStem.OVERWORLD && level.getTypeKey() == net.minecraft.world.level.dimension.LevelStem.NETHER) { // CraftBukkit - empty to fall through to null to event
this.enteredNetherPosition = this.position(); this.enteredNetherPosition = this.position();
} }
- profilerFiller.pop(); - profilerFiller.pop();
- profilerFiller.push("placing"); - profilerFiller.push("placing");
// CraftBukkit start this.portalPos = org.bukkit.craftbukkit.util.CraftLocation.toBlockPosition(exit); // Purpur - Fix stuck in portals
this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds this.setServerLevel(level);
LevelData worlddata = level.getLevelData();
@@ -1585,7 +1579,6 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
this.connection.internalTeleport(PositionMoveRotation.of(teleportTransition), teleportTransition.relatives()); // CraftBukkit - use internal teleport without event this.connection.internalTeleport(PositionMoveRotation.of(teleportTransition), teleportTransition.relatives()); // CraftBukkit - use internal teleport without event
this.connection.resetPosition(); this.connection.resetPosition();
level.addDuringTeleport(this); level.addDuringTeleport(this);
@@ -1799,7 +1797,7 @@ index 39a604c9a53930b53d959b1d2eb504aa964e9a58..0d0380e3955836ce125f777841477503
@Override @Override
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3c8e8bb75 100644 index e162b53f54c47ad29c80c39a14493a0fbf59dd12..36d1fd45772240aa963fcad67f15f37fc35d591f 100644
--- a/net/minecraft/world/entity/Entity.java --- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java
@@ -82,8 +82,6 @@ import net.minecraft.util.RandomSource; @@ -82,8 +82,6 @@ import net.minecraft.util.RandomSource;
@@ -1811,7 +1809,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult; import net.minecraft.world.InteractionResult;
import net.minecraft.world.Nameable; import net.minecraft.world.Nameable;
@@ -880,8 +878,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -879,8 +877,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
// CraftBukkit end // CraftBukkit end
public void baseTick() { public void baseTick() {
@@ -1820,7 +1818,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Prevent entity loading causing async lookups if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Prevent entity loading causing async lookups
this.inBlockState = null; this.inBlockState = null;
if (this.isPassenger() && this.getVehicle().isRemoved()) { if (this.isPassenger() && this.getVehicle().isRemoved()) {
@@ -935,8 +931,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -934,8 +930,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
if (this.level() instanceof ServerLevel serverLevelx && this instanceof Leashable) { if (this.level() instanceof ServerLevel serverLevelx && this instanceof Leashable) {
Leashable.tickLeash(serverLevelx, (Entity & Leashable)this); Leashable.tickLeash(serverLevelx, (Entity & Leashable)this);
} }
@@ -1829,7 +1827,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
} }
public void setSharedFlagOnFire(boolean isOnFire) { public void setSharedFlagOnFire(boolean isOnFire) {
@@ -1162,8 +1156,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -1161,8 +1155,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
} }
} }
@@ -1838,7 +1836,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7) { if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7) {
if (type != MoverType.PISTON) { if (type != MoverType.PISTON) {
movement = movement.multiply(this.stuckSpeedMultiplier); movement = movement.multiply(this.stuckSpeedMultiplier);
@@ -1175,7 +1167,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -1174,7 +1166,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
// Paper start - ignore movement changes while inactive. // Paper start - ignore movement changes while inactive.
if (isTemporarilyActive && !(this instanceof ItemEntity) && movement == getDeltaMovement() && type == MoverType.SELF) { if (isTemporarilyActive && !(this instanceof ItemEntity) && movement == getDeltaMovement() && type == MoverType.SELF) {
setDeltaMovement(Vec3.ZERO); setDeltaMovement(Vec3.ZERO);
@@ -1846,7 +1844,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
return; return;
} }
// Paper end // Paper end
@@ -1200,8 +1191,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -1199,8 +1190,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
this.setPos(vec33); this.setPos(vec33);
} }
@@ -1855,7 +1853,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
boolean flag = !Mth.equal(movement.x, vec3.x); boolean flag = !Mth.equal(movement.x, vec3.x);
boolean flag1 = !Mth.equal(movement.z, vec3.z); boolean flag1 = !Mth.equal(movement.z, vec3.z);
this.horizontalCollision = flag || flag1; this.horizontalCollision = flag || flag1;
@@ -1224,7 +1213,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -1223,7 +1212,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
} }
if (this.isRemoved()) { if (this.isRemoved()) {
@@ -1863,7 +1861,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
} else { } else {
if (this.horizontalCollision) { if (this.horizontalCollision) {
Vec3 deltaMovement = this.getDeltaMovement(); Vec3 deltaMovement = this.getDeltaMovement();
@@ -1268,7 +1256,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -1267,7 +1255,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
float blockSpeedFactor = this.getBlockSpeedFactor(); float blockSpeedFactor = this.getBlockSpeedFactor();
this.setDeltaMovement(this.getDeltaMovement().multiply(blockSpeedFactor, 1.0, blockSpeedFactor)); this.setDeltaMovement(this.getDeltaMovement().multiply(blockSpeedFactor, 1.0, blockSpeedFactor));
@@ -1871,7 +1869,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
} }
} }
// Paper start - detailed watchdog information // Paper start - detailed watchdog information
@@ -3540,8 +3527,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -3532,8 +3519,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
this.processPortalCooldown(); this.processPortalCooldown();
if (this.portalProcess != null) { if (this.portalProcess != null) {
if (this.portalProcess.processPortalTeleportation(serverLevel, this, this.canUsePortal(false))) { if (this.portalProcess.processPortalTeleportation(serverLevel, this, this.canUsePortal(false))) {
@@ -1880,7 +1878,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
this.setPortalCooldown(); this.setPortalCooldown();
TeleportTransition portalDestination = this.portalProcess.getPortalDestination(serverLevel, this); TeleportTransition portalDestination = this.portalProcess.getPortalDestination(serverLevel, this);
if (portalDestination != null) { if (portalDestination != null) {
@@ -3551,8 +3536,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -3543,8 +3528,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
this.teleport(portalDestination); this.teleport(portalDestination);
} }
} }
@@ -1889,7 +1887,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
} else if (this.portalProcess.hasExpired()) { } else if (this.portalProcess.hasExpired()) {
this.portalProcess = null; this.portalProcess = null;
} }
@@ -4119,15 +4102,12 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -4111,15 +4094,12 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
entity.teleport(this.calculatePassengerTransition(teleportTransition, entity)); entity.teleport(this.calculatePassengerTransition(teleportTransition, entity));
} }
@@ -1905,7 +1903,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
return this; return this;
} }
@@ -4144,11 +4124,8 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -4136,11 +4116,8 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
} }
} }
@@ -1917,7 +1915,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
return null; return null;
} else { } else {
// Paper start - Fix item duplication and teleport issues // Paper start - Fix item duplication and teleport issues
@@ -4168,7 +4145,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -4160,7 +4137,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
newLevel.resetEmptyTime(); newLevel.resetEmptyTime();
teleportTransition.postTeleportTransition().onTransition(entityx); teleportTransition.postTeleportTransition().onTransition(entityx);
this.teleportSpectators(teleportTransition, oldLevel); this.teleportSpectators(teleportTransition, oldLevel);

View File

@@ -1,49 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: NONPLAYT <76615486+NONPLAYT@users.noreply.github.com>
Date: Sun, 29 Jun 2025 15:12:40 +0300
Subject: [PATCH] Smooth teleport API
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index 161dbd49495c33fb938a6312b6e24912474864c5..dd933185b1afadae52b51c95bb566bb453a9bfed 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -443,6 +443,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
private boolean tpsBar = false; // Purpur - Implement TPSBar
private boolean compassBar = false; // Purpur - Add compass command
private boolean ramBar = false; // Purpur - Implement rambar commands
+ public boolean smoothWorldTeleport; // DivineMC - Smooth teleport API
// Paper start - rewrite chunk system
private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index 79210997e56ec6798d249608049e108724670cde..6c6213323df278391b30dd9f22c408a34ec052c8 100644
--- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java
@@ -664,11 +664,11 @@ public abstract class PlayerList {
byte b = (byte)(keepInventory ? 1 : 0);
ServerLevel serverLevel = serverPlayer.level();
LevelData levelData = serverLevel.getLevelData();
- serverPlayer.connection.send(new ClientboundRespawnPacket(serverPlayer.createCommonSpawnInfo(serverLevel), b));
+ if (!serverPlayer.smoothWorldTeleport || !isSameLogicalHeight((ServerLevel) fromWorld, level)) serverPlayer.connection.send(new ClientboundRespawnPacket(serverPlayer.createCommonSpawnInfo(serverLevel), b)); // DivineMC - Smooth teleport API
// serverPlayer.connection.teleport(serverPlayer.getX(), serverPlayer.getY(), serverPlayer.getZ(), serverPlayer.getYRot(), serverPlayer.getXRot());
serverPlayer.connection.send(new ClientboundSetChunkCacheRadiusPacket(serverLevel.spigotConfig.viewDistance)); // Spigot
serverPlayer.connection.send(new ClientboundSetSimulationDistancePacket(serverLevel.spigotConfig.simulationDistance)); // Spigot
- serverPlayer.connection.teleport(org.bukkit.craftbukkit.util.CraftLocation.toBukkit(serverPlayer.position(), serverLevel, serverPlayer.getYRot(), serverPlayer.getXRot())); // CraftBukkit
+ if (!serverPlayer.smoothWorldTeleport || !isSameLogicalHeight((ServerLevel) fromWorld, level)) serverPlayer.connection.teleport(org.bukkit.craftbukkit.util.CraftLocation.toBukkit(serverPlayer.position(), serverLevel, serverPlayer.getYRot(), serverPlayer.getXRot())); // DivineMC - Smooth teleport API
serverPlayer.connection.send(new ClientboundSetDefaultSpawnPositionPacket(level.getRespawnData()));
serverPlayer.connection.send(new ClientboundChangeDifficultyPacket(levelData.getDifficulty(), levelData.isDifficultyLocked()));
serverPlayer.connection
@@ -756,6 +756,12 @@ public abstract class PlayerList {
return serverPlayer;
}
+ // DivineMC start - Smooth teleport API
+ public static boolean isSameLogicalHeight(ServerLevel fromLevel, ServerLevel toLevel) {
+ return fromLevel.getLogicalHeight() == toLevel.getLogicalHeight();
+ }
+ // DivineMC end - Smooth teleport API
+
public void sendActivePlayerEffects(ServerPlayer player) {
this.sendActiveEffects(player, player.connection);
}

View File

@@ -11,7 +11,7 @@ As part of: Lithium (https://github.com/CaffeineMC/lithium)
Licensed under: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html) Licensed under: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html)
diff --git a/net/minecraft/core/Direction.java b/net/minecraft/core/Direction.java diff --git a/net/minecraft/core/Direction.java b/net/minecraft/core/Direction.java
index 6e2b67350dd23a76a9f702ed192c8ae064d13915..f89d261b5ddd8413bc82eeade26a180010b5d6b1 100644 index cbb743ce94f08b624a64555d057ed04286094ba9..15360c644f559f16c319ddd10f6171a9b9cc7ac4 100644
--- a/net/minecraft/core/Direction.java --- a/net/minecraft/core/Direction.java
+++ b/net/minecraft/core/Direction.java +++ b/net/minecraft/core/Direction.java
@@ -225,7 +225,7 @@ public enum Direction implements StringRepresentable, ca.spottedleaf.moonrise.pa @@ -225,7 +225,7 @@ public enum Direction implements StringRepresentable, ca.spottedleaf.moonrise.pa
@@ -33,7 +33,7 @@ index 6e2b67350dd23a76a9f702ed192c8ae064d13915..f89d261b5ddd8413bc82eeade26a1800
public static Direction getApproximateNearest(double x, double y, double z) { public static Direction getApproximateNearest(double x, double y, double z) {
diff --git a/net/minecraft/world/phys/AABB.java b/net/minecraft/world/phys/AABB.java diff --git a/net/minecraft/world/phys/AABB.java b/net/minecraft/world/phys/AABB.java
index 9987e2e8278cd43c6c52063132670486ac189677..5f745afa7f30cd61e45d60d877e13c50cf818de7 100644 index 529bd339441fde279ed81573ca5339a0837b3b87..b26ea727a7867a74edd7b0fb60965fe9c2fcb474 100644
--- a/net/minecraft/world/phys/AABB.java --- a/net/minecraft/world/phys/AABB.java
+++ b/net/minecraft/world/phys/AABB.java +++ b/net/minecraft/world/phys/AABB.java
@@ -19,6 +19,15 @@ public class AABB { @@ -19,6 +19,15 @@ public class AABB {

View File

@@ -11,7 +11,7 @@ As part of: C2ME-fabric (https://github.com/RelativityMC/C2ME-fabric)
Licensed under: MIT Licensed under: MIT
diff --git a/net/minecraft/world/level/ChunkPos.java b/net/minecraft/world/level/ChunkPos.java diff --git a/net/minecraft/world/level/ChunkPos.java b/net/minecraft/world/level/ChunkPos.java
index 4caaed6d36a6d12279d68e974a2e8381ba84a951..16b5dac678790cebc8fb577fa2f1c7a05aaeb85b 100644 index caf11fdedb5c390e1241bccbffee22610933b970..26b669942560e0e93d662e9d4016aa8275976f06 100644
--- a/net/minecraft/world/level/ChunkPos.java --- a/net/minecraft/world/level/ChunkPos.java
+++ b/net/minecraft/world/level/ChunkPos.java +++ b/net/minecraft/world/level/ChunkPos.java
@@ -110,7 +110,12 @@ public class ChunkPos { @@ -110,7 +110,12 @@ public class ChunkPos {
@@ -50,7 +50,7 @@ index 5e1d88ef91e585a34e9213da923df796dd866e03..c9ddfc8670614c2d8629066b0cc805d1
private static double getBeardContribution(int x, int y, int z, int height) { private static double getBeardContribution(int x, int y, int z, int height) {
diff --git a/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java b/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java diff --git a/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java b/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java
index 199a9c4fba5fc80f04524a188270fdc9014f7950..952d00151cc6c295f37bcc499ddcb8155185c79c 100644 index 576749f5088e6ec49a79b440aa109822e0be33c8..b888a834e4849f326e94e02623e8015a775d4286 100644
--- a/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java --- a/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java
+++ b/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java +++ b/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java
@@ -73,7 +73,10 @@ public final class NoiseBasedChunkGenerator extends ChunkGenerator { @@ -73,7 +73,10 @@ public final class NoiseBasedChunkGenerator extends ChunkGenerator {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Disable leaf decay
diff --git a/net/minecraft/world/level/block/LeavesBlock.java b/net/minecraft/world/level/block/LeavesBlock.java diff --git a/net/minecraft/world/level/block/LeavesBlock.java b/net/minecraft/world/level/block/LeavesBlock.java
index 010e9814490ffaa153df5b7865da17e2a84c7e82..f43dbc0fc05f549521490595fe594c424b2e8a87 100644 index 66be73fe9ad14646057fa51b7c537a86c1e84ab9..4371fd03e4b5bd3a18024e0a9ee0e75cd77137e9 100644
--- a/net/minecraft/world/level/block/LeavesBlock.java --- a/net/minecraft/world/level/block/LeavesBlock.java
+++ b/net/minecraft/world/level/block/LeavesBlock.java +++ b/net/minecraft/world/level/block/LeavesBlock.java
@@ -70,12 +70,29 @@ public abstract class LeavesBlock extends Block implements SimpleWaterloggedBloc @@ -70,12 +70,29 @@ public abstract class LeavesBlock extends Block implements SimpleWaterloggedBloc

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Optimize entities
diff --git a/net/minecraft/world/entity/AgeableMob.java b/net/minecraft/world/entity/AgeableMob.java diff --git a/net/minecraft/world/entity/AgeableMob.java b/net/minecraft/world/entity/AgeableMob.java
index 065553a549e54492e8fe42fe7dc61d11ac8da6ef..402955e7042f01bdb8296a43bcca52dbb3a224c1 100644 index 0adfd1cd5c21f8a7823cd1bf7c9aa91dd2654150..ad1ebec9d47a4f70b51259cd5ad8a6e7d38e1a4f 100644
--- a/net/minecraft/world/entity/AgeableMob.java --- a/net/minecraft/world/entity/AgeableMob.java
+++ b/net/minecraft/world/entity/AgeableMob.java +++ b/net/minecraft/world/entity/AgeableMob.java
@@ -126,6 +126,16 @@ public abstract class AgeableMob extends PathfinderMob { @@ -126,6 +126,16 @@ public abstract class AgeableMob extends PathfinderMob {
@@ -26,10 +26,10 @@ index 065553a549e54492e8fe42fe7dc61d11ac8da6ef..402955e7042f01bdb8296a43bcca52db
super.onSyncedDataUpdated(key); super.onSyncedDataUpdated(key);
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 79d224baca372cb1b6b89f7fcb63c5fe3707adb5..b5004de3ca8951a5884a3b62b129aa2588a67af7 100644 index 36d1fd45772240aa963fcad67f15f37fc35d591f..6b5b01b9525f51fe02f03f7249517599d1ba1945 100644
--- a/net/minecraft/world/entity/Entity.java --- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java
@@ -1712,6 +1712,10 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -1711,6 +1711,10 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
private int checkInsideBlocks(Vec3 from, Vec3 to, InsideBlockEffectApplier.StepBasedCollector stepBasedCollector, LongSet visited, int maxSteps) { private int checkInsideBlocks(Vec3 from, Vec3 to, InsideBlockEffectApplier.StepBasedCollector stepBasedCollector, LongSet visited, int maxSteps) {
AABB aabb = this.makeBoundingBox(to).deflate(1.0E-5F); AABB aabb = this.makeBoundingBox(to).deflate(1.0E-5F);
@@ -40,7 +40,7 @@ index 79d224baca372cb1b6b89f7fcb63c5fe3707adb5..b5004de3ca8951a5884a3b62b129aa25
boolean flag = from.distanceToSqr(to) > Mth.square(0.9999900000002526); boolean flag = from.distanceToSqr(to) > Mth.square(0.9999900000002526);
boolean flag1 = this.level instanceof ServerLevel serverLevel boolean flag1 = this.level instanceof ServerLevel serverLevel
&& serverLevel.getServer().debugSubscribers().hasAnySubscriberFor(DebugSubscriptions.ENTITY_BLOCK_INTERSECTIONS); && serverLevel.getServer().debugSubscribers().hasAnySubscriberFor(DebugSubscriptions.ENTITY_BLOCK_INTERSECTIONS);
@@ -1727,7 +1731,21 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -1726,7 +1730,21 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
return false; return false;
} else { } else {
atomicInteger.set(index); atomicInteger.set(index);
@@ -512,7 +512,7 @@ index 5b0cadd2544fb2a627822e645ff32fec2e9cfda9..02508662c722a515cfd78f872c8ba8bb
public static enum Status { public static enum Status {
STOPPED, STOPPED,
diff --git a/net/minecraft/world/entity/ai/behavior/LongJumpToRandomPos.java b/net/minecraft/world/entity/ai/behavior/LongJumpToRandomPos.java diff --git a/net/minecraft/world/entity/ai/behavior/LongJumpToRandomPos.java b/net/minecraft/world/entity/ai/behavior/LongJumpToRandomPos.java
index 977afa268838304abdb34be253ca36ac1c22e99f..9fdb2ce7b72d0a10c2148027990a0048ca93f976 100644 index 2e0651e15a512a817e38a896e04621de2746f2dc..7f961f772a58d7e4ce840ca1907d9947ff5d59cc 100644
--- a/net/minecraft/world/entity/ai/behavior/LongJumpToRandomPos.java --- a/net/minecraft/world/entity/ai/behavior/LongJumpToRandomPos.java
+++ b/net/minecraft/world/entity/ai/behavior/LongJumpToRandomPos.java +++ b/net/minecraft/world/entity/ai/behavior/LongJumpToRandomPos.java
@@ -119,6 +119,12 @@ public class LongJumpToRandomPos<E extends Mob> extends Behavior<E> { @@ -119,6 +119,12 @@ public class LongJumpToRandomPos<E extends Mob> extends Behavior<E> {
@@ -605,7 +605,7 @@ index 24d1928445b5571e040a2b12d5c82e77a880d9bd..dac0a23aebf2dea1972c07d5c82079da
private boolean isVillagerBaby(LivingEntity livingEntity) { private boolean isVillagerBaby(LivingEntity livingEntity) {
return livingEntity.getType() == EntityType.VILLAGER && livingEntity.isBaby(); return livingEntity.getType() == EntityType.VILLAGER && livingEntity.isBaby();
diff --git a/net/minecraft/world/entity/animal/goat/Goat.java b/net/minecraft/world/entity/animal/goat/Goat.java diff --git a/net/minecraft/world/entity/animal/goat/Goat.java b/net/minecraft/world/entity/animal/goat/Goat.java
index 80714e2a6e74047af89680c261e2dbc097d86062..73fe7a8c216aed7dc2274fd53fb126d85ec5137d 100644 index 7ed4685600fb0d03d90e4b7e6044ee8c466ecd72..58ee22461c0330e2fbbbf283c154b8141e2d1953 100644
--- a/net/minecraft/world/entity/animal/goat/Goat.java --- a/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/net/minecraft/world/entity/animal/goat/Goat.java +++ b/net/minecraft/world/entity/animal/goat/Goat.java
@@ -99,6 +99,13 @@ public class Goat extends Animal { @@ -99,6 +99,13 @@ public class Goat extends Animal {

View File

@@ -19,7 +19,7 @@ we used a prebaked list of all the possible colors and combinations, however thi
datapack to change it. datapack to change it.
diff --git a/net/minecraft/world/item/DyeColor.java b/net/minecraft/world/item/DyeColor.java diff --git a/net/minecraft/world/item/DyeColor.java b/net/minecraft/world/item/DyeColor.java
index c9cde255117b46690b2b6670d009a00b051af016..2c9f513e6ccd75959484f29a375671e21aab9590 100644 index fe71f28c0273a23ba6f798eacd6f9a6a8e36ec9b..3fd3cabf59753cc46c99f62b9c9cdcf6fc3c3a19 100644
--- a/net/minecraft/world/item/DyeColor.java --- a/net/minecraft/world/item/DyeColor.java
+++ b/net/minecraft/world/item/DyeColor.java +++ b/net/minecraft/world/item/DyeColor.java
@@ -112,6 +112,15 @@ public enum DyeColor implements StringRepresentable { @@ -112,6 +112,15 @@ public enum DyeColor implements StringRepresentable {

View File

@@ -25,7 +25,7 @@ index f7bb979f08634a7e1b77c59040f59fb5e11aafa5..e0eca73d9e8a77b2a4972db61001394c
for (int i1 = 0; i1 < this.height; i1++) { for (int i1 = 0; i1 < this.height; i1++) {
for (int i2 = 0; i2 < this.depth; i2++) { for (int i2 = 0; i2 < this.depth; i2++) {
diff --git a/net/minecraft/world/level/dimension/end/EndDragonFight.java b/net/minecraft/world/level/dimension/end/EndDragonFight.java diff --git a/net/minecraft/world/level/dimension/end/EndDragonFight.java b/net/minecraft/world/level/dimension/end/EndDragonFight.java
index 7f9bd256da15da915db1c45099572d9eb3286166..fe586b99bdf7c145b7a51afc9f4ca910f22af6d8 100644 index 16156eb8e8bee376950a5f1efc9ac5e295716c61..4319cbd1c87629e125bd7ff4d71bdc8b40084469 100644
--- a/net/minecraft/world/level/dimension/end/EndDragonFight.java --- a/net/minecraft/world/level/dimension/end/EndDragonFight.java
+++ b/net/minecraft/world/level/dimension/end/EndDragonFight.java +++ b/net/minecraft/world/level/dimension/end/EndDragonFight.java
@@ -273,8 +273,68 @@ public class EndDragonFight { @@ -273,8 +273,68 @@ public class EndDragonFight {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Option to disable disconnect.spam
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index dc180d67066436263370d8bf55dafabad7c34004..46cf071e34c8b46c0dafadb14eb6fc1bb1c4d9a8 100644 index edc358b08b94a12f2727c805e2254197df0ae25a..36c2b6d15373cf50a91f45df497d82a963696386 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -852,7 +852,7 @@ public class ServerGamePacketListenerImpl @@ -852,7 +852,7 @@ public class ServerGamePacketListenerImpl

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Option to disable saving of snowball and firework
diff --git a/net/minecraft/world/entity/projectile/FireworkRocketEntity.java b/net/minecraft/world/entity/projectile/FireworkRocketEntity.java diff --git a/net/minecraft/world/entity/projectile/FireworkRocketEntity.java b/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
index 9b13991088a5e5f4d7697588777e5252ae67b73a..449d86680bd7c084287cab6ba31466a889ae52cd 100644 index af9cf917f20a34479e01b63e686c65b2c783cea1..b344e6d0217500846852fa753075f1d58d3d50d8 100644
--- a/net/minecraft/world/entity/projectile/FireworkRocketEntity.java --- a/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
+++ b/net/minecraft/world/entity/projectile/FireworkRocketEntity.java +++ b/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
@@ -350,4 +350,14 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier { @@ -350,4 +350,14 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
@@ -24,7 +24,7 @@ index 9b13991088a5e5f4d7697588777e5252ae67b73a..449d86680bd7c084287cab6ba31466a8
+ // DivineMC end - Option to disable saving firework + // DivineMC end - Option to disable saving firework
} }
diff --git a/net/minecraft/world/entity/projectile/Snowball.java b/net/minecraft/world/entity/projectile/Snowball.java diff --git a/net/minecraft/world/entity/projectile/Snowball.java b/net/minecraft/world/entity/projectile/Snowball.java
index 49694d7fe529fb8197ab4a3a7412d6923ee1bda7..bfa08f51aab4f5cfa0ef0a66075c6a266f586d0a 100644 index c0b423967d6361a5d8ef11a5855c025e31948fe5..1dd963aae166e059107aac1d585ccc3199afb66d 100644
--- a/net/minecraft/world/entity/projectile/Snowball.java --- a/net/minecraft/world/entity/projectile/Snowball.java
+++ b/net/minecraft/world/entity/projectile/Snowball.java +++ b/net/minecraft/world/entity/projectile/Snowball.java
@@ -94,4 +94,14 @@ public class Snowball extends ThrowableItemProjectile { @@ -94,4 +94,14 @@ public class Snowball extends ThrowableItemProjectile {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Snowball and Egg knockback
diff --git a/net/minecraft/world/entity/projectile/Snowball.java b/net/minecraft/world/entity/projectile/Snowball.java diff --git a/net/minecraft/world/entity/projectile/Snowball.java b/net/minecraft/world/entity/projectile/Snowball.java
index bfa08f51aab4f5cfa0ef0a66075c6a266f586d0a..9fb9244ad95a5fa64df6beb3e7208c7598216132 100644 index 1dd963aae166e059107aac1d585ccc3199afb66d..0e594fe6cd25ac713ab70db167e276532d9fd993 100644
--- a/net/minecraft/world/entity/projectile/Snowball.java --- a/net/minecraft/world/entity/projectile/Snowball.java
+++ b/net/minecraft/world/entity/projectile/Snowball.java +++ b/net/minecraft/world/entity/projectile/Snowball.java
@@ -54,6 +54,12 @@ public class Snowball extends ThrowableItemProjectile { @@ -54,6 +54,12 @@ public class Snowball extends ThrowableItemProjectile {
@@ -22,7 +22,7 @@ index bfa08f51aab4f5cfa0ef0a66075c6a266f586d0a..9fb9244ad95a5fa64df6beb3e7208c75
// Purpur start - options to extinguish fire blocks with snowballs - borrowed and modified code from ThrownPotion#onHitBlock and ThrownPotion#dowseFire // Purpur start - options to extinguish fire blocks with snowballs - borrowed and modified code from ThrownPotion#onHitBlock and ThrownPotion#dowseFire
diff --git a/net/minecraft/world/entity/projectile/ThrownEgg.java b/net/minecraft/world/entity/projectile/ThrownEgg.java diff --git a/net/minecraft/world/entity/projectile/ThrownEgg.java b/net/minecraft/world/entity/projectile/ThrownEgg.java
index 57cb5b73dae86379be857ffa0f55ef7a056a0b4a..d3dea3e36297da11c3b753394f3c4c72c9c5b4f2 100644 index baa6f5ef67aeaa18c45e9de6e747aea9066e42b7..d27d7c14facb58807f5c1e36b0d9b690c2b6631e 100644
--- a/net/minecraft/world/entity/projectile/ThrownEgg.java --- a/net/minecraft/world/entity/projectile/ThrownEgg.java
+++ b/net/minecraft/world/entity/projectile/ThrownEgg.java +++ b/net/minecraft/world/entity/projectile/ThrownEgg.java
@@ -54,7 +54,14 @@ public class ThrownEgg extends ThrowableItemProjectile { @@ -54,7 +54,14 @@ public class ThrownEgg extends ThrowableItemProjectile {

View File

@@ -7,7 +7,7 @@ Original license: GPL v3
Original project: https://github.com/pufferfish-gg/Pufferfish Original project: https://github.com/pufferfish-gg/Pufferfish
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index 4e8594985442fe4371504fca697569bd3c58339d..5c2d1d78dce9fed6649eda2dea14bf32f8f591dc 100644 index bdd59ab98de1c1392cc8d73a3eedf28ffa64911a..509689bfffbe7b376ce3c4f9851342242ae3bab2 100644
--- a/net/minecraft/world/entity/LivingEntity.java --- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java +++ b/net/minecraft/world/entity/LivingEntity.java
@@ -426,6 +426,12 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin @@ -426,6 +426,12 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin

View File

@@ -7,7 +7,7 @@ Original license: GPL v3
Original project: https://github.com/pufferfish-gg/Pufferfish Original project: https://github.com/pufferfish-gg/Pufferfish
diff --git a/net/minecraft/world/entity/monster/EnderMan.java b/net/minecraft/world/entity/monster/EnderMan.java diff --git a/net/minecraft/world/entity/monster/EnderMan.java b/net/minecraft/world/entity/monster/EnderMan.java
index bf5fedd1dc7eea2a36edfb1420efe207ac409085..f4e90ced5ce5acd3a51f99cea905c92aa9c40e4f 100644 index e4d6610c43a019e9e1e296703e80eecc4ffdd36c..5607e5712795a0c979bc11ac335f9bb38668d503 100644
--- a/net/minecraft/world/entity/monster/EnderMan.java --- a/net/minecraft/world/entity/monster/EnderMan.java
+++ b/net/minecraft/world/entity/monster/EnderMan.java +++ b/net/minecraft/world/entity/monster/EnderMan.java
@@ -336,11 +336,28 @@ public class EnderMan extends Monster implements NeutralMob { @@ -336,11 +336,28 @@ public class EnderMan extends Monster implements NeutralMob {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable movement speed for entities
diff --git a/net/minecraft/world/entity/monster/Drowned.java b/net/minecraft/world/entity/monster/Drowned.java diff --git a/net/minecraft/world/entity/monster/Drowned.java b/net/minecraft/world/entity/monster/Drowned.java
index 592b4f139a184f0522e350f5b83777b235eb243c..12650e3981fe48ab0cb4398e021e768eea03bd60 100644 index 5a947d7fbf1a08011d87f71b96a8f221130fb583..28fb51950c38ffbc88c3e01c113310fd2bccd097 100644
--- a/net/minecraft/world/entity/monster/Drowned.java --- a/net/minecraft/world/entity/monster/Drowned.java
+++ b/net/minecraft/world/entity/monster/Drowned.java +++ b/net/minecraft/world/entity/monster/Drowned.java
@@ -98,6 +98,7 @@ public class Drowned extends Zombie implements RangedAttackMob { @@ -98,6 +98,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
@@ -17,7 +17,7 @@ index 592b4f139a184f0522e350f5b83777b235eb243c..12650e3981fe48ab0cb4398e021e768e
@Override @Override
diff --git a/net/minecraft/world/entity/monster/Husk.java b/net/minecraft/world/entity/monster/Husk.java diff --git a/net/minecraft/world/entity/monster/Husk.java b/net/minecraft/world/entity/monster/Husk.java
index f2c55aa23ec647af6907b349b937c98fffd95523..33b32d0a9f29628ea4c59e72a1157a83992c222e 100644 index 0bc9c1b235cd5ac771c7b0f200abe4fde38b7858..6948b139a041991743f30186902275b4e752491b 100644
--- a/net/minecraft/world/entity/monster/Husk.java --- a/net/minecraft/world/entity/monster/Husk.java
+++ b/net/minecraft/world/entity/monster/Husk.java +++ b/net/minecraft/world/entity/monster/Husk.java
@@ -42,6 +42,7 @@ public class Husk extends Zombie { @@ -42,6 +42,7 @@ public class Husk extends Zombie {
@@ -29,7 +29,7 @@ index f2c55aa23ec647af6907b349b937c98fffd95523..33b32d0a9f29628ea4c59e72a1157a83
@Override @Override
diff --git a/net/minecraft/world/entity/monster/Zombie.java b/net/minecraft/world/entity/monster/Zombie.java diff --git a/net/minecraft/world/entity/monster/Zombie.java b/net/minecraft/world/entity/monster/Zombie.java
index 63b29933e262115062a082dcaed0d16146a181bd..6c41126ad4b485a3dad8fafc8e26defccb426c47 100644 index 7e13f2958f3935077fe25570567d2576f435028c..68fadb2927a8a516926e201b3d640c8e133103ac 100644
--- a/net/minecraft/world/entity/monster/Zombie.java --- a/net/minecraft/world/entity/monster/Zombie.java
+++ b/net/minecraft/world/entity/monster/Zombie.java +++ b/net/minecraft/world/entity/monster/Zombie.java
@@ -125,6 +125,7 @@ public class Zombie extends Monster { @@ -125,6 +125,7 @@ public class Zombie extends Monster {
@@ -49,7 +49,7 @@ index 63b29933e262115062a082dcaed0d16146a181bd..6c41126ad4b485a3dad8fafc8e26defc
.add(Attributes.ARMOR, 2.0) .add(Attributes.ARMOR, 2.0)
.add(Attributes.SPAWN_REINFORCEMENTS_CHANCE); .add(Attributes.SPAWN_REINFORCEMENTS_CHANCE);
diff --git a/net/minecraft/world/entity/monster/ZombieVillager.java b/net/minecraft/world/entity/monster/ZombieVillager.java diff --git a/net/minecraft/world/entity/monster/ZombieVillager.java b/net/minecraft/world/entity/monster/ZombieVillager.java
index 24378d21c12038c3b649fa4766bd9c66cb4afd54..3667ef042057bb1f6006c421e67cfd1c5dd6da36 100644 index c2e6ce3a7d17fa5ecd1f0dc42f7769a500e0052d..6253347617c321ef107fe575c3b99e1ffe1a7eb7 100644
--- a/net/minecraft/world/entity/monster/ZombieVillager.java --- a/net/minecraft/world/entity/monster/ZombieVillager.java
+++ b/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/net/minecraft/world/entity/monster/ZombieVillager.java
@@ -94,6 +94,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { @@ -94,6 +94,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
@@ -61,7 +61,7 @@ index 24378d21c12038c3b649fa4766bd9c66cb4afd54..3667ef042057bb1f6006c421e67cfd1c
@Override @Override
diff --git a/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/net/minecraft/world/entity/monster/ZombifiedPiglin.java diff --git a/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/net/minecraft/world/entity/monster/ZombifiedPiglin.java
index 1955ea6cff628234342989249de6efd1180b0999..2b1fb75c490d4e4f6aa65dbc74454143d29c3fc9 100644 index 05bbd9588ae85256c46d8b0c2434a3bc8cb5f620..532c196ed57542844b9ab63a36cfd610535a2feb 100644
--- a/net/minecraft/world/entity/monster/ZombifiedPiglin.java --- a/net/minecraft/world/entity/monster/ZombifiedPiglin.java
+++ b/net/minecraft/world/entity/monster/ZombifiedPiglin.java +++ b/net/minecraft/world/entity/monster/ZombifiedPiglin.java
@@ -86,6 +86,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob { @@ -86,6 +86,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Option to allow weird movement and disable teleporting
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 46cf071e34c8b46c0dafadb14eb6fc1bb1c4d9a8..93fc67f8cf60be489249d83a748490b653953e7a 100644 index 36c2b6d15373cf50a91f45df497d82a963696386..a306147f4b8213363f96745f4cd33a5a3b01777b 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -617,7 +617,7 @@ public class ServerGamePacketListenerImpl @@ -617,7 +617,7 @@ public class ServerGamePacketListenerImpl

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Optimize Raids
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index cea6213837b001d7a494d17aa7e6e326abd1b2fc..06d3cbc33f41517028b5998f11695f68eb19aa5e 100644 index d182aafc4c8b4ea657ec3228c45fb29f05ff8d75..3275a8a3a57a6d836170efbf12bc1257282703c8 100644
--- a/net/minecraft/server/level/ServerLevel.java --- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java
@@ -223,6 +223,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -223,6 +223,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -59,7 +59,7 @@ index adae4ef6b2f5019b79838eddf0255200096bccd9..97b9676c03b4b2d2aea7fd7c7dff3e6c
public float getHealthOfLivingRaiders() { public float getHealthOfLivingRaiders() {
diff --git a/net/minecraft/world/entity/raid/Raider.java b/net/minecraft/world/entity/raid/Raider.java diff --git a/net/minecraft/world/entity/raid/Raider.java b/net/minecraft/world/entity/raid/Raider.java
index 2254493c889b8967011c09dc448ba375d82e2035..7802c5235a543c9f7147d27e122f4936f305f8ba 100644 index 4d72b60489e9c684905ca251ead011aaa8ce1cdd..692701bf46f980c11af9735d48ca58532ba7f4d6 100644
--- a/net/minecraft/world/entity/raid/Raider.java --- a/net/minecraft/world/entity/raid/Raider.java
+++ b/net/minecraft/world/entity/raid/Raider.java +++ b/net/minecraft/world/entity/raid/Raider.java
@@ -43,9 +43,25 @@ import net.minecraft.world.phys.Vec3; @@ -43,9 +43,25 @@ import net.minecraft.world.phys.Vec3;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Small optimization to LinearPalette
diff --git a/net/minecraft/world/level/chunk/LinearPalette.java b/net/minecraft/world/level/chunk/LinearPalette.java diff --git a/net/minecraft/world/level/chunk/LinearPalette.java b/net/minecraft/world/level/chunk/LinearPalette.java
index 9aa55456d18ffa3ad5cc300ed321582b2a7af1d1..af687853650d9fc58b23d88a7c6e19f36615e8b7 100644 index c93302f2457c71caae6f56c59d3a66357a0a6cd6..d37624464962f534ea6fe8672ad2157a40d2111c 100644
--- a/net/minecraft/world/level/chunk/LinearPalette.java --- a/net/minecraft/world/level/chunk/LinearPalette.java
+++ b/net/minecraft/world/level/chunk/LinearPalette.java +++ b/net/minecraft/world/level/chunk/LinearPalette.java
@@ -10,7 +10,7 @@ import org.apache.commons.lang3.Validate; @@ -10,7 +10,7 @@ import org.apache.commons.lang3.Validate;

View File

@@ -287,7 +287,7 @@ index 4a333e87af17bd5b673b57c0fa0d3a239fb8db59..e5569978a23c5bde673146421963a2ff
if (packet == null || this.processedDisconnect) { // Spigot if (packet == null || this.processedDisconnect) { // Spigot
return; return;
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index 78d0595edb26a8ee29143c86164d01056132fa08..2425ecc8c27647acb5cb6ef1989cc7db715d2392 100644 index adefc10f96c8216a4ba467f1f50672478b27b428..f67e870ece3bbd6b7e8e194d3b2da989229110e7 100644
--- a/net/minecraft/server/players/PlayerList.java --- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java
@@ -181,7 +181,7 @@ public abstract class PlayerList { @@ -181,7 +181,7 @@ public abstract class PlayerList {
@@ -299,7 +299,7 @@ index 78d0595edb26a8ee29143c86164d01056132fa08..2425ecc8c27647acb5cb6ef1989cc7db
) )
); );
player.getBukkitEntity().sendSupportedChannels(); // CraftBukkit player.getBukkitEntity().sendSupportedChannels(); // CraftBukkit
@@ -1245,6 +1245,7 @@ public abstract class PlayerList { @@ -1196,6 +1196,7 @@ public abstract class PlayerList {
} }
public boolean verifyChatTrusted(PlayerChatMessage message) { public boolean verifyChatTrusted(PlayerChatMessage message) {

View File

@@ -25,7 +25,7 @@ index f9d60a28763e2c45b5dcf9687b8999fb73817aa9..3de2d76bf118750932a56d02233e4e6a
this.tickCount++; this.tickCount++;
this.tickRateManager.tick(); this.tickRateManager.tick();
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index 7766bc8f3d1de6e33c2ab9256b71c30624872a2a..e6e54f23e302292aa9e9495c00aaae22cf18dd94 100644 index 3275a8a3a57a6d836170efbf12bc1257282703c8..f038c8fe7fa84457dcee2276bbbdb7ec8533d430 100644
--- a/net/minecraft/server/level/ServerLevel.java --- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java
@@ -224,6 +224,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -224,6 +224,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe

View File

@@ -36,7 +36,7 @@ index 3de2d76bf118750932a56d02233e4e6aff0b2728..690c67f2051996d0888a946b8c089d39
public ChatDecorator getChatDecorator() { public ChatDecorator getChatDecorator() {
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index cb667b3e3451b4874ada36802537db9d951b74b8..58ab04ba1296904bbff1abc549c0efa5b6f239c5 100644 index a306147f4b8213363f96745f4cd33a5a3b01777b..53f3193cbd6ddb53dde771a28f15aec5aee49d66 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -844,8 +844,11 @@ public class ServerGamePacketListenerImpl @@ -844,8 +844,11 @@ public class ServerGamePacketListenerImpl

View File

@@ -24,7 +24,7 @@ index 4fc29f7aae32180f86af971f7f80a37aa6e797e4..ea3d63856ed487c4d23b0448c97169c2
if (io.papermc.paper.event.packet.PlayerChunkUnloadEvent.getHandlerList().getRegisteredListeners().length > 0) { if (io.papermc.paper.event.packet.PlayerChunkUnloadEvent.getHandlerList().getRegisteredListeners().length > 0) {
new io.papermc.paper.event.packet.PlayerChunkUnloadEvent(player.getBukkitEntity().getWorld().getChunkAt(new ChunkPos(chunkX, chunkZ).longKey), player.getBukkitEntity()).callEvent(); new io.papermc.paper.event.packet.PlayerChunkUnloadEvent(player.getBukkitEntity().getWorld().getChunkAt(new ChunkPos(chunkX, chunkZ).longKey), player.getBukkitEntity()).callEvent();
diff --git a/net/minecraft/network/protocol/game/ClientboundLevelChunkPacketData.java b/net/minecraft/network/protocol/game/ClientboundLevelChunkPacketData.java diff --git a/net/minecraft/network/protocol/game/ClientboundLevelChunkPacketData.java b/net/minecraft/network/protocol/game/ClientboundLevelChunkPacketData.java
index 6987eeace609fbfba967922e558e09268e0f6d44..5af3bb5b9f8670977479cbc5ced39663d46d261d 100644 index 33ca4c2110673dee34b66c8d05ee83c4df828f2e..36c6c006f46e252248e231b6de4cef4d2aff67d7 100644
--- a/net/minecraft/network/protocol/game/ClientboundLevelChunkPacketData.java --- a/net/minecraft/network/protocol/game/ClientboundLevelChunkPacketData.java
+++ b/net/minecraft/network/protocol/game/ClientboundLevelChunkPacketData.java +++ b/net/minecraft/network/protocol/game/ClientboundLevelChunkPacketData.java
@@ -75,6 +75,52 @@ public class ClientboundLevelChunkPacketData { @@ -75,6 +75,52 @@ public class ClientboundLevelChunkPacketData {
@@ -171,7 +171,7 @@ index 644948d64791d0ffa4166375d0f4419f1ffa214a..f2d563076fd4e723372042df108f7f6c
// Paper start - PlayerChunkLoadEvent // Paper start - PlayerChunkLoadEvent
if (io.papermc.paper.event.packet.PlayerChunkLoadEvent.getHandlerList().getRegisteredListeners().length > 0) { if (io.papermc.paper.event.packet.PlayerChunkLoadEvent.getHandlerList().getRegisteredListeners().length > 0) {
diff --git a/net/minecraft/world/level/chunk/LevelChunkSection.java b/net/minecraft/world/level/chunk/LevelChunkSection.java diff --git a/net/minecraft/world/level/chunk/LevelChunkSection.java b/net/minecraft/world/level/chunk/LevelChunkSection.java
index 66ef3678fd70c5f15a13eee95f4046697e46b077..ecb04bc9f42cd55949aab9f21e052619a6d0afca 100644 index 201ba8b6ea45f526fbd5292164bb4cb6c066d9a8..fbfb6b9cef706d376867aee45a358b1d69ce6fa4 100644
--- a/net/minecraft/world/level/chunk/LevelChunkSection.java --- a/net/minecraft/world/level/chunk/LevelChunkSection.java
+++ b/net/minecraft/world/level/chunk/LevelChunkSection.java +++ b/net/minecraft/world/level/chunk/LevelChunkSection.java
@@ -14,7 +14,7 @@ public class LevelChunkSection implements ca.spottedleaf.moonrise.patches.block_ @@ -14,7 +14,7 @@ public class LevelChunkSection implements ca.spottedleaf.moonrise.patches.block_

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Command block parse results caching
diff --git a/net/minecraft/world/level/BaseCommandBlock.java b/net/minecraft/world/level/BaseCommandBlock.java diff --git a/net/minecraft/world/level/BaseCommandBlock.java b/net/minecraft/world/level/BaseCommandBlock.java
index 8bb72b05707250774fca1def7764036f04d2a896..4a6ccf073db21a40edbedf1122258e7cef68b857 100644 index b6cebd8f5741cd3058d4ab3996d15d9e1e0fc3b4..a0e2ec323b07a85a91c36bc222df671ae491955e 100644
--- a/net/minecraft/world/level/BaseCommandBlock.java --- a/net/minecraft/world/level/BaseCommandBlock.java
+++ b/net/minecraft/world/level/BaseCommandBlock.java +++ b/net/minecraft/world/level/BaseCommandBlock.java
@@ -35,6 +35,10 @@ public abstract class BaseCommandBlock { @@ -35,6 +35,10 @@ public abstract class BaseCommandBlock {

View File

@@ -43,10 +43,10 @@ index 646ca37bba6da8ab0babbf4a1e6ba88e75658e72..1d9b32476c1b89984f1afa8e906ca094
if (!tickRateManager.isEntityFrozen(entity)) { if (!tickRateManager.isEntityFrozen(entity)) {
entity.checkDespawn(); entity.checkDespawn();
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index c36d133e877353f9509543b0833be745286574e9..ee8cdf62642b2713dbae9d1735db7c5e5fd55a55 100644 index 6b5b01b9525f51fe02f03f7249517599d1ba1945..3dc742ca965a06629686c846c4018672576a9db1 100644
--- a/net/minecraft/world/entity/Entity.java --- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java
@@ -367,6 +367,8 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -366,6 +366,8 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
public boolean fixedPose = false; // Paper - Expand Pose API public boolean fixedPose = false; // Paper - Expand Pose API
private final int despawnTime; // Paper - entity despawn time limit private final int despawnTime; // Paper - entity despawn time limit
public int totalEntityAge; // Paper - age-like counter for all entities public int totalEntityAge; // Paper - age-like counter for all entities

View File

@@ -391,7 +391,7 @@ index 737a6ff0bfec9b555fa425619d97b80ef95cb3e6..cfa2c3aa357a0dbb7edf7f0c8cebea5e
} }
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index 2aac1cdfa0c3cdf3d56d57452d45318ef6793cbb..fad9facf999f7f98ea8acc6ffd87114aa21a1b3c 100644 index 1d9b32476c1b89984f1afa8e906ca09472b8d6b2..0b1ea5c5248f0b54ba7b01d7bc89e1547ad2a89a 100644
--- a/net/minecraft/server/level/ServerLevel.java --- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java
@@ -2569,7 +2569,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -2569,7 +2569,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -412,7 +412,7 @@ index 2aac1cdfa0c3cdf3d56d57452d45318ef6793cbb..fad9facf999f7f98ea8acc6ffd87114a
} }
} }
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 58ab04ba1296904bbff1abc549c0efa5b6f239c5..b0c702253173c86362907cba71e3c0a5f408edf2 100644 index 53f3193cbd6ddb53dde771a28f15aec5aee49d66..64e5743aed23b4004de32122b880f99cb70eac8a 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1942,7 +1942,6 @@ public class ServerGamePacketListenerImpl @@ -1942,7 +1942,6 @@ public class ServerGamePacketListenerImpl

View File

@@ -9,7 +9,7 @@ Original project: https://github.com/pufferfish-gg/Pufferfish
This patch reduces the main-thread impact of mob spawning by moving spawning work to other threads This patch reduces the main-thread impact of mob spawning by moving spawning work to other threads
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index 4ba10f90711ac8b6813f86bcff9635716fdc6028..95e39a728b7505a273a6e9c927308ee8931ea756 100644 index 690c67f2051996d0888a946b8c089d39dcb004f6..698460d2dc19a0bdf6cf2a528a702d6dbc625eb2 100644
--- a/net/minecraft/server/MinecraftServer.java --- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java +++ b/net/minecraft/server/MinecraftServer.java
@@ -288,6 +288,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -288,6 +288,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -21,7 +21,7 @@ index 4ba10f90711ac8b6813f86bcff9635716fdc6028..95e39a728b7505a273a6e9c927308ee8
public final ca.spottedleaf.moonrise.common.time.TickData tickTimes1s = new ca.spottedleaf.moonrise.common.time.TickData(java.util.concurrent.TimeUnit.SECONDS.toNanos(1L)); public final ca.spottedleaf.moonrise.common.time.TickData tickTimes1s = new ca.spottedleaf.moonrise.common.time.TickData(java.util.concurrent.TimeUnit.SECONDS.toNanos(1L));
public final ca.spottedleaf.moonrise.common.time.TickData tickTimes5s = new ca.spottedleaf.moonrise.common.time.TickData(java.util.concurrent.TimeUnit.SECONDS.toNanos(5L)); public final ca.spottedleaf.moonrise.common.time.TickData tickTimes5s = new ca.spottedleaf.moonrise.common.time.TickData(java.util.concurrent.TimeUnit.SECONDS.toNanos(5L));
diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java
index f9ec63ed7feb67e558abed99746726c10e9e10f4..78f831bf369906396860a73b9aaff5dc67bcfa09 100644 index d2ac3057cd6d27c9f0ec043421cbb72b57853b97..c37851095cfe637a2768de0aa179efe66e9a4cde 100644
--- a/net/minecraft/server/dedicated/DedicatedServer.java --- a/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/net/minecraft/server/dedicated/DedicatedServer.java +++ b/net/minecraft/server/dedicated/DedicatedServer.java
@@ -452,7 +452,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -452,7 +452,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -34,7 +34,7 @@ index f9ec63ed7feb67e558abed99746726c10e9e10f4..78f831bf369906396860a73b9aaff5dc
return true; return true;
} }
diff --git a/net/minecraft/server/level/ServerChunkCache.java b/net/minecraft/server/level/ServerChunkCache.java diff --git a/net/minecraft/server/level/ServerChunkCache.java b/net/minecraft/server/level/ServerChunkCache.java
index 65607de63f6ea900599660485861860b71e1aef3..0a32c1106d3eebb8b4aa75b27b489169052897db 100644 index ca0c38974d75e95d258978ff9c8a2749ad741aa5..d8f0bd8173836796ecdd9771b637d24c7a807a79 100644
--- a/net/minecraft/server/level/ServerChunkCache.java --- a/net/minecraft/server/level/ServerChunkCache.java
+++ b/net/minecraft/server/level/ServerChunkCache.java +++ b/net/minecraft/server/level/ServerChunkCache.java
@@ -183,6 +183,10 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -183,6 +183,10 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Clump experience orbs
diff --git a/net/minecraft/world/entity/ExperienceOrb.java b/net/minecraft/world/entity/ExperienceOrb.java diff --git a/net/minecraft/world/entity/ExperienceOrb.java b/net/minecraft/world/entity/ExperienceOrb.java
index 850da365c388801f2083fd1471cc32ce86297de0..1c02152f1761476b19ac36e367d945c111854c0a 100644 index 189488367329df837f4a98cda5af2c80d8847b96..67e777a0f0f71c620014234e889f5792667321a7 100644
--- a/net/minecraft/world/entity/ExperienceOrb.java --- a/net/minecraft/world/entity/ExperienceOrb.java
+++ b/net/minecraft/world/entity/ExperienceOrb.java +++ b/net/minecraft/world/entity/ExperienceOrb.java
@@ -50,6 +50,10 @@ public class ExperienceOrb extends Entity { @@ -50,6 +50,10 @@ public class ExperienceOrb extends Entity {

View File

@@ -370,7 +370,7 @@ index d8f0bd8173836796ecdd9771b637d24c7a807a79..e23f2004705fc299934a8b30e736ddf0
} }
} }
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index fad9facf999f7f98ea8acc6ffd87114aa21a1b3c..dbc0b9f926f2738f305477730ca1ab91edbd5d2f 100644 index 0b1ea5c5248f0b54ba7b01d7bc89e1547ad2a89a..aa6d923d5e14aa0b2e920a7ae5c89dd151ad2c3c 100644
--- a/net/minecraft/server/level/ServerLevel.java --- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java
@@ -186,7 +186,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -186,7 +186,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -467,18 +467,18 @@ index fad9facf999f7f98ea8acc6ffd87114aa21a1b3c..dbc0b9f926f2738f305477730ca1ab91
// Paper start - extra debug info // Paper start - extra debug info
if (entity.valid) { if (entity.valid) {
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index 3d983372c1f519066f980fd19db9b7d3c36b35dd..9ca749141b063b84042285116cb65c8e3ff7ec5c 100644 index 43cb158bee132cce0f3b09e31bc8ac83245ed3ea..7310f152ecdef82a2a211c149e72d29208ae078e 100644
--- a/net/minecraft/server/level/ServerPlayer.java --- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java
@@ -444,6 +444,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc @@ -443,6 +443,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
private boolean tpsBar = false; // Purpur - Implement TPSBar
private boolean compassBar = false; // Purpur - Add compass command private boolean compassBar = false; // Purpur - Add compass command
private boolean ramBar = false; // Purpur - Implement rambar commands private boolean ramBar = false; // Purpur - Implement rambar commands
public boolean smoothWorldTeleport; // DivineMC - Smooth teleport API
+ public boolean hasTickedAtLeastOnceInNewWorld = false; // DivineMC - Parallel world ticking + public boolean hasTickedAtLeastOnceInNewWorld = false; // DivineMC - Parallel world ticking
// Paper start - rewrite chunk system // Paper start - rewrite chunk system
private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader; private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
@@ -724,6 +725,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc @@ -723,6 +724,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@Override @Override
public void tick() { public void tick() {
@@ -486,15 +486,15 @@ index 3d983372c1f519066f980fd19db9b7d3c36b35dd..9ca749141b063b84042285116cb65c8e
// CraftBukkit start // CraftBukkit start
if (this.joining) { if (this.joining) {
this.joining = false; this.joining = false;
@@ -1548,6 +1550,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc @@ -1557,6 +1559,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
teleportTransition.postTeleportTransition().onTransition(this);
return this; return this;
} else { } else {
// CraftBukkit start
+ if (org.bxteam.divinemc.config.DivineConfig.AsyncCategory.enableParallelWorldTicking) ca.spottedleaf.moonrise.common.util.TickThread.ensureOnlyTickThread("Cannot change dimension of a player off-main, from world " + level().getWorld().getName() + " to world " + level.getWorld().getName()); // DivineMC - Parallel world ticking (additional concurrency issues logs) + if (org.bxteam.divinemc.config.DivineConfig.AsyncCategory.enableParallelWorldTicking) ca.spottedleaf.moonrise.common.util.TickThread.ensureOnlyTickThread("Cannot change dimension of a player off-main, from world " + level().getWorld().getName() + " to world " + level.getWorld().getName()); // DivineMC - Parallel world ticking (additional concurrency issues logs)
/*
this.isChangingDimension = true; this.isChangingDimension = true;
LevelData levelData = level.getLevelData(); LevelData levelData = level.getLevelData();
@@ -1896,6 +1899,12 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc this.connection.send(new ClientboundRespawnPacket(this.createCommonSpawnInfo(level), (byte)3));
@@ -1873,6 +1876,12 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
return OptionalInt.empty(); return OptionalInt.empty();
} else { } else {
// CraftBukkit start // CraftBukkit start
@@ -507,7 +507,7 @@ index 3d983372c1f519066f980fd19db9b7d3c36b35dd..9ca749141b063b84042285116cb65c8e
this.containerMenu = abstractContainerMenu; // Moved up this.containerMenu = abstractContainerMenu; // Moved up
if (!this.isImmobile()) if (!this.isImmobile())
this.connection this.connection
@@ -1960,6 +1969,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc @@ -1937,6 +1946,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
} }
@Override @Override
public void closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason reason) { public void closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason reason) {
@@ -520,7 +520,7 @@ index 3d983372c1f519066f980fd19db9b7d3c36b35dd..9ca749141b063b84042285116cb65c8e
// Paper end - Inventory close reason // Paper end - Inventory close reason
this.connection.send(new ClientboundContainerClosePacket(this.containerMenu.containerId)); this.connection.send(new ClientboundContainerClosePacket(this.containerMenu.containerId));
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index 2425ecc8c27647acb5cb6ef1989cc7db715d2392..1ce1de38992f1368bf49432d690bebb0289a7561 100644 index f67e870ece3bbd6b7e8e194d3b2da989229110e7..249c85f283b4a80493014773c7e8bf06953cbc3a 100644
--- a/net/minecraft/server/players/PlayerList.java --- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java
@@ -149,6 +149,7 @@ public abstract class PlayerList { @@ -149,6 +149,7 @@ public abstract class PlayerList {
@@ -531,29 +531,22 @@ index 2425ecc8c27647acb5cb6ef1989cc7db715d2392..1ce1de38992f1368bf49432d690bebb0
player.isRealPlayer = true; // Paper player.isRealPlayer = true; // Paper
player.loginTime = System.currentTimeMillis(); // Paper - Replace OfflinePlayer#getLastPlayed player.loginTime = System.currentTimeMillis(); // Paper - Replace OfflinePlayer#getLastPlayed
NameAndId nameAndId = player.nameAndId(); NameAndId nameAndId = player.nameAndId();
@@ -600,6 +601,14 @@ public abstract class PlayerList { @@ -596,6 +597,7 @@ public abstract class PlayerList {
}
public ServerPlayer respawn(ServerPlayer player, boolean keepInventory, Entity.RemovalReason reason, @Nullable org.bukkit.event.player.PlayerRespawnEvent.RespawnReason eventReason, @Nullable org.bukkit.Location location) { // Paper start - respawn event
+ // DivineMC start - Parallel world ticking public ServerPlayer respawn(ServerPlayer player, boolean keepInventory, Entity.RemovalReason reason, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason respawnReason) {
+ if (org.bxteam.divinemc.config.DivineConfig.AsyncCategory.enableParallelWorldTicking) { + if (org.bxteam.divinemc.config.DivineConfig.AsyncCategory.enableParallelWorldTicking) ca.spottedleaf.moonrise.common.util.TickThread.ensureOnlyTickThread("Cannot respawn player off-main, respawning in world " + player.level().getWorld().getName()); // DivineMC - Parallel world ticking
+ if (location != null) ServerPlayer.RespawnResult result = player.findRespawnPositionAndUseSpawnBlock0(!keepInventory, TeleportTransition.DO_NOTHING, respawnReason);
+ ca.spottedleaf.moonrise.common.util.TickThread.ensureOnlyTickThread("Cannot respawn player off-main, from world " + player.level().getWorld().getName() + " to world " + location.getWorld().getName()); if (result == null) { // disconnected player during the respawn event
+ else return player;
+ ca.spottedleaf.moonrise.common.util.TickThread.ensureOnlyTickThread("Cannot respawn player off-main, respawning in world " + player.level().getWorld().getName()); @@ -608,6 +610,7 @@ public abstract class PlayerList {
+ } player.level().removePlayerImmediately(player, reason);
+ // DivineMC end - Parallel world ticking ServerLevel level = teleportTransition.newLevel();
player.stopRiding(); // CraftBukkit ServerPlayer serverPlayer = player; // Paper - TODO - recreate instance
// TeleportTransition teleportTransition = player.findRespawnPositionAndUseSpawnBlock(!keepInventory, TeleportTransition.DO_NOTHING);
this.players.remove(player);
@@ -610,6 +619,7 @@ public abstract class PlayerList {
ServerPlayer serverPlayer = player;
Level fromWorld = player.level();
player.wonGame = false;
+ serverPlayer.hasTickedAtLeastOnceInNewWorld = false; // DivineMC - Parallel world ticking + serverPlayer.hasTickedAtLeastOnceInNewWorld = false; // DivineMC - Parallel world ticking
// CraftBukkit end
serverPlayer.connection = player.connection; serverPlayer.connection = player.connection;
serverPlayer.restoreFrom(player, keepInventory); serverPlayer.restoreFrom(player, keepInventory);
serverPlayer.setId(player.getId());
diff --git a/net/minecraft/server/waypoints/ServerWaypointManager.java b/net/minecraft/server/waypoints/ServerWaypointManager.java diff --git a/net/minecraft/server/waypoints/ServerWaypointManager.java b/net/minecraft/server/waypoints/ServerWaypointManager.java
index f9e7532f86122a379692561a639a209a126e8bba..839f6b7696ef85314da185bedba7cfc5870c314a 100644 index f9e7532f86122a379692561a639a209a126e8bba..839f6b7696ef85314da185bedba7cfc5870c314a 100644
--- a/net/minecraft/server/waypoints/ServerWaypointManager.java --- a/net/minecraft/server/waypoints/ServerWaypointManager.java
@@ -640,10 +633,10 @@ index f9e7532f86122a379692561a639a209a126e8bba..839f6b7696ef85314da185bedba7cfc5
if (isLocatorBarEnabledFor(player)) { if (isLocatorBarEnabledFor(player)) {
if (!connection.isBroken()) { if (!connection.isBroken()) {
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index ee8cdf62642b2713dbae9d1735db7c5e5fd55a55..714a7722a45798a445acf3aeb1e7db5d250a9670 100644 index 3dc742ca965a06629686c846c4018672576a9db1..b3fb97a255bae7bdf0ed1aa0b8b2c376b39bdce7 100644
--- a/net/minecraft/world/entity/Entity.java --- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java
@@ -3548,14 +3548,34 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -3540,14 +3540,34 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
if (this.portalProcess != null) { if (this.portalProcess != null) {
if (this.portalProcess.processPortalTeleportation(serverLevel, this, this.canUsePortal(false))) { if (this.portalProcess.processPortalTeleportation(serverLevel, this, this.canUsePortal(false))) {
this.setPortalCooldown(); this.setPortalCooldown();
@@ -684,7 +677,7 @@ index ee8cdf62642b2713dbae9d1735db7c5e5fd55a55..714a7722a45798a445acf3aeb1e7db5d
} else if (this.portalProcess.hasExpired()) { } else if (this.portalProcess.hasExpired()) {
this.portalProcess = null; this.portalProcess = null;
} }
@@ -4133,6 +4153,7 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -4125,6 +4145,7 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
@Nullable @Nullable
private Entity teleportCrossDimension(ServerLevel oldLevel, ServerLevel newLevel, TeleportTransition teleportTransition) { private Entity teleportCrossDimension(ServerLevel oldLevel, ServerLevel newLevel, TeleportTransition teleportTransition) {

View File

@@ -25,7 +25,7 @@ index fd9ef48ac8b23e8b409c00d154dbea27b701e3bc..6a714d59d01eafcd833f05208a948bf3
CrashReport crashReport = CrashReport.forThrowable(levelTickingException, "Exception ticking world"); CrashReport crashReport = CrashReport.forThrowable(levelTickingException, "Exception ticking world");
serverLevel.fillReportDetails(crashReport); serverLevel.fillReportDetails(crashReport);
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
index dbc0b9f926f2738f305477730ca1ab91edbd5d2f..4006ad45a53abdc49d8d90150d580ef8c79cf6f0 100644 index aa6d923d5e14aa0b2e920a7ae5c89dd151ad2c3c..8bd2e419791f0dffbcbc43edd93178dead0c9620 100644
--- a/net/minecraft/server/level/ServerLevel.java --- a/net/minecraft/server/level/ServerLevel.java
+++ b/net/minecraft/server/level/ServerLevel.java +++ b/net/minecraft/server/level/ServerLevel.java
@@ -596,6 +596,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe @@ -596,6 +596,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe

View File

@@ -11,7 +11,7 @@ As part of: C2ME (https://github.com/RelativityMC/C2ME-fabric)
Licensed under: MIT (https://opensource.org/licenses/MIT) Licensed under: MIT (https://opensource.org/licenses/MIT)
diff --git a/net/minecraft/world/level/levelgen/Aquifer.java b/net/minecraft/world/level/levelgen/Aquifer.java diff --git a/net/minecraft/world/level/levelgen/Aquifer.java b/net/minecraft/world/level/levelgen/Aquifer.java
index 1e1536099261f578fa56b9f84f28157e4a9abafa..e88890ef7de33c30e062d7da2beef6d12d75d296 100644 index d672f425368e4489b2477da7c049670e72b46306..c2c190a6d88691ae01613651c7dc21fdc89d5293 100644
--- a/net/minecraft/world/level/levelgen/Aquifer.java --- a/net/minecraft/world/level/levelgen/Aquifer.java
+++ b/net/minecraft/world/level/levelgen/Aquifer.java +++ b/net/minecraft/world/level/levelgen/Aquifer.java
@@ -98,6 +98,13 @@ public interface Aquifer { @@ -98,6 +98,13 @@ public interface Aquifer {

View File

@@ -10,7 +10,7 @@ Original project: https://github.com/LogisticsCraft/OcclusionCulling
Original license: MIT Original license: MIT
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 714a7722a45798a445acf3aeb1e7db5d250a9670..0e7a870e85be7f3a2856ce0ca9c861295a66e032 100644 index b3fb97a255bae7bdf0ed1aa0b8b2c376b39bdce7..3248a68175708fd7b10020113475844ae3fd2a8f 100644
--- a/net/minecraft/world/entity/Entity.java --- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java
@@ -147,7 +147,7 @@ import net.minecraft.world.waypoints.WaypointTransmitter; @@ -147,7 +147,7 @@ import net.minecraft.world.waypoints.WaypointTransmitter;
@@ -22,7 +22,7 @@ index 714a7722a45798a445acf3aeb1e7db5d250a9670..0e7a870e85be7f3a2856ce0ca9c86129
public static javax.script.ScriptEngine scriptEngine = new javax.script.ScriptEngineManager().getEngineByName("rhino"); // Purpur - Configurable entity base attributes public static javax.script.ScriptEngine scriptEngine = new javax.script.ScriptEngineManager().getEngineByName("rhino"); // Purpur - Configurable entity base attributes
// CraftBukkit start // CraftBukkit start
private static final int CURRENT_LEVEL = 2; private static final int CURRENT_LEVEL = 2;
@@ -5564,4 +5564,47 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -5531,4 +5531,47 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
return false; return false;
} }
// Purpur end - Ridables // Purpur end - Ridables

View File

@@ -95,7 +95,7 @@ index e5569978a23c5bde673146421963a2ff0905d514..65d74d0021b48e92f8d06ad19a255023
bridge.removeChannel(channel); bridge.removeChannel(channel);
} }
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index 1ce1de38992f1368bf49432d690bebb0289a7561..713992baae023165f126e7b98c4afb2a815c1e17 100644 index 249c85f283b4a80493014773c7e8bf06953cbc3a..dd592eae80b8869b9b40f04767a8ab8e10d4fe7e 100644
--- a/net/minecraft/server/players/PlayerList.java --- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java
@@ -246,6 +246,8 @@ public abstract class PlayerList { @@ -246,6 +246,8 @@ public abstract class PlayerList {
@@ -115,7 +115,7 @@ index 1ce1de38992f1368bf49432d690bebb0289a7561..713992baae023165f126e7b98c4afb2a
// Paper end - Fix kick event leave message not being sent // Paper end - Fix kick event leave message not being sent
org.purpurmc.purpur.task.BossBarTask.removeFromAll(player.getBukkitEntity()); // Purpur - Implement TPSBar org.purpurmc.purpur.task.BossBarTask.removeFromAll(player.getBukkitEntity()); // Purpur - Implement TPSBar
ServerLevel serverLevel = player.level(); ServerLevel serverLevel = player.level();
@@ -1384,6 +1387,7 @@ public abstract class PlayerList { @@ -1328,6 +1331,7 @@ public abstract class PlayerList {
serverPlayer.connection.send(clientboundUpdateRecipesPacket); serverPlayer.connection.send(clientboundUpdateRecipesPacket);
serverPlayer.getRecipeBook().sendInitialRecipeBook(serverPlayer); serverPlayer.getRecipeBook().sendInitialRecipeBook(serverPlayer);
} }

View File

@@ -102,10 +102,10 @@ index 86469253ecc2a142b70c2601cbc50fe9ffbfedea..66eddcb27d9d3e8af7a5911225397aef
private void tickPassenger(Entity ridingEntity, Entity passengerEntity, final boolean isActive) { // Paper - EAR 2 private void tickPassenger(Entity ridingEntity, Entity passengerEntity, final boolean isActive) { // Paper - EAR 2
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 0e7a870e85be7f3a2856ce0ca9c861295a66e032..e8fdcb827af1d7e04bcf1918922e89929d29eba0 100644 index 3248a68175708fd7b10020113475844ae3fd2a8f..d767cc3ca7e559640cfde7f1f765b87c3d9c16ea 100644
--- a/net/minecraft/world/entity/Entity.java --- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java
@@ -1117,29 +1117,10 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -1116,29 +1116,10 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
return this.onGround; return this.onGround;
} }
@@ -135,7 +135,7 @@ index 0e7a870e85be7f3a2856ce0ca9c861295a66e032..e8fdcb827af1d7e04bcf1918922e8992
if (this.noPhysics) { if (this.noPhysics) {
this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z); this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z);
this.horizontalCollision = false; this.horizontalCollision = false;
@@ -1260,13 +1241,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -1259,13 +1240,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
this.setDeltaMovement(this.getDeltaMovement().multiply(blockSpeedFactor, 1.0, blockSpeedFactor)); this.setDeltaMovement(this.getDeltaMovement().multiply(blockSpeedFactor, 1.0, blockSpeedFactor));
} }
} }
@@ -149,7 +149,7 @@ index 0e7a870e85be7f3a2856ce0ca9c861295a66e032..e8fdcb827af1d7e04bcf1918922e8992
} }
private void applyMovementEmissionAndPlaySound(Entity.MovementEmission movementEmission, Vec3 movement, BlockPos pos, BlockState state) { private void applyMovementEmissionAndPlaySound(Entity.MovementEmission movementEmission, Vec3 movement, BlockPos pos, BlockState state) {
@@ -5026,9 +5000,7 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -4993,9 +4967,7 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
} }
public void setDeltaMovement(Vec3 deltaMovement) { public void setDeltaMovement(Vec3 deltaMovement) {
@@ -159,7 +159,7 @@ index 0e7a870e85be7f3a2856ce0ca9c861295a66e032..e8fdcb827af1d7e04bcf1918922e8992
} }
public void addDeltaMovement(Vec3 addend) { public void addDeltaMovement(Vec3 addend) {
@@ -5126,9 +5098,7 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -5093,9 +5065,7 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
} }
// Paper end - Block invalid positions and bounding box // Paper end - Block invalid positions and bounding box
if (this.position.x != x || this.position.y != y || this.position.z != z) { if (this.position.x != x || this.position.y != y || this.position.z != z) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Do not send spectator change packet
diff --git a/net/minecraft/server/level/ServerPlayerGameMode.java b/net/minecraft/server/level/ServerPlayerGameMode.java diff --git a/net/minecraft/server/level/ServerPlayerGameMode.java b/net/minecraft/server/level/ServerPlayerGameMode.java
index 4be37952a3502f6dbd62932de7dd9cbed1488312..97bcad549d7e2de53ea74753f4e9d6832c678c58 100644 index e2040f79550bdfacf32c94c369284d28526ed2ea..9018f3fe36a2786de380bc8e4d5cfb9425325b36 100644
--- a/net/minecraft/server/level/ServerPlayerGameMode.java --- a/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -86,10 +86,7 @@ public class ServerPlayerGameMode { @@ -86,10 +86,7 @@ public class ServerPlayerGameMode {
@@ -39,7 +39,7 @@ index 4be37952a3502f6dbd62932de7dd9cbed1488312..97bcad549d7e2de53ea74753f4e9d683
+ // DivineMC end - Do not send spectator change packet + // DivineMC end - Do not send spectator change packet
} }
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index 713992baae023165f126e7b98c4afb2a815c1e17..c69efd556b7ce753b9ccf204731e200b483a755f 100644 index dd592eae80b8869b9b40f04767a8ab8e10d4fe7e..df4b28f16e0cd2ddcf094b8bc60f13e7707ab84b 100644
--- a/net/minecraft/server/players/PlayerList.java --- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java
@@ -258,6 +258,7 @@ public abstract class PlayerList { @@ -258,6 +258,7 @@ public abstract class PlayerList {
@@ -71,7 +71,7 @@ index 713992baae023165f126e7b98c4afb2a815c1e17..c69efd556b7ce753b9ccf204731e200b
} }
// Paper end - Use single player info update packet on join // Paper end - Use single player info update packet on join
player.sentListPacket = true; player.sentListPacket = true;
@@ -1393,4 +1397,69 @@ public abstract class PlayerList { @@ -1337,4 +1341,69 @@ public abstract class PlayerList {
public boolean isAllowCommandsForAllPlayers() { public boolean isAllowCommandsForAllPlayers() {
return this.allowCommandsForAllPlayers; return this.allowCommandsForAllPlayers;
} }

View File

@@ -8,7 +8,7 @@ Original project: https://github.com/PaperMC/Paper
Paper pull request: https://github.com/PaperMC/Paper/pull/8074 Paper pull request: https://github.com/PaperMC/Paper/pull/8074
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index 57577a81888203f1e19dc8a804ca9f1ee764c49e..eab5505b10c1044f864a7327b18f1389fd09765f 100644 index df4b28f16e0cd2ddcf094b8bc60f13e7707ab84b..a11f16112bbc064f5fa011574f7f495a04737374 100644
--- a/net/minecraft/server/players/PlayerList.java --- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java
@@ -209,10 +209,15 @@ public abstract class PlayerList { @@ -209,10 +209,15 @@ public abstract class PlayerList {

View File

@@ -18,7 +18,7 @@ index 6d1fe8028739145b11fce98ad62b2f8044299548..9f086ded18d1fc8850877c6be113d880
// note: vanilla does not subtract 0.5 but the result is (luckily!) the same // note: vanilla does not subtract 0.5 but the result is (luckily!) the same
public static final int NARROW_SPAWN_TRACK_RANGE = (int)Math.floor(((double)PLAYER_SPAWN_TRACK_RANGE / Math.sqrt(2.0)) - 0.5); public static final int NARROW_SPAWN_TRACK_RANGE = (int)Math.floor(((double)PLAYER_SPAWN_TRACK_RANGE / Math.sqrt(2.0)) - 0.5);
diff --git a/net/minecraft/server/level/ChunkMap.java b/net/minecraft/server/level/ChunkMap.java diff --git a/net/minecraft/server/level/ChunkMap.java b/net/minecraft/server/level/ChunkMap.java
index 5b16dad04bf4540df750ce06c18af4b1d80d8648..5fb9a4cebf7407b8166ea5716c48a68e658d68d3 100644 index 72a0a80f1fffa43e143c80c689db5302f462114e..71fafa5cf67cd1e460b0be14ecfe0c922b666704 100644
--- a/net/minecraft/server/level/ChunkMap.java --- a/net/minecraft/server/level/ChunkMap.java
+++ b/net/minecraft/server/level/ChunkMap.java +++ b/net/minecraft/server/level/ChunkMap.java
@@ -830,10 +830,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -830,10 +830,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider

View File

@@ -37,7 +37,7 @@ index feefe51469843707afb2ecd4aaa3c9da2e089eb5..c7e418e5f7ca7f177df4e9432a0963f8
protected NonNullList(List<E> list, @Nullable E defaultValue) { protected NonNullList(List<E> list, @Nullable E defaultValue) {
diff --git a/net/minecraft/server/level/ChunkMap.java b/net/minecraft/server/level/ChunkMap.java diff --git a/net/minecraft/server/level/ChunkMap.java b/net/minecraft/server/level/ChunkMap.java
index 5fb9a4cebf7407b8166ea5716c48a68e658d68d3..304ff53e2c21c6153ff8f04436eae66b0406d32a 100644 index 71fafa5cf67cd1e460b0be14ecfe0c922b666704..993c03f1957b6905ed943ff34ec9c530fdf69928 100644
--- a/net/minecraft/server/level/ChunkMap.java --- a/net/minecraft/server/level/ChunkMap.java
+++ b/net/minecraft/server/level/ChunkMap.java +++ b/net/minecraft/server/level/ChunkMap.java
@@ -132,8 +132,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -132,8 +132,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -54,7 +54,7 @@ index 5fb9a4cebf7407b8166ea5716c48a68e658d68d3..304ff53e2c21c6153ff8f04436eae66b
public int serverViewDistance; public int serverViewDistance;
public final WorldGenContext worldGenContext; // Paper - public public final WorldGenContext worldGenContext; // Paper - public
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
index 9f559be50c990d15d7765827b7c4c4092f5e184a..9235c1e9dc6f050ae9e62ad423572ddef278a240 100644 index ebe34866e79397ac4c6a6bba97c99f5354adbe64..604b4670f59e0c3ed5c287e8a0c573560826ed78 100644
--- a/net/minecraft/world/level/Level.java --- a/net/minecraft/world/level/Level.java
+++ b/net/minecraft/world/level/Level.java +++ b/net/minecraft/world/level/Level.java
@@ -259,7 +259,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -259,7 +259,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -76,7 +76,7 @@ index 9f559be50c990d15d7765827b7c4c4092f5e184a..9235c1e9dc6f050ae9e62ad423572dde
((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemLevel)this).moonrise$getEntityLookup().getHardCollidingEntities(entity, box, ret, predicate); ((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemLevel)this).moonrise$getEntityLookup().getHardCollidingEntities(entity, box, ret, predicate);
diff --git a/net/minecraft/world/level/chunk/ProtoChunk.java b/net/minecraft/world/level/chunk/ProtoChunk.java diff --git a/net/minecraft/world/level/chunk/ProtoChunk.java b/net/minecraft/world/level/chunk/ProtoChunk.java
index 4846ab41592014e45cd6e4f5ff12dbd6eb17e8cc..4155d63aa304d9624613eb81ba9d12457a3385ed 100644 index 456d301d45350fb15de5ab663c482257e607f3aa..6fe4dd49256325908e49c02728a5b51964a96c12 100644
--- a/net/minecraft/world/level/chunk/ProtoChunk.java --- a/net/minecraft/world/level/chunk/ProtoChunk.java
+++ b/net/minecraft/world/level/chunk/ProtoChunk.java +++ b/net/minecraft/world/level/chunk/ProtoChunk.java
@@ -45,7 +45,7 @@ public class ProtoChunk extends ChunkAccess { @@ -45,7 +45,7 @@ public class ProtoChunk extends ChunkAccess {

View File

@@ -10,7 +10,7 @@ As part of: Lithium (https://github.com/CaffeineMC/lithium)
Licensed under: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html) Licensed under: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html)
diff --git a/net/minecraft/world/level/chunk/LevelChunk.java b/net/minecraft/world/level/chunk/LevelChunk.java diff --git a/net/minecraft/world/level/chunk/LevelChunk.java b/net/minecraft/world/level/chunk/LevelChunk.java
index ac56a14097a9f61bb9aa46e8bc3e01e6d82ba496..aa4b184943eb2ce4683ffd65ff7268ae8880d932 100644 index 29f4cce6823ad13bec607523f059166f97a48c22..60f3567ef70a82ad1704aec3135e6a72f5033e12 100644
--- a/net/minecraft/world/level/chunk/LevelChunk.java --- a/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/net/minecraft/world/level/chunk/LevelChunk.java +++ b/net/minecraft/world/level/chunk/LevelChunk.java
@@ -389,10 +389,13 @@ public class LevelChunk extends ChunkAccess implements DebugValueSource, ca.spot @@ -389,10 +389,13 @@ public class LevelChunk extends ChunkAccess implements DebugValueSource, ca.spot

View File

@@ -96,10 +96,10 @@ index 8e6f097b4d17aaaf8eccc16e11ce2bd01ad63322..ded99b157865f5bcfd64b3082c628a71
int getContainerSize(); int getContainerSize();
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index e8fdcb827af1d7e04bcf1918922e89929d29eba0..bec9307f082b5c809921a06ef9b8b5807008e3da 100644 index d767cc3ca7e559640cfde7f1f765b87c3d9c16ea..b18ece927ca8b86539fb8ed5ca18ac3f5f3ea3a3 100644
--- a/net/minecraft/world/entity/Entity.java --- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java
@@ -5132,6 +5132,18 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name @@ -5099,6 +5099,18 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
this.setBoundingBox(this.makeBoundingBox()); this.setBoundingBox(this.makeBoundingBox());
} }
// Paper end - Block invalid positions and bounding box // Paper end - Block invalid positions and bounding box

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable Files Locations
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index eab5505b10c1044f864a7327b18f1389fd09765f..c16fabf873f69adee6ba6d6dbf9b07574e82a12d 100644 index a11f16112bbc064f5fa011574f7f495a04737374..6284c770132d63b9569ca967ac14d367148177d6 100644
--- a/net/minecraft/server/players/PlayerList.java --- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java
@@ -99,10 +99,12 @@ import net.minecraft.world.scores.Team; @@ -99,10 +99,12 @@ import net.minecraft.world.scores.Team;

View File

@@ -1,6 +1,6 @@
--- a/net/minecraft/server/level/ServerPlayer.java --- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java
@@ -2353,6 +_,7 @@ @@ -2344,6 +_,7 @@
this.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.CHANGE_GAME_MODE, gameMode.getId())); this.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.CHANGE_GAME_MODE, gameMode.getId()));
if (gameMode == GameType.SPECTATOR) { if (gameMode == GameType.SPECTATOR) {
this.removeEntitiesOnShoulder(); this.removeEntitiesOnShoulder();

View File

@@ -1,9 +1,9 @@
--- a/net/minecraft/server/players/PlayerList.java --- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java
@@ -1068,6 +_,7 @@ @@ -1025,6 +_,7 @@
player.connection.send(new ClientboundInitializeBorderPacket(worldBorder)); player.connection.send(new ClientboundSetChunkCacheRadiusPacket(level.spigotConfig.viewDistance));
player.connection.send(new ClientboundSetTimePacket(level.getGameTime(), level.getDayTime(), level.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT))); player.connection.send(new ClientboundSetSimulationDistancePacket(level.spigotConfig.simulationDistance));
player.connection.send(new ClientboundSetDefaultSpawnPositionPacket(level.getRespawnData())); // Paper end
+ org.leavesmc.leaves.protocol.XaeroMapProtocol.onSendWorldInfo(player); // DivineMC - Leaves: Xaero's Map Protocol + org.leavesmc.leaves.protocol.XaeroMapProtocol.onSendWorldInfo(player); // DivineMC - Leaves: Xaero's Map Protocol
if (level.isRaining()) { if (level.isRaining()) {
// CraftBukkit start - handle player weather // CraftBukkit start - handle player weather

View File

@@ -1,6 +1,6 @@
--- a/net/minecraft/world/entity/Entity.java --- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java +++ b/net/minecraft/world/entity/Entity.java
@@ -376,6 +_,7 @@ @@ -375,6 +_,7 @@
public boolean isTemporarilyActive; public boolean isTemporarilyActive;
public long activatedImmunityTick = Integer.MIN_VALUE; public long activatedImmunityTick = Integer.MIN_VALUE;
public @Nullable Boolean immuneToFire = null; // Purpur - Fire immune API public @Nullable Boolean immuneToFire = null; // Purpur - Fire immune API
@@ -8,7 +8,7 @@
public void inactiveTick() { public void inactiveTick() {
} }
@@ -1131,6 +_,7 @@ @@ -1130,6 +_,7 @@
// Paper end - detailed watchdog information // Paper end - detailed watchdog information
public void move(MoverType type, Vec3 movement) { public void move(MoverType type, Vec3 movement) {
@@ -16,7 +16,7 @@
final Vec3 originalMovement = movement; // Paper - Expose pre-collision velocity final Vec3 originalMovement = movement; // Paper - Expose pre-collision velocity
// Paper start - detailed watchdog information // Paper start - detailed watchdog information
ca.spottedleaf.moonrise.common.util.TickThread.ensureTickThread("Cannot move an entity off-main"); ca.spottedleaf.moonrise.common.util.TickThread.ensureTickThread("Cannot move an entity off-main");
@@ -2633,6 +_,7 @@ @@ -2625,6 +_,7 @@
} }
this.addAdditionalSaveData(output, includeAll); // CraftBukkit - pass on includeAll this.addAdditionalSaveData(output, includeAll); // CraftBukkit - pass on includeAll
@@ -24,7 +24,7 @@
if (this.isVehicle()) { if (this.isVehicle()) {
ValueOutput.ValueOutputList valueOutputList = output.childrenList("Passengers"); ValueOutput.ValueOutputList valueOutputList = output.childrenList("Passengers");
@@ -2741,6 +_,7 @@ @@ -2733,6 +_,7 @@
this.tags.clear(); this.tags.clear();
input.read("Tags", TAG_LIST_CODEC).ifPresent(this.tags::addAll); input.read("Tags", TAG_LIST_CODEC).ifPresent(this.tags::addAll);
this.readAdditionalSaveData(input); this.readAdditionalSaveData(input);
@@ -32,7 +32,7 @@
if (this.repositionEntityAfterLoad()) { if (this.repositionEntityAfterLoad()) {
this.reapplyPosition(); this.reapplyPosition();
} }
@@ -4297,6 +_,7 @@ @@ -4264,6 +_,7 @@
} }
public boolean canTeleport(Level fromLevel, Level toLevel) { public boolean canTeleport(Level fromLevel, Level toLevel) {
@@ -40,7 +40,7 @@
if (!this.isAlive() || !this.valid) return false; // Paper - Fix item duplication and teleport issues if (!this.isAlive() || !this.valid) return false; // Paper - Fix item duplication and teleport issues
if (fromLevel.dimension() == Level.END && toLevel.dimension() == Level.OVERWORLD) { if (fromLevel.dimension() == Level.END && toLevel.dimension() == Level.OVERWORLD) {
for (Entity entity : this.getPassengers()) { for (Entity entity : this.getPassengers()) {
@@ -4526,6 +_,7 @@ @@ -4493,6 +_,7 @@
} }
public final void setBoundingBox(AABB bb) { public final void setBoundingBox(AABB bb) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Paper PR: Add FillBottleEvents for player and dispenser
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 0b536e4ee904cba3a724d98d491185cfded3d723..9baeecc248fe9ee6d7bb6c63d6b390b048a5649c 100644 index 691c7e393ff6a0d4b132f25b6de2b346b97f7169..c3f0f79211e8bb0d2617c77d520a37f79c2e2e7e 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -2132,4 +2132,18 @@ public class CraftEventFactory { @@ -2201,4 +2201,18 @@ public class CraftEventFactory {
event.callEvent(); event.callEvent();
return event.isAllowed(); return event.isAllowed();
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Paper PR: Player standing on position API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 11c1a0abad4efb65547c5b42869ec06bb74b4d59..939f0a74f0956e73488dea68c3e0b5846fcac68b 100644 index 6ac0f9d208c41182b7c596ab809de41f07f265a9..20eb411e8c4a8076df3e1bc00e8d84d3242dcbb5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1356,6 +1356,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -1349,6 +1349,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
return this.entity.get(io.papermc.paper.datacomponent.PaperDataComponentType.bukkitToMinecraft(type)) != null; return this.entity.get(io.papermc.paper.datacomponent.PaperDataComponentType.bukkitToMinecraft(type)) != null;
} }

View File

@@ -1,28 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: NONPLAYT <76615486+NONPLAYT@users.noreply.github.com>
Date: Sun, 29 Jun 2025 15:09:57 +0300
Subject: [PATCH] Smooth teleport API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 4eb7d90f38e744b51c11d334a44dacb0a9ac6956..f0065fd83dbe3bd0552251b6e01f2a051a9e4ab9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1371,6 +1371,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa
// Paper end - Teleportation API
}
+ // DivineMC start - Smooth teleport API
+ @Override
+ public boolean teleportWithoutRespawn(Location location) {
+ ServerPlayer serverPlayer = getHandle();
+ serverPlayer.smoothWorldTeleport = true;
+ boolean teleportResult = teleport(location);
+ serverPlayer.smoothWorldTeleport = false;
+ return teleportResult;
+ }
+ // DivineMC end - Smooth teleport API
+
@Override
public boolean teleport(Location location, PlayerTeleportEvent.TeleportCause cause) {
// Paper start - Teleport API

View File

@@ -14,10 +14,10 @@ This seems stupid, but it does seem that it improves the performance a bit, and
We also create a "canSee" method tailored for "ChunkMap#updatePlayer()", a method without the equals check (the "updatePlayer()" already checks if the entity is the same entity) because the CraftPlayer's `equals()` check is a *bit* expensive compared to only checking the object's identity, and because the identity has already been check, we don't need to check it twice. We also create a "canSee" method tailored for "ChunkMap#updatePlayer()", a method without the equals check (the "updatePlayer()" already checks if the entity is the same entity) because the CraftPlayer's `equals()` check is a *bit* expensive compared to only checking the object's identity, and because the identity has already been check, we don't need to check it twice.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index f0065fd83dbe3bd0552251b6e01f2a051a9e4ab9..6b8841a1a84f6316b89b052328bbb549b4acbe21 100644 index 56bbaab57432a78e85bc0013cd7f991f662f0cd2..c84acf874d6a9c99bdb5e0e1237130a0ae771be2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -227,7 +227,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa @@ -226,7 +226,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa
private long lastPlayed = 0; private long lastPlayed = 0;
private boolean hasPlayedBefore = false; private boolean hasPlayedBefore = false;
private final ConversationTracker conversationTracker = new ConversationTracker(); private final ConversationTracker conversationTracker = new ConversationTracker();
@@ -26,7 +26,7 @@ index f0065fd83dbe3bd0552251b6e01f2a051a9e4ab9..6b8841a1a84f6316b89b052328bbb549
private final Set<UUID> unlistedEntities = new HashSet<>(); // Paper - Add Listing API for Player private final Set<UUID> unlistedEntities = new HashSet<>(); // Paper - Add Listing API for Player
private static final WeakHashMap<Plugin, WeakReference<Plugin>> pluginWeakReferences = new WeakHashMap<>(); private static final WeakHashMap<Plugin, WeakReference<Plugin>> pluginWeakReferences = new WeakHashMap<>();
private int hash = 0; private int hash = 0;
@@ -2250,9 +2250,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa @@ -2123,9 +2123,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa
@Override @Override
public boolean canSee(org.bukkit.entity.Entity entity) { public boolean canSee(org.bukkit.entity.Entity entity) {

View File

@@ -25,7 +25,7 @@ index 09baa8c13a56e0f503815a436042b7b79b1698e4..eb182ae056d7f17f0a49e3e7d1de3d6d
@Override @Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index ac2e91d00fb0320f0c9a049ab980f6e2f5124dd9..d66c80582f66ccc7f7eada0eba28c19ef22c8ced 100644 index 413b8b0d350bf7900290f36dde0d3d7c8e03fd61..560f7192b45399947e9a805d80c36a65aa0a53eb 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1255,7 +1255,11 @@ public final class CraftServer implements Server { @@ -1255,7 +1255,11 @@ public final class CraftServer implements Server {

View File

@@ -32,10 +32,10 @@ index d7398b1ecf2660c29fb7d106b48fe02d3736603e..ab499a7eaccdc1578ec64f90f54f79b0
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 6b8841a1a84f6316b89b052328bbb549b4acbe21..56aac091b6c126132d75835af340fae40e3a03f0 100644 index c84acf874d6a9c99bdb5e0e1237130a0ae771be2..f0fa7b90efbfc23c0c68307da7a95a6c0b114665 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2825,7 +2825,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa @@ -2698,7 +2698,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa
Iterator<AttributeInstance> iterator = collection.iterator(); Iterator<AttributeInstance> iterator = collection.iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
AttributeInstance genericInstance = iterator.next(); AttributeInstance genericInstance = iterator.next();
@@ -45,10 +45,10 @@ index 6b8841a1a84f6316b89b052328bbb549b4acbe21..56aac091b6c126132d75835af340fae4
break; break;
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 9baeecc248fe9ee6d7bb6c63d6b390b048a5649c..3a36b1c3602292a0264cfbe02b9659878fd7a217 100644 index c3f0f79211e8bb0d2617c77d520a37f79c2e2e7e..f2f2ca78174ede532ababf4c12f83e5bfc69112b 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1803,6 +1803,26 @@ public class CraftEventFactory { @@ -1807,6 +1807,26 @@ public class CraftEventFactory {
} }
public static boolean handleBlockFormEvent(Level world, BlockPos pos, net.minecraft.world.level.block.state.BlockState state, int flags, @Nullable Entity entity, boolean checkSetResult) { public static boolean handleBlockFormEvent(Level world, BlockPos pos, net.minecraft.world.level.block.state.BlockState state, int flags, @Nullable Entity entity, boolean checkSetResult) {

View File

@@ -248,7 +248,7 @@ index ab499a7eaccdc1578ec64f90f54f79b0da3c0e96..6bcb8069de18e8a0f4ee9d5c71b6bdd1
} else if (!event.isAsynchronous() && !this.server.isPrimaryThread() && !this.server.isStopping()) { } else if (!event.isAsynchronous() && !this.server.isPrimaryThread() && !this.server.isStopping()) {
// DivineMC start - Multithreaded Tracker // DivineMC start - Multithreaded Tracker
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index c1d099a3f8feccf71cad7f617c3f739120b13992..6bac46bfbb30fbc9bf2b174dd4550b49ed07acfc 100644 index 89df0225f6544e226afe57b3dd19eadcb5631111..738b9000dfc72016707a2f985b9612b9f9dba7f2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -462,7 +462,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -462,7 +462,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {

View File

@@ -7,7 +7,7 @@ Original project: https://github.com/LeavesMC/Leaves
Original license: GPLv3 Original license: GPLv3
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 277858c99144c03a1ae34cfd430779d0908aad29..cf9448416116f9488df6bc0ea7caa17d59f9d677 100644 index 560f7192b45399947e9a805d80c36a65aa0a53eb..2313e95747c1e039d75b1861df3d98890f36a9e4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -499,6 +499,7 @@ public final class CraftServer implements Server { @@ -499,6 +499,7 @@ public final class CraftServer implements Server {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add missing purpur config options
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 7080b83c251e20ddf4fef69de42697aeeb1c2eda..f84cffd066c3ba13f0fc729b6bea0a51c65b41e7 100644 index b8cd96b4262bcff318620755cd57057da81a5f78..ea32c66be64197738b264ea5e56205993908dac6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -333,6 +333,7 @@ public class PurpurConfig { @@ -333,6 +333,7 @@ public class PurpurConfig {
@@ -25,10 +25,10 @@ index 7080b83c251e20ddf4fef69de42697aeeb1c2eda..f84cffd066c3ba13f0fc729b6bea0a51
org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27); org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27);
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows); enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6a9717b8ffed00bb524689cecc544219bc08874c..c7acfd74ac66a3a15e001ce49d7de26ecc6a04fa 100644 index fc9ca5b3aa0e3f7a8c18de4198eb456aeb721a0f..79c0ed8ddb39307343f9bb62205fd613a8d45981 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1229,12 +1229,20 @@ public class PurpurWorldConfig { @@ -1274,12 +1274,20 @@ public class PurpurWorldConfig {
public boolean allayControllable = true; public boolean allayControllable = true;
public double allayMaxHealth = 20.0D; public double allayMaxHealth = 20.0D;
public double allayScale = 1.0D; public double allayScale = 1.0D;
@@ -49,7 +49,7 @@ index 6a9717b8ffed00bb524689cecc544219bc08874c..c7acfd74ac66a3a15e001ce49d7de26e
} }
public boolean armadilloRidable = false; public boolean armadilloRidable = false;
@@ -1389,6 +1397,10 @@ public class PurpurWorldConfig { @@ -1434,6 +1442,10 @@ public class PurpurWorldConfig {
public double camelMovementSpeedMin = 0.09D; public double camelMovementSpeedMin = 0.09D;
public double camelMovementSpeedMax = 0.09D; public double camelMovementSpeedMax = 0.09D;
public int camelBreedingTicks = 6000; public int camelBreedingTicks = 6000;
@@ -60,7 +60,7 @@ index 6a9717b8ffed00bb524689cecc544219bc08874c..c7acfd74ac66a3a15e001ce49d7de26e
private void camelSettings() { private void camelSettings() {
camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater); camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater);
camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin); camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin);
@@ -1398,6 +1410,10 @@ public class PurpurWorldConfig { @@ -1443,6 +1455,10 @@ public class PurpurWorldConfig {
camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin); camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin);
camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax); camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax);
camelBreedingTicks = getInt("mobs.camel.breeding-delay-ticks", camelBreedingTicks); camelBreedingTicks = getInt("mobs.camel.breeding-delay-ticks", camelBreedingTicks);
@@ -71,7 +71,7 @@ index 6a9717b8ffed00bb524689cecc544219bc08874c..c7acfd74ac66a3a15e001ce49d7de26e
} }
public boolean catRidable = false; public boolean catRidable = false;
@@ -1904,12 +1920,22 @@ public class PurpurWorldConfig { @@ -1949,12 +1965,22 @@ public class PurpurWorldConfig {
public boolean frogControllable = true; public boolean frogControllable = true;
public float frogRidableJumpHeight = 0.65F; public float frogRidableJumpHeight = 0.65F;
public int frogBreedingTicks = 6000; public int frogBreedingTicks = 6000;
@@ -94,7 +94,7 @@ index 6a9717b8ffed00bb524689cecc544219bc08874c..c7acfd74ac66a3a15e001ce49d7de26e
} }
public boolean ghastRidable = false; public boolean ghastRidable = false;
@@ -2995,6 +3021,10 @@ public class PurpurWorldConfig { @@ -3040,6 +3066,10 @@ public class PurpurWorldConfig {
public double snifferMaxHealth = 14.0D; public double snifferMaxHealth = 14.0D;
public double snifferScale = 1.0D; public double snifferScale = 1.0D;
public int snifferBreedingTicks = 6000; public int snifferBreedingTicks = 6000;
@@ -105,7 +105,7 @@ index 6a9717b8ffed00bb524689cecc544219bc08874c..c7acfd74ac66a3a15e001ce49d7de26e
private void snifferSettings() { private void snifferSettings() {
snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable); snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable);
snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater); snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater);
@@ -3002,6 +3032,10 @@ public class PurpurWorldConfig { @@ -3047,6 +3077,10 @@ public class PurpurWorldConfig {
snifferMaxHealth = getDouble("mobs.sniffer.attributes.max_health", snifferMaxHealth); snifferMaxHealth = getDouble("mobs.sniffer.attributes.max_health", snifferMaxHealth);
snifferScale = Mth.clamp(getDouble("mobs.sniffer.attributes.scale", snifferScale), 0.0625D, 16.0D); snifferScale = Mth.clamp(getDouble("mobs.sniffer.attributes.scale", snifferScale), 0.0625D, 16.0D);
snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", snifferBreedingTicks); snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", snifferBreedingTicks);
@@ -116,7 +116,7 @@ index 6a9717b8ffed00bb524689cecc544219bc08874c..c7acfd74ac66a3a15e001ce49d7de26e
} }
public boolean squidRidable = false; public boolean squidRidable = false;
@@ -3103,10 +3137,20 @@ public class PurpurWorldConfig { @@ -3148,10 +3182,20 @@ public class PurpurWorldConfig {
public boolean tadpoleRidable = false; public boolean tadpoleRidable = false;
public boolean tadpoleRidableInWater = true; public boolean tadpoleRidableInWater = true;
public boolean tadpoleControllable = true; public boolean tadpoleControllable = true;
@@ -137,10 +137,10 @@ index 6a9717b8ffed00bb524689cecc544219bc08874c..c7acfd74ac66a3a15e001ce49d7de26e
} }
public boolean traderLlamaRidable = false; public boolean traderLlamaRidable = false;
@@ -3340,10 +3384,20 @@ public class PurpurWorldConfig { @@ -3386,11 +3430,21 @@ public class PurpurWorldConfig {
public boolean wardenRidable = false;
public boolean wardenRidableInWater = true; public boolean wardenRidableInWater = true;
public boolean wardenControllable = true; public boolean wardenControllable = true;
public boolean wardenCanUseSonicBoom = true;
+ // DivineMC start - Add missing purpur config options + // DivineMC start - Add missing purpur config options
+ public double wardenMaxHealth = 500.0D; + public double wardenMaxHealth = 500.0D;
+ public boolean wardenTakeDamageFromWater = false; + public boolean wardenTakeDamageFromWater = false;
@@ -150,6 +150,7 @@ index 6a9717b8ffed00bb524689cecc544219bc08874c..c7acfd74ac66a3a15e001ce49d7de26e
wardenRidable = getBoolean("mobs.warden.ridable", wardenRidable); wardenRidable = getBoolean("mobs.warden.ridable", wardenRidable);
wardenRidableInWater = getBoolean("mobs.warden.ridable-in-water", wardenRidableInWater); wardenRidableInWater = getBoolean("mobs.warden.ridable-in-water", wardenRidableInWater);
wardenControllable = getBoolean("mobs.warden.controllable", wardenControllable); wardenControllable = getBoolean("mobs.warden.controllable", wardenControllable);
wardenCanUseSonicBoom = getBoolean("mobs.warden.can-use-sonic-boom", wardenCanUseSonicBoom);
+ // DivineMC start - Add missing purpur config options + // DivineMC start - Add missing purpur config options
+ wardenMaxHealth = getDouble("mobs.warden.attributes.max_health", wardenMaxHealth); + wardenMaxHealth = getDouble("mobs.warden.attributes.max_health", wardenMaxHealth);
+ wardenTakeDamageFromWater = getBoolean("mobs.warden.takes-damage-from-water", wardenTakeDamageFromWater); + wardenTakeDamageFromWater = getBoolean("mobs.warden.takes-damage-from-water", wardenTakeDamageFromWater);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Optimize default values for configs
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index f84cffd066c3ba13f0fc729b6bea0a51c65b41e7..b08887e45e2818e5687712ea4e0939ea77ef036e 100644 index ea32c66be64197738b264ea5e56205993908dac6..dffda7d18a8065ca230ef8dea8701f411360502f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -246,7 +246,7 @@ public class PurpurConfig { @@ -246,7 +246,7 @@ public class PurpurConfig {
@@ -18,10 +18,10 @@ index f84cffd066c3ba13f0fc729b6bea0a51c65b41e7..b08887e45e2818e5687712ea4e0939ea
useAlternateKeepAlive = getBoolean("settings.use-alternate-keepalive", useAlternateKeepAlive); useAlternateKeepAlive = getBoolean("settings.use-alternate-keepalive", useAlternateKeepAlive);
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c7acfd74ac66a3a15e001ce49d7de26ecc6a04fa..bafe8dee4872aa8c32063146e10713c2c07266e4 100644 index 79c0ed8ddb39307343f9bb62205fd613a8d45981..e5a4fdc75130d69218077ebfb7fde3225bef0d84 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -3278,8 +3278,8 @@ public class PurpurWorldConfig { @@ -3323,8 +3323,8 @@ public class PurpurWorldConfig {
public boolean villagerDisplayTradeItem = true; public boolean villagerDisplayTradeItem = true;
public int villagerSpawnIronGolemRadius = 0; public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0; public int villagerSpawnIronGolemLimit = 0;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable movement speed for entities
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb7652c07f 100644 index e5a4fdc75130d69218077ebfb7fde3225bef0d84..731a77f639fb8aec80a302e8c5a0de9c68ccf6b3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1706,6 +1706,7 @@ public class PurpurWorldConfig { @@ -1751,6 +1751,7 @@ public class PurpurWorldConfig {
public boolean drownedTakeDamageFromWater = false; public boolean drownedTakeDamageFromWater = false;
public boolean drownedBreakDoors = false; public boolean drownedBreakDoors = false;
public boolean drownedAlwaysDropExp = false; public boolean drownedAlwaysDropExp = false;
@@ -16,7 +16,7 @@ index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb
private void drownedSettings() { private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -1724,6 +1725,7 @@ public class PurpurWorldConfig { @@ -1769,6 +1770,7 @@ public class PurpurWorldConfig {
drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater); drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater);
drownedBreakDoors = getBoolean("mobs.drowned.can-break-doors", drownedBreakDoors); drownedBreakDoors = getBoolean("mobs.drowned.can-break-doors", drownedBreakDoors);
drownedAlwaysDropExp = getBoolean("mobs.drowned.always-drop-exp", drownedAlwaysDropExp); drownedAlwaysDropExp = getBoolean("mobs.drowned.always-drop-exp", drownedAlwaysDropExp);
@@ -24,7 +24,7 @@ index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb
} }
public boolean elderGuardianRidable = false; public boolean elderGuardianRidable = false;
@@ -2151,6 +2153,7 @@ public class PurpurWorldConfig { @@ -2196,6 +2198,7 @@ public class PurpurWorldConfig {
public boolean huskJockeyTryExistingChickens = true; public boolean huskJockeyTryExistingChickens = true;
public boolean huskTakeDamageFromWater = false; public boolean huskTakeDamageFromWater = false;
public boolean huskAlwaysDropExp = false; public boolean huskAlwaysDropExp = false;
@@ -32,7 +32,7 @@ index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb
private void huskSettings() { private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -2168,6 +2171,7 @@ public class PurpurWorldConfig { @@ -2213,6 +2216,7 @@ public class PurpurWorldConfig {
huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens); huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens);
huskTakeDamageFromWater = getBoolean("mobs.husk.takes-damage-from-water", huskTakeDamageFromWater); huskTakeDamageFromWater = getBoolean("mobs.husk.takes-damage-from-water", huskTakeDamageFromWater);
huskAlwaysDropExp = getBoolean("mobs.husk.always-drop-exp", huskAlwaysDropExp); huskAlwaysDropExp = getBoolean("mobs.husk.always-drop-exp", huskAlwaysDropExp);
@@ -40,7 +40,7 @@ index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb
} }
public boolean illusionerRidable = false; public boolean illusionerRidable = false;
@@ -3559,6 +3563,7 @@ public class PurpurWorldConfig { @@ -3606,6 +3610,7 @@ public class PurpurWorldConfig {
public boolean zombieTakeDamageFromWater = false; public boolean zombieTakeDamageFromWater = false;
public boolean zombieAlwaysDropExp = false; public boolean zombieAlwaysDropExp = false;
public double zombieHeadVisibilityPercent = 0.5D; public double zombieHeadVisibilityPercent = 0.5D;
@@ -48,7 +48,7 @@ index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb
private void zombieSettings() { private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -3584,6 +3589,7 @@ public class PurpurWorldConfig { @@ -3631,6 +3636,7 @@ public class PurpurWorldConfig {
zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater); zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater);
zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp); zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp);
zombieHeadVisibilityPercent = getDouble("mobs.zombie.head-visibility-percent", zombieHeadVisibilityPercent); zombieHeadVisibilityPercent = getDouble("mobs.zombie.head-visibility-percent", zombieHeadVisibilityPercent);
@@ -56,7 +56,7 @@ index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb
} }
public boolean zombieHorseRidable = false; public boolean zombieHorseRidable = false;
@@ -3633,6 +3639,7 @@ public class PurpurWorldConfig { @@ -3680,6 +3686,7 @@ public class PurpurWorldConfig {
public int zombieVillagerCuringTimeMax = 6000; public int zombieVillagerCuringTimeMax = 6000;
public boolean zombieVillagerCureEnabled = true; public boolean zombieVillagerCureEnabled = true;
public boolean zombieVillagerAlwaysDropExp = false; public boolean zombieVillagerAlwaysDropExp = false;
@@ -64,7 +64,7 @@ index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb
private void zombieVillagerSettings() { private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -3653,6 +3660,7 @@ public class PurpurWorldConfig { @@ -3700,6 +3707,7 @@ public class PurpurWorldConfig {
zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax); zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax);
zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled); zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled);
zombieVillagerAlwaysDropExp = getBoolean("mobs.zombie_villager.always-drop-exp", zombieVillagerAlwaysDropExp); zombieVillagerAlwaysDropExp = getBoolean("mobs.zombie_villager.always-drop-exp", zombieVillagerAlwaysDropExp);
@@ -72,7 +72,7 @@ index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb
} }
public boolean zombifiedPiglinRidable = false; public boolean zombifiedPiglinRidable = false;
@@ -3667,6 +3675,7 @@ public class PurpurWorldConfig { @@ -3714,6 +3722,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = false; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = false;
public boolean zombifiedPiglinTakeDamageFromWater = false; public boolean zombifiedPiglinTakeDamageFromWater = false;
public boolean zombifiedPiglinAlwaysDropExp = false; public boolean zombifiedPiglinAlwaysDropExp = false;
@@ -80,7 +80,7 @@ index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb
private void zombifiedPiglinSettings() { private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -3688,6 +3697,7 @@ public class PurpurWorldConfig { @@ -3735,6 +3744,7 @@ public class PurpurWorldConfig {
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater); zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater);
zombifiedPiglinAlwaysDropExp = getBoolean("mobs.zombified_piglin.always-drop-exp", zombifiedPiglinAlwaysDropExp); zombifiedPiglinAlwaysDropExp = getBoolean("mobs.zombified_piglin.always-drop-exp", zombifiedPiglinAlwaysDropExp);

View File

@@ -2,7 +2,7 @@ group = org.bxteam.divinemc
version=1.21.10-R0.1-SNAPSHOT version=1.21.10-R0.1-SNAPSHOT
mcVersion=1.21.10 mcVersion=1.21.10
purpurRef=b66c0af93b0cdf2366943b330ef3d08c2dbf9807 purpurRef=ffe2f809feaded534170af84df7286d805e058bd
experimental=true experimental=true
org.gradle.configuration-cache=true org.gradle.configuration-cache=true