mirror of
https://github.com/BX-Team/DivineMC.git
synced 2025-12-19 14:59:25 +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:
@@ -114,17 +114,17 @@
|
||||
options.isDocFilesSubDirs = true
|
||||
options.links(
|
||||
- "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://javadoc.io/doc/org.yaml/snakeyaml/2.3/", // DivineMC - Bump dependencies
|
||||
//"https://javadoc.io/doc/org.jetbrains/annotations/$annotationsVersion/",
|
||||
//"https://javadoc.io/doc/org.joml/joml/1.10.8/",
|
||||
//"https://www.javadoc.io/doc/com.google.code.gson/gson/2.11.0",
|
||||
"https://www.javadocs.dev/org.jetbrains/annotations/$annotationsVersion/",
|
||||
"https://www.javadocs.dev/org.joml/joml/1.10.8/",
|
||||
"https://www.javadocs.dev/com.google.code.gson/gson/2.11.0",
|
||||
@@ -197,7 +_,7 @@
|
||||
"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://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
|
||||
)
|
||||
options.tags("apiNote:a:API Note:")
|
||||
|
||||
@@ -39,10 +39,10 @@ index fbee4ab2faaeba8d798aaba2e1837315ed56a184..581d71e716e8ecfe9ab2c4d3947c86c6
|
||||
+ // 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
|
||||
index 995e419ae77afad15aa2729277f81016f382e543..dfd6138ad4040eedd1b413c9c6087071afd6af84 100644
|
||||
index 84569b53a4e39a2a642a8f0638f8970fb0cb8b0f..9bf0c54bbc89a9c6aa4f00424628786679b56937 100644
|
||||
--- a/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);
|
||||
// Purpur end - Fire Immunity API
|
||||
|
||||
@@ -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
|
||||
index 116428b3482871c4f26c7244bb8b5a0dd846192e..817f3891bb057791117145f26ab63a186ad6689d 100644
|
||||
index 9bf0c54bbc89a9c6aa4f00424628786679b56937..3e5a671edc77a1ba4b70e5938d9d178a8075a1a3 100644
|
||||
--- a/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);
|
||||
// Paper end - broadcast hurt animation
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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.
|
||||
|
||||
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
|
||||
+++ b/src/main/java/org/bukkit/map/MapPalette.java
|
||||
@@ -35,7 +35,7 @@ public final class MapPalette {
|
||||
@@ -7,7 +7,7 @@
|
||||
+val bxTeamMavenPublicUrl = "https://repo.bxteam.org/snapshots/"
|
||||
|
||||
dependencies {
|
||||
mache("io.papermc:mache:1.21.10+build.4")
|
||||
mache("io.papermc:mache:1.21.10+build.7")
|
||||
@@ -26,6 +_,7 @@
|
||||
|
||||
// Purpur start - Rebrand
|
||||
|
||||
@@ -1537,7 +1537,7 @@ index b8b641caf8b82f4071bfeff37d50ef65ff2a0505..d182aafc4c8b4ea657ec3228c45fb29f
|
||||
for (Entity entity : passengerEntity.getPassengers()) {
|
||||
this.tickPassenger(passengerEntity, entity, isActive); // Paper - EAR 2
|
||||
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
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -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.Difficulty;
|
||||
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();
|
||||
*/
|
||||
// CraftBukkit end
|
||||
- ProfilerFiller profilerFiller = Profiler.get();
|
||||
- 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();
|
||||
}
|
||||
|
||||
- profilerFiller.pop();
|
||||
- profilerFiller.push("placing");
|
||||
// CraftBukkit start
|
||||
this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds
|
||||
LevelData worlddata = level.getLevelData();
|
||||
@@ -1585,7 +1579,6 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
|
||||
this.portalPos = org.bukkit.craftbukkit.util.CraftLocation.toBlockPosition(exit); // Purpur - Fix stuck in portals
|
||||
this.setServerLevel(level);
|
||||
this.connection.internalTeleport(PositionMoveRotation.of(teleportTransition), teleportTransition.relatives()); // CraftBukkit - use internal teleport without event
|
||||
this.connection.resetPosition();
|
||||
level.addDuringTeleport(this);
|
||||
@@ -1799,7 +1797,7 @@ index 39a604c9a53930b53d959b1d2eb504aa964e9a58..0d0380e3955836ce125f777841477503
|
||||
|
||||
@Override
|
||||
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
|
||||
+++ b/net/minecraft/world/entity/Entity.java
|
||||
@@ -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.InteractionResult;
|
||||
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
|
||||
|
||||
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
|
||||
this.inBlockState = null;
|
||||
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) {
|
||||
Leashable.tickLeash(serverLevelx, (Entity & Leashable)this);
|
||||
}
|
||||
@@ -1829,7 +1827,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
|
||||
}
|
||||
|
||||
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 (type != MoverType.PISTON) {
|
||||
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.
|
||||
if (isTemporarilyActive && !(this instanceof ItemEntity) && movement == getDeltaMovement() && type == MoverType.SELF) {
|
||||
setDeltaMovement(Vec3.ZERO);
|
||||
@@ -1846,7 +1844,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
|
||||
return;
|
||||
}
|
||||
// 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);
|
||||
}
|
||||
|
||||
@@ -1855,7 +1853,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
|
||||
boolean flag = !Mth.equal(movement.x, vec3.x);
|
||||
boolean flag1 = !Mth.equal(movement.z, vec3.z);
|
||||
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()) {
|
||||
@@ -1863,7 +1861,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
|
||||
} else {
|
||||
if (this.horizontalCollision) {
|
||||
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();
|
||||
this.setDeltaMovement(this.getDeltaMovement().multiply(blockSpeedFactor, 1.0, blockSpeedFactor));
|
||||
@@ -1871,7 +1869,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
|
||||
}
|
||||
}
|
||||
// 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();
|
||||
if (this.portalProcess != null) {
|
||||
if (this.portalProcess.processPortalTeleportation(serverLevel, this, this.canUsePortal(false))) {
|
||||
@@ -1880,7 +1878,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
|
||||
this.setPortalCooldown();
|
||||
TeleportTransition portalDestination = this.portalProcess.getPortalDestination(serverLevel, this);
|
||||
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);
|
||||
}
|
||||
}
|
||||
@@ -1889,7 +1887,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
|
||||
} else if (this.portalProcess.hasExpired()) {
|
||||
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));
|
||||
}
|
||||
|
||||
@@ -1905,7 +1903,7 @@ index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3
|
||||
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;
|
||||
} else {
|
||||
// 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();
|
||||
teleportTransition.postTeleportTransition().onTransition(entityx);
|
||||
this.teleportSpectators(teleportTransition, oldLevel);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
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
|
||||
+++ b/net/minecraft/core/Direction.java
|
||||
@@ -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) {
|
||||
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
|
||||
+++ b/net/minecraft/world/phys/AABB.java
|
||||
@@ -19,6 +19,15 @@ public class AABB {
|
||||
@@ -11,7 +11,7 @@ As part of: C2ME-fabric (https://github.com/RelativityMC/C2ME-fabric)
|
||||
Licensed under: MIT
|
||||
|
||||
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
|
||||
+++ b/net/minecraft/world/level/ChunkPos.java
|
||||
@@ -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) {
|
||||
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
|
||||
+++ b/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java
|
||||
@@ -73,7 +73,10 @@ public final class NoiseBasedChunkGenerator extends ChunkGenerator {
|
||||
@@ -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
|
||||
index 010e9814490ffaa153df5b7865da17e2a84c7e82..f43dbc0fc05f549521490595fe594c424b2e8a87 100644
|
||||
index 66be73fe9ad14646057fa51b7c537a86c1e84ab9..4371fd03e4b5bd3a18024e0a9ee0e75cd77137e9 100644
|
||||
--- a/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
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Optimize entities
|
||||
|
||||
|
||||
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
|
||||
+++ b/net/minecraft/world/entity/AgeableMob.java
|
||||
@@ -126,6 +126,16 @@ public abstract class AgeableMob extends PathfinderMob {
|
||||
@@ -26,10 +26,10 @@ index 065553a549e54492e8fe42fe7dc61d11ac8da6ef..402955e7042f01bdb8296a43bcca52db
|
||||
|
||||
super.onSyncedDataUpdated(key);
|
||||
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
|
||||
+++ 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) {
|
||||
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 flag1 = this.level instanceof ServerLevel serverLevel
|
||||
&& 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;
|
||||
} else {
|
||||
atomicInteger.set(index);
|
||||
@@ -512,7 +512,7 @@ index 5b0cadd2544fb2a627822e645ff32fec2e9cfda9..02508662c722a515cfd78f872c8ba8bb
|
||||
public static enum Status {
|
||||
STOPPED,
|
||||
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
|
||||
+++ b/net/minecraft/world/entity/ai/behavior/LongJumpToRandomPos.java
|
||||
@@ -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) {
|
||||
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
|
||||
index 80714e2a6e74047af89680c261e2dbc097d86062..73fe7a8c216aed7dc2274fd53fb126d85ec5137d 100644
|
||||
index 7ed4685600fb0d03d90e4b7e6044ee8c466ecd72..58ee22461c0330e2fbbbf283c154b8141e2d1953 100644
|
||||
--- a/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 {
|
||||
@@ -19,7 +19,7 @@ we used a prebaked list of all the possible colors and combinations, however thi
|
||||
datapack to change it.
|
||||
|
||||
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
|
||||
+++ b/net/minecraft/world/item/DyeColor.java
|
||||
@@ -112,6 +112,15 @@ public enum DyeColor implements StringRepresentable {
|
||||
@@ -25,7 +25,7 @@ index f7bb979f08634a7e1b77c59040f59fb5e11aafa5..e0eca73d9e8a77b2a4972db61001394c
|
||||
for (int i1 = 0; i1 < this.height; i1++) {
|
||||
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
|
||||
index 7f9bd256da15da915db1c45099572d9eb3286166..fe586b99bdf7c145b7a51afc9f4ca910f22af6d8 100644
|
||||
index 16156eb8e8bee376950a5f1efc9ac5e295716c61..4319cbd1c87629e125bd7ff4d71bdc8b40084469 100644
|
||||
--- a/net/minecraft/world/level/dimension/end/EndDragonFight.java
|
||||
+++ b/net/minecraft/world/level/dimension/end/EndDragonFight.java
|
||||
@@ -273,8 +273,68 @@ public class EndDragonFight {
|
||||
@@ -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
|
||||
index dc180d67066436263370d8bf55dafabad7c34004..46cf071e34c8b46c0dafadb14eb6fc1bb1c4d9a8 100644
|
||||
index edc358b08b94a12f2727c805e2254197df0ae25a..36c2b6d15373cf50a91f45df497d82a963696386 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -852,7 +852,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -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
|
||||
index 9b13991088a5e5f4d7697588777e5252ae67b73a..449d86680bd7c084287cab6ba31466a889ae52cd 100644
|
||||
index af9cf917f20a34479e01b63e686c65b2c783cea1..b344e6d0217500846852fa753075f1d58d3d50d8 100644
|
||||
--- a/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 {
|
||||
@@ -24,7 +24,7 @@ index 9b13991088a5e5f4d7697588777e5252ae67b73a..449d86680bd7c084287cab6ba31466a8
|
||||
+ // 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
|
||||
index 49694d7fe529fb8197ab4a3a7412d6923ee1bda7..bfa08f51aab4f5cfa0ef0a66075c6a266f586d0a 100644
|
||||
index c0b423967d6361a5d8ef11a5855c025e31948fe5..1dd963aae166e059107aac1d585ccc3199afb66d 100644
|
||||
--- a/net/minecraft/world/entity/projectile/Snowball.java
|
||||
+++ b/net/minecraft/world/entity/projectile/Snowball.java
|
||||
@@ -94,4 +94,14 @@ public class Snowball extends ThrowableItemProjectile {
|
||||
@@ -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
|
||||
index bfa08f51aab4f5cfa0ef0a66075c6a266f586d0a..9fb9244ad95a5fa64df6beb3e7208c7598216132 100644
|
||||
index 1dd963aae166e059107aac1d585ccc3199afb66d..0e594fe6cd25ac713ab70db167e276532d9fd993 100644
|
||||
--- a/net/minecraft/world/entity/projectile/Snowball.java
|
||||
+++ b/net/minecraft/world/entity/projectile/Snowball.java
|
||||
@@ -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
|
||||
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
|
||||
+++ b/net/minecraft/world/entity/projectile/ThrownEgg.java
|
||||
@@ -54,7 +54,14 @@ public class ThrownEgg extends ThrowableItemProjectile {
|
||||
@@ -7,7 +7,7 @@ Original license: GPL v3
|
||||
Original project: https://github.com/pufferfish-gg/Pufferfish
|
||||
|
||||
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
|
||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -426,6 +426,12 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
@@ -7,7 +7,7 @@ Original license: GPL v3
|
||||
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
|
||||
index bf5fedd1dc7eea2a36edfb1420efe207ac409085..f4e90ced5ce5acd3a51f99cea905c92aa9c40e4f 100644
|
||||
index e4d6610c43a019e9e1e296703e80eecc4ffdd36c..5607e5712795a0c979bc11ac335f9bb38668d503 100644
|
||||
--- a/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 {
|
||||
@@ -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
|
||||
index 592b4f139a184f0522e350f5b83777b235eb243c..12650e3981fe48ab0cb4398e021e768eea03bd60 100644
|
||||
index 5a947d7fbf1a08011d87f71b96a8f221130fb583..28fb51950c38ffbc88c3e01c113310fd2bccd097 100644
|
||||
--- a/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 {
|
||||
@@ -17,7 +17,7 @@ index 592b4f139a184f0522e350f5b83777b235eb243c..12650e3981fe48ab0cb4398e021e768e
|
||||
|
||||
@Override
|
||||
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
|
||||
+++ b/net/minecraft/world/entity/monster/Husk.java
|
||||
@@ -42,6 +42,7 @@ public class Husk extends Zombie {
|
||||
@@ -29,7 +29,7 @@ index f2c55aa23ec647af6907b349b937c98fffd95523..33b32d0a9f29628ea4c59e72a1157a83
|
||||
|
||||
@Override
|
||||
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
|
||||
+++ b/net/minecraft/world/entity/monster/Zombie.java
|
||||
@@ -125,6 +125,7 @@ public class Zombie extends Monster {
|
||||
@@ -49,7 +49,7 @@ index 63b29933e262115062a082dcaed0d16146a181bd..6c41126ad4b485a3dad8fafc8e26defc
|
||||
.add(Attributes.ARMOR, 2.0)
|
||||
.add(Attributes.SPAWN_REINFORCEMENTS_CHANCE);
|
||||
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
|
||||
+++ b/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
@@ -94,6 +94,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||
@@ -61,7 +61,7 @@ index 24378d21c12038c3b649fa4766bd9c66cb4afd54..3667ef042057bb1f6006c421e67cfd1c
|
||||
|
||||
@Override
|
||||
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
|
||||
+++ b/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
@@ -86,6 +86,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
||||
@@ -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
|
||||
index 46cf071e34c8b46c0dafadb14eb6fc1bb1c4d9a8..93fc67f8cf60be489249d83a748490b653953e7a 100644
|
||||
index 36c2b6d15373cf50a91f45df497d82a963696386..a306147f4b8213363f96745f4cd33a5a3b01777b 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -617,7 +617,7 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Optimize Raids
|
||||
|
||||
|
||||
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
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -223,6 +223,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -59,7 +59,7 @@ index adae4ef6b2f5019b79838eddf0255200096bccd9..97b9676c03b4b2d2aea7fd7c7dff3e6c
|
||||
|
||||
public float getHealthOfLivingRaiders() {
|
||||
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
|
||||
+++ b/net/minecraft/world/entity/raid/Raider.java
|
||||
@@ -43,9 +43,25 @@ import net.minecraft.world.phys.Vec3;
|
||||
@@ -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
|
||||
index 9aa55456d18ffa3ad5cc300ed321582b2a7af1d1..af687853650d9fc58b23d88a7c6e19f36615e8b7 100644
|
||||
index c93302f2457c71caae6f56c59d3a66357a0a6cd6..d37624464962f534ea6fe8672ad2157a40d2111c 100644
|
||||
--- a/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;
|
||||
@@ -287,7 +287,7 @@ index 4a333e87af17bd5b673b57c0fa0d3a239fb8db59..e5569978a23c5bde673146421963a2ff
|
||||
if (packet == null || this.processedDisconnect) { // Spigot
|
||||
return;
|
||||
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
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -181,7 +181,7 @@ public abstract class PlayerList {
|
||||
@@ -299,7 +299,7 @@ index 78d0595edb26a8ee29143c86164d01056132fa08..2425ecc8c27647acb5cb6ef1989cc7db
|
||||
)
|
||||
);
|
||||
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) {
|
||||
@@ -25,7 +25,7 @@ index f9d60a28763e2c45b5dcf9687b8999fb73817aa9..3de2d76bf118750932a56d02233e4e6a
|
||||
this.tickCount++;
|
||||
this.tickRateManager.tick();
|
||||
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
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -224,6 +224,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -36,7 +36,7 @@ index 3de2d76bf118750932a56d02233e4e6aff0b2728..690c67f2051996d0888a946b8c089d39
|
||||
|
||||
public ChatDecorator getChatDecorator() {
|
||||
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
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -844,8 +844,11 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -24,7 +24,7 @@ index 4fc29f7aae32180f86af971f7f80a37aa6e797e4..ea3d63856ed487c4d23b0448c97169c2
|
||||
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();
|
||||
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
|
||||
+++ b/net/minecraft/network/protocol/game/ClientboundLevelChunkPacketData.java
|
||||
@@ -75,6 +75,52 @@ public class ClientboundLevelChunkPacketData {
|
||||
@@ -171,7 +171,7 @@ index 644948d64791d0ffa4166375d0f4419f1ffa214a..f2d563076fd4e723372042df108f7f6c
|
||||
// Paper start - PlayerChunkLoadEvent
|
||||
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
|
||||
index 66ef3678fd70c5f15a13eee95f4046697e46b077..ecb04bc9f42cd55949aab9f21e052619a6d0afca 100644
|
||||
index 201ba8b6ea45f526fbd5292164bb4cb6c066d9a8..fbfb6b9cef706d376867aee45a358b1d69ce6fa4 100644
|
||||
--- a/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_
|
||||
@@ -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
|
||||
index 8bb72b05707250774fca1def7764036f04d2a896..4a6ccf073db21a40edbedf1122258e7cef68b857 100644
|
||||
index b6cebd8f5741cd3058d4ab3996d15d9e1e0fc3b4..a0e2ec323b07a85a91c36bc222df671ae491955e 100644
|
||||
--- a/net/minecraft/world/level/BaseCommandBlock.java
|
||||
+++ b/net/minecraft/world/level/BaseCommandBlock.java
|
||||
@@ -35,6 +35,10 @@ public abstract class BaseCommandBlock {
|
||||
@@ -43,10 +43,10 @@ index 646ca37bba6da8ab0babbf4a1e6ba88e75658e72..1d9b32476c1b89984f1afa8e906ca094
|
||||
if (!tickRateManager.isEntityFrozen(entity)) {
|
||||
entity.checkDespawn();
|
||||
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
|
||||
+++ 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
|
||||
private final int despawnTime; // Paper - entity despawn time limit
|
||||
public int totalEntityAge; // Paper - age-like counter for all entities
|
||||
@@ -391,7 +391,7 @@ index 737a6ff0bfec9b555fa425619d97b80ef95cb3e6..cfa2c3aa357a0dbb7edf7f0c8cebea5e
|
||||
}
|
||||
|
||||
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
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -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
|
||||
index 58ab04ba1296904bbff1abc549c0efa5b6f239c5..b0c702253173c86362907cba71e3c0a5f408edf2 100644
|
||||
index 53f3193cbd6ddb53dde771a28f15aec5aee49d66..64e5743aed23b4004de32122b880f99cb70eac8a 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1942,7 +1942,6 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -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
|
||||
|
||||
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
|
||||
+++ b/net/minecraft/server/MinecraftServer.java
|
||||
@@ -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 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
|
||||
index f9ec63ed7feb67e558abed99746726c10e9e10f4..78f831bf369906396860a73b9aaff5dc67bcfa09 100644
|
||||
index d2ac3057cd6d27c9f0ec043421cbb72b57853b97..c37851095cfe637a2768de0aa179efe66e9a4cde 100644
|
||||
--- a/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -452,7 +452,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -34,7 +34,7 @@ index f9ec63ed7feb67e558abed99746726c10e9e10f4..78f831bf369906396860a73b9aaff5dc
|
||||
return true;
|
||||
}
|
||||
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
|
||||
+++ b/net/minecraft/server/level/ServerChunkCache.java
|
||||
@@ -183,6 +183,10 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
@@ -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
|
||||
index 850da365c388801f2083fd1471cc32ce86297de0..1c02152f1761476b19ac36e367d945c111854c0a 100644
|
||||
index 189488367329df837f4a98cda5af2c80d8847b96..67e777a0f0f71c620014234e889f5792667321a7 100644
|
||||
--- a/net/minecraft/world/entity/ExperienceOrb.java
|
||||
+++ b/net/minecraft/world/entity/ExperienceOrb.java
|
||||
@@ -50,6 +50,10 @@ public class ExperienceOrb extends Entity {
|
||||
@@ -370,7 +370,7 @@ index d8f0bd8173836796ecdd9771b637d24c7a807a79..e23f2004705fc299934a8b30e736ddf0
|
||||
}
|
||||
}
|
||||
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
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -186,7 +186,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -467,18 +467,18 @@ index fad9facf999f7f98ea8acc6ffd87114aa21a1b3c..dbc0b9f926f2738f305477730ca1ab91
|
||||
// Paper start - extra debug info
|
||||
if (entity.valid) {
|
||||
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
|
||||
+++ 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 ramBar = false; // Purpur - Implement rambar commands
|
||||
public boolean smoothWorldTeleport; // DivineMC - Smooth teleport API
|
||||
+ public boolean hasTickedAtLeastOnceInNewWorld = false; // DivineMC - Parallel world ticking
|
||||
|
||||
// Paper start - rewrite chunk system
|
||||
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
|
||||
public void tick() {
|
||||
@@ -486,15 +486,15 @@ index 3d983372c1f519066f980fd19db9b7d3c36b35dd..9ca749141b063b84042285116cb65c8e
|
||||
// CraftBukkit start
|
||||
if (this.joining) {
|
||||
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;
|
||||
} 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)
|
||||
/*
|
||||
this.isChangingDimension = true;
|
||||
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();
|
||||
} else {
|
||||
// CraftBukkit start
|
||||
@@ -507,7 +507,7 @@ index 3d983372c1f519066f980fd19db9b7d3c36b35dd..9ca749141b063b84042285116cb65c8e
|
||||
this.containerMenu = abstractContainerMenu; // Moved up
|
||||
if (!this.isImmobile())
|
||||
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
|
||||
public void closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason reason) {
|
||||
@@ -520,7 +520,7 @@ index 3d983372c1f519066f980fd19db9b7d3c36b35dd..9ca749141b063b84042285116cb65c8e
|
||||
// Paper end - Inventory close reason
|
||||
this.connection.send(new ClientboundContainerClosePacket(this.containerMenu.containerId));
|
||||
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
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -149,6 +149,7 @@ public abstract class PlayerList {
|
||||
@@ -531,29 +531,22 @@ index 2425ecc8c27647acb5cb6ef1989cc7db715d2392..1ce1de38992f1368bf49432d690bebb0
|
||||
player.isRealPlayer = true; // Paper
|
||||
player.loginTime = System.currentTimeMillis(); // Paper - Replace OfflinePlayer#getLastPlayed
|
||||
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) {
|
||||
+ // DivineMC start - Parallel world ticking
|
||||
+ if (org.bxteam.divinemc.config.DivineConfig.AsyncCategory.enableParallelWorldTicking) {
|
||||
+ if (location != null)
|
||||
+ ca.spottedleaf.moonrise.common.util.TickThread.ensureOnlyTickThread("Cannot respawn player off-main, from world " + player.level().getWorld().getName() + " to world " + location.getWorld().getName());
|
||||
+ else
|
||||
+ ca.spottedleaf.moonrise.common.util.TickThread.ensureOnlyTickThread("Cannot respawn player off-main, respawning in world " + player.level().getWorld().getName());
|
||||
+ }
|
||||
+ // DivineMC end - Parallel world ticking
|
||||
player.stopRiding(); // CraftBukkit
|
||||
// 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;
|
||||
// Paper start - respawn event
|
||||
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) ca.spottedleaf.moonrise.common.util.TickThread.ensureOnlyTickThread("Cannot respawn player off-main, respawning in world " + player.level().getWorld().getName()); // DivineMC - Parallel world ticking
|
||||
ServerPlayer.RespawnResult result = player.findRespawnPositionAndUseSpawnBlock0(!keepInventory, TeleportTransition.DO_NOTHING, respawnReason);
|
||||
if (result == null) { // disconnected player during the respawn event
|
||||
return player;
|
||||
@@ -608,6 +610,7 @@ public abstract class PlayerList {
|
||||
player.level().removePlayerImmediately(player, reason);
|
||||
ServerLevel level = teleportTransition.newLevel();
|
||||
ServerPlayer serverPlayer = player; // Paper - TODO - recreate instance
|
||||
+ serverPlayer.hasTickedAtLeastOnceInNewWorld = false; // DivineMC - Parallel world ticking
|
||||
// CraftBukkit end
|
||||
serverPlayer.connection = player.connection;
|
||||
serverPlayer.restoreFrom(player, keepInventory);
|
||||
serverPlayer.setId(player.getId());
|
||||
diff --git a/net/minecraft/server/waypoints/ServerWaypointManager.java b/net/minecraft/server/waypoints/ServerWaypointManager.java
|
||||
index f9e7532f86122a379692561a639a209a126e8bba..839f6b7696ef85314da185bedba7cfc5870c314a 100644
|
||||
--- a/net/minecraft/server/waypoints/ServerWaypointManager.java
|
||||
@@ -640,10 +633,10 @@ index f9e7532f86122a379692561a639a209a126e8bba..839f6b7696ef85314da185bedba7cfc5
|
||||
if (isLocatorBarEnabledFor(player)) {
|
||||
if (!connection.isBroken()) {
|
||||
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
|
||||
+++ 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.processPortalTeleportation(serverLevel, this, this.canUsePortal(false))) {
|
||||
this.setPortalCooldown();
|
||||
@@ -684,7 +677,7 @@ index ee8cdf62642b2713dbae9d1735db7c5e5fd55a55..714a7722a45798a445acf3aeb1e7db5d
|
||||
} else if (this.portalProcess.hasExpired()) {
|
||||
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
|
||||
private Entity teleportCrossDimension(ServerLevel oldLevel, ServerLevel newLevel, TeleportTransition teleportTransition) {
|
||||
@@ -25,7 +25,7 @@ index fd9ef48ac8b23e8b409c00d154dbea27b701e3bc..6a714d59d01eafcd833f05208a948bf3
|
||||
CrashReport crashReport = CrashReport.forThrowable(levelTickingException, "Exception ticking world");
|
||||
serverLevel.fillReportDetails(crashReport);
|
||||
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
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -596,6 +596,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -11,7 +11,7 @@ As part of: C2ME (https://github.com/RelativityMC/C2ME-fabric)
|
||||
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
|
||||
index 1e1536099261f578fa56b9f84f28157e4a9abafa..e88890ef7de33c30e062d7da2beef6d12d75d296 100644
|
||||
index d672f425368e4489b2477da7c049670e72b46306..c2c190a6d88691ae01613651c7dc21fdc89d5293 100644
|
||||
--- a/net/minecraft/world/level/levelgen/Aquifer.java
|
||||
+++ b/net/minecraft/world/level/levelgen/Aquifer.java
|
||||
@@ -98,6 +98,13 @@ public interface Aquifer {
|
||||
@@ -10,7 +10,7 @@ Original project: https://github.com/LogisticsCraft/OcclusionCulling
|
||||
Original license: MIT
|
||||
|
||||
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
|
||||
+++ b/net/minecraft/world/entity/Entity.java
|
||||
@@ -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
|
||||
// CraftBukkit start
|
||||
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;
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
@@ -95,7 +95,7 @@ index e5569978a23c5bde673146421963a2ff0905d514..65d74d0021b48e92f8d06ad19a255023
|
||||
bridge.removeChannel(channel);
|
||||
}
|
||||
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
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -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
|
||||
org.purpurmc.purpur.task.BossBarTask.removeFromAll(player.getBukkitEntity()); // Purpur - Implement TPSBar
|
||||
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.getRecipeBook().sendInitialRecipeBook(serverPlayer);
|
||||
}
|
||||
@@ -102,10 +102,10 @@ index 86469253ecc2a142b70c2601cbc50fe9ffbfedea..66eddcb27d9d3e8af7a5911225397aef
|
||||
|
||||
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
|
||||
index 0e7a870e85be7f3a2856ce0ca9c861295a66e032..e8fdcb827af1d7e04bcf1918922e89929d29eba0 100644
|
||||
index 3248a68175708fd7b10020113475844ae3fd2a8f..d767cc3ca7e559640cfde7f1f765b87c3d9c16ea 100644
|
||||
--- a/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;
|
||||
}
|
||||
|
||||
@@ -135,7 +135,7 @@ index 0e7a870e85be7f3a2856ce0ca9c861295a66e032..e8fdcb827af1d7e04bcf1918922e8992
|
||||
if (this.noPhysics) {
|
||||
this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z);
|
||||
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));
|
||||
}
|
||||
}
|
||||
@@ -149,7 +149,7 @@ index 0e7a870e85be7f3a2856ce0ca9c861295a66e032..e8fdcb827af1d7e04bcf1918922e8992
|
||||
}
|
||||
|
||||
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) {
|
||||
@@ -159,7 +159,7 @@ index 0e7a870e85be7f3a2856ce0ca9c861295a66e032..e8fdcb827af1d7e04bcf1918922e8992
|
||||
}
|
||||
|
||||
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
|
||||
if (this.position.x != x || this.position.y != y || this.position.z != z) {
|
||||
@@ -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
|
||||
index 4be37952a3502f6dbd62932de7dd9cbed1488312..97bcad549d7e2de53ea74753f4e9d6832c678c58 100644
|
||||
index e2040f79550bdfacf32c94c369284d28526ed2ea..9018f3fe36a2786de380bc8e4d5cfb9425325b36 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
@@ -86,10 +86,7 @@ public class ServerPlayerGameMode {
|
||||
@@ -39,7 +39,7 @@ index 4be37952a3502f6dbd62932de7dd9cbed1488312..97bcad549d7e2de53ea74753f4e9d683
|
||||
+ // DivineMC end - Do not send spectator change packet
|
||||
}
|
||||
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
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -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
|
||||
player.sentListPacket = true;
|
||||
@@ -1393,4 +1397,69 @@ public abstract class PlayerList {
|
||||
@@ -1337,4 +1341,69 @@ public abstract class PlayerList {
|
||||
public boolean isAllowCommandsForAllPlayers() {
|
||||
return this.allowCommandsForAllPlayers;
|
||||
}
|
||||
@@ -8,7 +8,7 @@ Original project: https://github.com/PaperMC/Paper
|
||||
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
|
||||
index 57577a81888203f1e19dc8a804ca9f1ee764c49e..eab5505b10c1044f864a7327b18f1389fd09765f 100644
|
||||
index df4b28f16e0cd2ddcf094b8bc60f13e7707ab84b..a11f16112bbc064f5fa011574f7f495a04737374 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -209,10 +209,15 @@ public abstract class PlayerList {
|
||||
@@ -18,7 +18,7 @@ index 6d1fe8028739145b11fce98ad62b2f8044299548..9f086ded18d1fc8850877c6be113d880
|
||||
// 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);
|
||||
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
|
||||
+++ b/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -830,10 +830,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -37,7 +37,7 @@ index feefe51469843707afb2ecd4aaa3c9da2e089eb5..c7e418e5f7ca7f177df4e9432a0963f8
|
||||
|
||||
protected NonNullList(List<E> list, @Nullable E defaultValue) {
|
||||
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
|
||||
+++ b/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -132,8 +132,10 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -54,7 +54,7 @@ index 5fb9a4cebf7407b8166ea5716c48a68e658d68d3..304ff53e2c21c6153ff8f04436eae66b
|
||||
public int serverViewDistance;
|
||||
public final WorldGenContext worldGenContext; // Paper - public
|
||||
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
|
||||
+++ b/net/minecraft/world/level/Level.java
|
||||
@@ -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);
|
||||
|
||||
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
|
||||
+++ b/net/minecraft/world/level/chunk/ProtoChunk.java
|
||||
@@ -45,7 +45,7 @@ public class ProtoChunk extends ChunkAccess {
|
||||
@@ -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)
|
||||
|
||||
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
|
||||
+++ b/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
@@ -389,10 +389,13 @@ public class LevelChunk extends ChunkAccess implements DebugValueSource, ca.spot
|
||||
@@ -96,10 +96,10 @@ index 8e6f097b4d17aaaf8eccc16e11ce2bd01ad63322..ded99b157865f5bcfd64b3082c628a71
|
||||
|
||||
int getContainerSize();
|
||||
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
|
||||
+++ 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());
|
||||
}
|
||||
// Paper end - Block invalid positions and bounding box
|
||||
@@ -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
|
||||
index eab5505b10c1044f864a7327b18f1389fd09765f..c16fabf873f69adee6ba6d6dbf9b07574e82a12d 100644
|
||||
index a11f16112bbc064f5fa011574f7f495a04737374..6284c770132d63b9569ca967ac14d367148177d6 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -99,10 +99,12 @@ import net.minecraft.world.scores.Team;
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/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()));
|
||||
if (gameMode == GameType.SPECTATOR) {
|
||||
this.removeEntitiesOnShoulder();
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1068,6 +_,7 @@
|
||||
player.connection.send(new ClientboundInitializeBorderPacket(worldBorder));
|
||||
player.connection.send(new ClientboundSetTimePacket(level.getGameTime(), level.getDayTime(), level.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)));
|
||||
player.connection.send(new ClientboundSetDefaultSpawnPositionPacket(level.getRespawnData()));
|
||||
@@ -1025,6 +_,7 @@
|
||||
player.connection.send(new ClientboundSetChunkCacheRadiusPacket(level.spigotConfig.viewDistance));
|
||||
player.connection.send(new ClientboundSetSimulationDistancePacket(level.spigotConfig.simulationDistance));
|
||||
// Paper end
|
||||
+ org.leavesmc.leaves.protocol.XaeroMapProtocol.onSendWorldInfo(player); // DivineMC - Leaves: Xaero's Map Protocol
|
||||
if (level.isRaining()) {
|
||||
// CraftBukkit start - handle player weather
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/world/entity/Entity.java
|
||||
+++ b/net/minecraft/world/entity/Entity.java
|
||||
@@ -376,6 +_,7 @@
|
||||
@@ -375,6 +_,7 @@
|
||||
public boolean isTemporarilyActive;
|
||||
public long activatedImmunityTick = Integer.MIN_VALUE;
|
||||
public @Nullable Boolean immuneToFire = null; // Purpur - Fire immune API
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
public void inactiveTick() {
|
||||
}
|
||||
@@ -1131,6 +_,7 @@
|
||||
@@ -1130,6 +_,7 @@
|
||||
// Paper end - detailed watchdog information
|
||||
|
||||
public void move(MoverType type, Vec3 movement) {
|
||||
@@ -16,7 +16,7 @@
|
||||
final Vec3 originalMovement = movement; // Paper - Expose pre-collision velocity
|
||||
// Paper start - detailed watchdog information
|
||||
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
|
||||
@@ -24,7 +24,7 @@
|
||||
if (this.isVehicle()) {
|
||||
ValueOutput.ValueOutputList valueOutputList = output.childrenList("Passengers");
|
||||
|
||||
@@ -2741,6 +_,7 @@
|
||||
@@ -2733,6 +_,7 @@
|
||||
this.tags.clear();
|
||||
input.read("Tags", TAG_LIST_CODEC).ifPresent(this.tags::addAll);
|
||||
this.readAdditionalSaveData(input);
|
||||
@@ -32,7 +32,7 @@
|
||||
if (this.repositionEntityAfterLoad()) {
|
||||
this.reapplyPosition();
|
||||
}
|
||||
@@ -4297,6 +_,7 @@
|
||||
@@ -4264,6 +_,7 @@
|
||||
}
|
||||
|
||||
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 (fromLevel.dimension() == Level.END && toLevel.dimension() == Level.OVERWORLD) {
|
||||
for (Entity entity : this.getPassengers()) {
|
||||
@@ -4526,6 +_,7 @@
|
||||
@@ -4493,6 +_,7 @@
|
||||
}
|
||||
|
||||
public final void setBoundingBox(AABB bb) {
|
||||
|
||||
@@ -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
|
||||
index 0b536e4ee904cba3a724d98d491185cfded3d723..9baeecc248fe9ee6d7bb6c63d6b390b048a5649c 100644
|
||||
index 691c7e393ff6a0d4b132f25b6de2b346b97f7169..c3f0f79211e8bb0d2617c77d520a37f79c2e2e7e 100644
|
||||
--- a/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();
|
||||
return event.isAllowed();
|
||||
}
|
||||
|
||||
@@ -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
|
||||
index 11c1a0abad4efb65547c5b42869ec06bb74b4d59..939f0a74f0956e73488dea68c3e0b5846fcac68b 100644
|
||||
index 6ac0f9d208c41182b7c596ab809de41f07f265a9..20eb411e8c4a8076df3e1bc00e8d84d3242dcbb5 100644
|
||||
--- a/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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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.
|
||||
|
||||
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
|
||||
+++ 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 boolean hasPlayedBefore = false;
|
||||
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 static final WeakHashMap<Plugin, WeakReference<Plugin>> pluginWeakReferences = new WeakHashMap<>();
|
||||
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
|
||||
public boolean canSee(org.bukkit.entity.Entity entity) {
|
||||
@@ -25,7 +25,7 @@ index 09baa8c13a56e0f503815a436042b7b79b1698e4..eb182ae056d7f17f0a49e3e7d1de3d6d
|
||||
|
||||
@Override
|
||||
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
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1255,7 +1255,11 @@ public final class CraftServer implements Server {
|
||||
@@ -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
|
||||
index 6b8841a1a84f6316b89b052328bbb549b4acbe21..56aac091b6c126132d75835af340fae40e3a03f0 100644
|
||||
index c84acf874d6a9c99bdb5e0e1237130a0ae771be2..f0fa7b90efbfc23c0c68307da7a95a6c0b114665 100644
|
||||
--- a/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();
|
||||
while (iterator.hasNext()) {
|
||||
AttributeInstance genericInstance = iterator.next();
|
||||
@@ -45,10 +45,10 @@ index 6b8841a1a84f6316b89b052328bbb549b4acbe21..56aac091b6c126132d75835af340fae4
|
||||
break;
|
||||
}
|
||||
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
|
||||
+++ 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) {
|
||||
@@ -248,7 +248,7 @@ index ab499a7eaccdc1578ec64f90f54f79b0da3c0e96..6bcb8069de18e8a0f4ee9d5c71b6bdd1
|
||||
} else if (!event.isAsynchronous() && !this.server.isPrimaryThread() && !this.server.isStopping()) {
|
||||
// DivineMC start - Multithreaded Tracker
|
||||
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
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -462,7 +462,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -7,7 +7,7 @@ Original project: https://github.com/LeavesMC/Leaves
|
||||
Original license: GPLv3
|
||||
|
||||
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
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -499,6 +499,7 @@ public final class CraftServer implements Server {
|
||||
@@ -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
|
||||
index 7080b83c251e20ddf4fef69de42697aeeb1c2eda..f84cffd066c3ba13f0fc729b6bea0a51c65b41e7 100644
|
||||
index b8cd96b4262bcff318620755cd57057da81a5f78..ea32c66be64197738b264ea5e56205993908dac6 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -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);
|
||||
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
|
||||
index 6a9717b8ffed00bb524689cecc544219bc08874c..c7acfd74ac66a3a15e001ce49d7de26ecc6a04fa 100644
|
||||
index fc9ca5b3aa0e3f7a8c18de4198eb456aeb721a0f..79c0ed8ddb39307343f9bb62205fd613a8d45981 100644
|
||||
--- a/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 double allayMaxHealth = 20.0D;
|
||||
public double allayScale = 1.0D;
|
||||
@@ -49,7 +49,7 @@ index 6a9717b8ffed00bb524689cecc544219bc08874c..c7acfd74ac66a3a15e001ce49d7de26e
|
||||
}
|
||||
|
||||
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 camelMovementSpeedMax = 0.09D;
|
||||
public int camelBreedingTicks = 6000;
|
||||
@@ -60,7 +60,7 @@ index 6a9717b8ffed00bb524689cecc544219bc08874c..c7acfd74ac66a3a15e001ce49d7de26e
|
||||
private void camelSettings() {
|
||||
camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater);
|
||||
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);
|
||||
camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax);
|
||||
camelBreedingTicks = getInt("mobs.camel.breeding-delay-ticks", camelBreedingTicks);
|
||||
@@ -71,7 +71,7 @@ index 6a9717b8ffed00bb524689cecc544219bc08874c..c7acfd74ac66a3a15e001ce49d7de26e
|
||||
}
|
||||
|
||||
public boolean catRidable = false;
|
||||
@@ -1904,12 +1920,22 @@ public class PurpurWorldConfig {
|
||||
@@ -1949,12 +1965,22 @@ public class PurpurWorldConfig {
|
||||
public boolean frogControllable = true;
|
||||
public float frogRidableJumpHeight = 0.65F;
|
||||
public int frogBreedingTicks = 6000;
|
||||
@@ -94,7 +94,7 @@ index 6a9717b8ffed00bb524689cecc544219bc08874c..c7acfd74ac66a3a15e001ce49d7de26e
|
||||
}
|
||||
|
||||
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 snifferScale = 1.0D;
|
||||
public int snifferBreedingTicks = 6000;
|
||||
@@ -105,7 +105,7 @@ index 6a9717b8ffed00bb524689cecc544219bc08874c..c7acfd74ac66a3a15e001ce49d7de26e
|
||||
private void snifferSettings() {
|
||||
snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable);
|
||||
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);
|
||||
snifferScale = Mth.clamp(getDouble("mobs.sniffer.attributes.scale", snifferScale), 0.0625D, 16.0D);
|
||||
snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", snifferBreedingTicks);
|
||||
@@ -116,7 +116,7 @@ index 6a9717b8ffed00bb524689cecc544219bc08874c..c7acfd74ac66a3a15e001ce49d7de26e
|
||||
}
|
||||
|
||||
public boolean squidRidable = false;
|
||||
@@ -3103,10 +3137,20 @@ public class PurpurWorldConfig {
|
||||
@@ -3148,10 +3182,20 @@ public class PurpurWorldConfig {
|
||||
public boolean tadpoleRidable = false;
|
||||
public boolean tadpoleRidableInWater = true;
|
||||
public boolean tadpoleControllable = true;
|
||||
@@ -137,10 +137,10 @@ index 6a9717b8ffed00bb524689cecc544219bc08874c..c7acfd74ac66a3a15e001ce49d7de26e
|
||||
}
|
||||
|
||||
public boolean traderLlamaRidable = false;
|
||||
@@ -3340,10 +3384,20 @@ public class PurpurWorldConfig {
|
||||
public boolean wardenRidable = false;
|
||||
@@ -3386,11 +3430,21 @@ public class PurpurWorldConfig {
|
||||
public boolean wardenRidableInWater = true;
|
||||
public boolean wardenControllable = true;
|
||||
public boolean wardenCanUseSonicBoom = true;
|
||||
+ // DivineMC start - Add missing purpur config options
|
||||
+ public double wardenMaxHealth = 500.0D;
|
||||
+ public boolean wardenTakeDamageFromWater = false;
|
||||
@@ -150,6 +150,7 @@ index 6a9717b8ffed00bb524689cecc544219bc08874c..c7acfd74ac66a3a15e001ce49d7de26e
|
||||
wardenRidable = getBoolean("mobs.warden.ridable", wardenRidable);
|
||||
wardenRidableInWater = getBoolean("mobs.warden.ridable-in-water", wardenRidableInWater);
|
||||
wardenControllable = getBoolean("mobs.warden.controllable", wardenControllable);
|
||||
wardenCanUseSonicBoom = getBoolean("mobs.warden.can-use-sonic-boom", wardenCanUseSonicBoom);
|
||||
+ // DivineMC start - Add missing purpur config options
|
||||
+ wardenMaxHealth = getDouble("mobs.warden.attributes.max_health", wardenMaxHealth);
|
||||
+ wardenTakeDamageFromWater = getBoolean("mobs.warden.takes-damage-from-water", wardenTakeDamageFromWater);
|
||||
|
||||
@@ -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
|
||||
index f84cffd066c3ba13f0fc729b6bea0a51c65b41e7..b08887e45e2818e5687712ea4e0939ea77ef036e 100644
|
||||
index ea32c66be64197738b264ea5e56205993908dac6..dffda7d18a8065ca230ef8dea8701f411360502f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -246,7 +246,7 @@ public class PurpurConfig {
|
||||
@@ -18,10 +18,10 @@ index f84cffd066c3ba13f0fc729b6bea0a51c65b41e7..b08887e45e2818e5687712ea4e0939ea
|
||||
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
|
||||
index c7acfd74ac66a3a15e001ce49d7de26ecc6a04fa..bafe8dee4872aa8c32063146e10713c2c07266e4 100644
|
||||
index 79c0ed8ddb39307343f9bb62205fd613a8d45981..e5a4fdc75130d69218077ebfb7fde3225bef0d84 100644
|
||||
--- a/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 int villagerSpawnIronGolemRadius = 0;
|
||||
public int villagerSpawnIronGolemLimit = 0;
|
||||
|
||||
@@ -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
|
||||
index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb7652c07f 100644
|
||||
index e5a4fdc75130d69218077ebfb7fde3225bef0d84..731a77f639fb8aec80a302e8c5a0de9c68ccf6b3 100644
|
||||
--- a/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 drownedBreakDoors = false;
|
||||
public boolean drownedAlwaysDropExp = false;
|
||||
@@ -16,7 +16,7 @@ index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb
|
||||
private void drownedSettings() {
|
||||
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
|
||||
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);
|
||||
drownedBreakDoors = getBoolean("mobs.drowned.can-break-doors", drownedBreakDoors);
|
||||
drownedAlwaysDropExp = getBoolean("mobs.drowned.always-drop-exp", drownedAlwaysDropExp);
|
||||
@@ -24,7 +24,7 @@ index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb
|
||||
}
|
||||
|
||||
public boolean elderGuardianRidable = false;
|
||||
@@ -2151,6 +2153,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2196,6 +2198,7 @@ public class PurpurWorldConfig {
|
||||
public boolean huskJockeyTryExistingChickens = true;
|
||||
public boolean huskTakeDamageFromWater = false;
|
||||
public boolean huskAlwaysDropExp = false;
|
||||
@@ -32,7 +32,7 @@ index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb
|
||||
private void huskSettings() {
|
||||
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
|
||||
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);
|
||||
huskTakeDamageFromWater = getBoolean("mobs.husk.takes-damage-from-water", huskTakeDamageFromWater);
|
||||
huskAlwaysDropExp = getBoolean("mobs.husk.always-drop-exp", huskAlwaysDropExp);
|
||||
@@ -40,7 +40,7 @@ index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb
|
||||
}
|
||||
|
||||
public boolean illusionerRidable = false;
|
||||
@@ -3559,6 +3563,7 @@ public class PurpurWorldConfig {
|
||||
@@ -3606,6 +3610,7 @@ public class PurpurWorldConfig {
|
||||
public boolean zombieTakeDamageFromWater = false;
|
||||
public boolean zombieAlwaysDropExp = false;
|
||||
public double zombieHeadVisibilityPercent = 0.5D;
|
||||
@@ -48,7 +48,7 @@ index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb
|
||||
private void zombieSettings() {
|
||||
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
|
||||
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);
|
||||
zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp);
|
||||
zombieHeadVisibilityPercent = getDouble("mobs.zombie.head-visibility-percent", zombieHeadVisibilityPercent);
|
||||
@@ -56,7 +56,7 @@ index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb
|
||||
}
|
||||
|
||||
public boolean zombieHorseRidable = false;
|
||||
@@ -3633,6 +3639,7 @@ public class PurpurWorldConfig {
|
||||
@@ -3680,6 +3686,7 @@ public class PurpurWorldConfig {
|
||||
public int zombieVillagerCuringTimeMax = 6000;
|
||||
public boolean zombieVillagerCureEnabled = true;
|
||||
public boolean zombieVillagerAlwaysDropExp = false;
|
||||
@@ -64,7 +64,7 @@ index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb
|
||||
private void zombieVillagerSettings() {
|
||||
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
|
||||
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);
|
||||
zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled);
|
||||
zombieVillagerAlwaysDropExp = getBoolean("mobs.zombie_villager.always-drop-exp", zombieVillagerAlwaysDropExp);
|
||||
@@ -72,7 +72,7 @@ index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb
|
||||
}
|
||||
|
||||
public boolean zombifiedPiglinRidable = false;
|
||||
@@ -3667,6 +3675,7 @@ public class PurpurWorldConfig {
|
||||
@@ -3714,6 +3722,7 @@ public class PurpurWorldConfig {
|
||||
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = false;
|
||||
public boolean zombifiedPiglinTakeDamageFromWater = false;
|
||||
public boolean zombifiedPiglinAlwaysDropExp = false;
|
||||
@@ -80,7 +80,7 @@ index bafe8dee4872aa8c32063146e10713c2c07266e4..fc3b82234c0aa87a288b72b466de9fcb
|
||||
private void zombifiedPiglinSettings() {
|
||||
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
|
||||
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);
|
||||
zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater);
|
||||
zombifiedPiglinAlwaysDropExp = getBoolean("mobs.zombified_piglin.always-drop-exp", zombifiedPiglinAlwaysDropExp);
|
||||
|
||||
@@ -2,7 +2,7 @@ group = org.bxteam.divinemc
|
||||
version=1.21.10-R0.1-SNAPSHOT
|
||||
|
||||
mcVersion=1.21.10
|
||||
purpurRef=b66c0af93b0cdf2366943b330ef3d08c2dbf9807
|
||||
purpurRef=ffe2f809feaded534170af84df7286d805e058bd
|
||||
experimental=true
|
||||
|
||||
org.gradle.configuration-cache=true
|
||||
|
||||
Reference in New Issue
Block a user