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@c8a4f0b6 Updated Upstream (Paper) PurpurMC/Purpur@e8fe8ece forgot to commit this PurpurMC/Purpur@45bc9f41 Updated Upstream (Paper)
This commit is contained in:
@@ -5,10 +5,10 @@ Subject: [PATCH] Extend Sound API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
|
||||
index 318bb02fe2921e5c41e7473500d1cf4dacf0c781..0f35f958c5c90dd4ac2ca80fdce53e73b644ab90 100644
|
||||
index fbee4ab2faaeba8d798aaba2e1837315ed56a184..581d71e716e8ecfe9ab2c4d3947c86c608dcbf89 100644
|
||||
--- a/src/main/java/org/bukkit/block/Block.java
|
||||
+++ b/src/main/java/org/bukkit/block/Block.java
|
||||
@@ -836,4 +836,29 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr
|
||||
@@ -834,4 +834,29 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr
|
||||
* @return {@code true} if the block can suffocate
|
||||
*/
|
||||
boolean isSuffocating();
|
||||
@@ -39,7 +39,7 @@ index 318bb02fe2921e5c41e7473500d1cf4dacf0c781..0f35f958c5c90dd4ac2ca80fdce53e73
|
||||
+ // 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 a3d2013adf038f1fe96127c5dba442ffd2e031a8..e93bdf925505b00454a93207e12d1f21c8cb6af3 100644
|
||||
index 995e419ae77afad15aa2729277f81016f382e543..dfd6138ad4040eedd1b413c9c6087071afd6af84 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
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
--- a/purpur-server/build.gradle.kts
|
||||
+++ b/purpur-server/build.gradle.kts
|
||||
@@ -16,6 +_,7 @@
|
||||
@@ -13,6 +_,7 @@
|
||||
}
|
||||
|
||||
val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/"
|
||||
+val bxTeamMavenPublicUrl = "https://repo.bxteam.org/snapshots/"
|
||||
|
||||
dependencies {
|
||||
mache("io.papermc:mache:1.21.10+build.1")
|
||||
@@ -29,6 +_,7 @@
|
||||
mache("io.papermc:mache:1.21.10+build.4")
|
||||
@@ -26,6 +_,7 @@
|
||||
|
||||
// Purpur start - Rebrand
|
||||
val purpur = forks.register("purpur") {
|
||||
@@ -16,7 +16,7 @@
|
||||
upstream.patchDir("paperServer") {
|
||||
upstreamPath = "paper-server"
|
||||
excludes = setOf("src/minecraft", "patches", "build.gradle.kts")
|
||||
@@ -36,9 +_,27 @@
|
||||
@@ -33,9 +_,27 @@
|
||||
outputDir = rootDirectory.dir("paper-server")
|
||||
}
|
||||
}
|
||||
@@ -45,7 +45,7 @@
|
||||
spigot {
|
||||
enabled = true
|
||||
buildDataRef = "42d18d4c4653ffc549778dbe223f6994a031d69e"
|
||||
@@ -62,6 +_,7 @@
|
||||
@@ -59,6 +_,7 @@
|
||||
libraryRepositories.addAll(
|
||||
"https://repo.maven.apache.org/maven2/",
|
||||
paperMavenPublicUrl,
|
||||
@@ -53,7 +53,7 @@
|
||||
)
|
||||
}
|
||||
|
||||
@@ -125,10 +_,18 @@
|
||||
@@ -122,10 +_,18 @@
|
||||
main {
|
||||
java { srcDir("../paper-server/src/main/java") }
|
||||
resources { srcDir("../paper-server/src/main/resources") }
|
||||
@@ -72,7 +72,7 @@
|
||||
}
|
||||
}
|
||||
val log4jPlugins = sourceSets.create("log4jPlugins") {
|
||||
@@ -157,10 +_,22 @@
|
||||
@@ -154,10 +_,22 @@
|
||||
}
|
||||
|
||||
dependencies {
|
||||
@@ -98,7 +98,7 @@
|
||||
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
||||
implementation("net.kyori:adventure-text-serializer-ansi")
|
||||
|
||||
@@ -170,16 +_,16 @@
|
||||
@@ -167,16 +_,16 @@
|
||||
all its classes to check if they are plugins.
|
||||
Scanning takes about 1-2 seconds so adding this speeds up the server start.
|
||||
*/
|
||||
@@ -119,7 +119,7 @@
|
||||
implementation("org.ow2.asm:asm-commons:9.8")
|
||||
implementation("org.spongepowered:configurate-yaml:4.2.0")
|
||||
|
||||
@@ -190,7 +_,12 @@
|
||||
@@ -187,7 +_,12 @@
|
||||
// Deps that were previously in the API but have now been moved here for backwards compat, eventually to be removed
|
||||
runtimeOnly("commons-lang:commons-lang:2.6")
|
||||
runtimeOnly("org.xerial:sqlite-jdbc:3.49.1.0")
|
||||
@@ -133,7 +133,7 @@
|
||||
runtimeOnly("com.lmax:disruptor:3.4.4")
|
||||
implementation("com.googlecode.json-simple:json-simple:1.1.1") { // change to runtimeOnly once Timings is removed
|
||||
isTransitive = false // includes junit
|
||||
@@ -199,11 +_,11 @@
|
||||
@@ -196,11 +_,11 @@
|
||||
testImplementation("io.github.classgraph:classgraph:4.8.179") // For mob goal test
|
||||
testImplementation("org.junit.jupiter:junit-jupiter:5.12.2")
|
||||
testImplementation("org.junit.platform:junit-platform-suite-engine:1.12.2")
|
||||
@@ -149,7 +149,7 @@
|
||||
|
||||
implementation("net.neoforged:srgutils:1.0.9") // Mappings handling
|
||||
implementation("net.neoforged:AutoRenamingTool:2.0.3") // Remap plugins
|
||||
@@ -219,30 +_,42 @@
|
||||
@@ -216,30 +_,42 @@
|
||||
implementation("me.lucko:spark-paper:1.10.152")
|
||||
}
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ index 97844ec1ccc986eb3d3a185d78a03ceeca49fc1a..5e40ec3fbe6e6d5f98ad98df7d4c27d6
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/server/Main.java b/net/minecraft/server/Main.java
|
||||
index 2c85607bcc62b227485972707c3541247a626524..9e25b6412fadbbecda0430f8554eaa48dbe8c151 100644
|
||||
index 42841fdc7e64311ba9217789a3dc758a351cf674..036c3931f4c1e453892f32e59085be702721f016 100644
|
||||
--- a/net/minecraft/server/Main.java
|
||||
+++ b/net/minecraft/server/Main.java
|
||||
@@ -67,36 +67,29 @@ public class Main {
|
||||
@@ -120,10 +120,10 @@ index 2c85607bcc62b227485972707c3541247a626524..9e25b6412fadbbecda0430f8554eaa48
|
||||
String awtException = io.papermc.paper.util.ServerEnvironment.awtDependencyCheck();
|
||||
if (awtException != null) {
|
||||
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
||||
index 10769fe7a3d99f0464b9d265b9d0b8c9fc25ae5d..31edaf3b34d77656ceb010beb2e33307d84fb117 100644
|
||||
index f3fc79b93efdd6cade9d2a49999f55031049da1d..247f2eb2414e15c56ee17c7f7efc21dfc6641ec9 100644
|
||||
--- a/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1263,6 +1263,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1282,6 +1282,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
protected void runServer() {
|
||||
try {
|
||||
|
||||
@@ -59,7 +59,7 @@ index 9aa09e11032f539952edeeed119f7705c330db0a..9a7a40c1dcea57ba674d8431077d2477
|
||||
contextConsumer.accept(executionContext1);
|
||||
executionContext1.runCommandQueue();
|
||||
diff --git a/net/minecraft/commands/execution/ExecutionContext.java b/net/minecraft/commands/execution/ExecutionContext.java
|
||||
index 18c7fff36ca26a659fa8ea022c93ea65f3199181..444cc14e9b9e6b77254bc1c5ada00f8fcd185b93 100644
|
||||
index 952cc09864de5ec147afd2525c70170280393bd6..c54f4e5ff70c40081e8bde054aa35e48cc700849 100644
|
||||
--- a/net/minecraft/commands/execution/ExecutionContext.java
|
||||
+++ b/net/minecraft/commands/execution/ExecutionContext.java
|
||||
@@ -20,7 +20,6 @@ public class ExecutionContext<T> implements AutoCloseable {
|
||||
@@ -74,12 +74,12 @@ index 18c7fff36ca26a659fa8ea022c93ea65f3199181..444cc14e9b9e6b77254bc1c5ada00f8f
|
||||
private final List<CommandQueueEntry<T>> newTopCommands = new ObjectArrayList<>();
|
||||
private int currentFrameDepth;
|
||||
|
||||
- public ExecutionContext(int commandLimit, int forkLimit, ProfilerFiller profiler) {
|
||||
+ public ExecutionContext(int commandLimit, int forkLimit) {
|
||||
this.commandLimit = commandLimit;
|
||||
- public ExecutionContext(int commandQuota, int forkLimit, ProfilerFiller profiler) {
|
||||
+ public ExecutionContext(int commandQuota, int forkLimit) {
|
||||
this.commandLimit = commandQuota;
|
||||
this.forkLimit = forkLimit;
|
||||
- this.profiler = profiler;
|
||||
this.commandQuota = commandLimit;
|
||||
this.commandQuota = commandQuota;
|
||||
}
|
||||
|
||||
@@ -132,7 +130,7 @@ public class ExecutionContext<T> implements AutoCloseable {
|
||||
@@ -203,7 +203,7 @@ index 18071dcc69cc28471dddb7de94e803ec1e5fc2e4..aa25f5ebaf7d1b22825b962b02dcae02
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
||||
index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79ecef43f6 100644
|
||||
index 247f2eb2414e15c56ee17c7f7efc21dfc6641ec9..f9d60a28763e2c45b5dcf9687b8999fb73817aa9 100644
|
||||
--- a/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/net/minecraft/server/MinecraftServer.java
|
||||
@@ -117,20 +117,9 @@ import net.minecraft.util.TimeUtil;
|
||||
@@ -241,7 +241,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
private ServerConnectionListener connection;
|
||||
// Paper - per world load listener - moved LevelLoadListener to ServerLevel
|
||||
@Nullable
|
||||
@@ -998,9 +980,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1017,9 +999,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
org.spigotmc.WatchdogThread.doStop(); // Paper - Improved watchdog support
|
||||
// CraftBukkit end
|
||||
this.packetProcessor.close();
|
||||
@@ -251,7 +251,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
|
||||
LOGGER.info("Stopping server");
|
||||
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
|
||||
@@ -1169,10 +1148,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1188,10 +1167,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
// note: To avoid possibly spinning forever, only execute tasks that are roughly available at the beginning
|
||||
// of this call. Packet processing and chunk system tasks are possibly always being queued.
|
||||
@@ -262,7 +262,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
// avoid calling MinecraftServer#pollTask - we just want to execute queued tasks
|
||||
while (super.pollTask()) {
|
||||
// execute small amounts of other tasks just in case the number of tasks we are
|
||||
@@ -1181,38 +1156,23 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1200,38 +1175,23 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
((ca.spottedleaf.moonrise.patches.chunk_system.server.ChunkSystemMinecraftServer)this).moonrise$executeMidTickTasks(); // Paper - rewrite chunk system
|
||||
this.packetProcessor.executeSinglePacket();
|
||||
}
|
||||
@@ -301,7 +301,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
this.waitingForNextTick = true;
|
||||
// implement waitForTasks
|
||||
final boolean isLoggingEnabled = this.isTickTimeLoggingEnabled();
|
||||
@@ -1257,7 +1217,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1276,7 +1236,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
} finally {
|
||||
this.waitingForNextTick = false;
|
||||
}
|
||||
@@ -309,7 +309,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
}
|
||||
// Paper end - improve tick loop
|
||||
|
||||
@@ -1345,44 +1304,32 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1364,44 +1323,32 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
// Paper end - improve tick loop
|
||||
|
||||
boolean flag = l == 0L;
|
||||
@@ -375,7 +375,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
this.isReady = true;
|
||||
JvmProfiler.INSTANCE.onServerTick(this.smoothedTickTimeMillis);
|
||||
}
|
||||
@@ -1490,7 +1437,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1509,7 +1456,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
}
|
||||
|
||||
protected void waitUntilNextTick() {
|
||||
@@ -383,7 +383,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
// Paper - improve tick loop - moved to start of tick
|
||||
this.waitingForNextTick = true;
|
||||
|
||||
@@ -1555,7 +1501,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1574,7 +1520,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@Override
|
||||
public void doRunTask(TickTask task) {
|
||||
@@ -391,7 +391,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
super.doRunTask(task);
|
||||
}
|
||||
|
||||
@@ -1645,12 +1590,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1664,12 +1609,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
this.ticksUntilAutosave--;
|
||||
// Paper start - Incremental chunk and player saving
|
||||
@@ -404,7 +404,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
final boolean fullSave = autosavePeriod > 0 && this.tickCount % autosavePeriod == 0;
|
||||
try {
|
||||
this.isSaving = true;
|
||||
@@ -1665,10 +1608,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1684,10 +1627,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
} finally {
|
||||
this.isSaving = false;
|
||||
}
|
||||
@@ -416,7 +416,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
this.server.spark.executeMainThreadTasks(); // Paper - spark
|
||||
// Paper start - Server Tick Events
|
||||
long endTime = System.nanoTime();
|
||||
@@ -1676,7 +1618,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1695,7 +1637,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
new com.destroystokyo.paper.event.server.ServerTickEndEvent(this.tickCount, ((double)(endTime - this.currentTickStart) / 1000000D), remaining).callEvent();
|
||||
// Paper end - Server Tick Events
|
||||
this.server.spark.tickEnd(((double)(endTime - this.currentTickStart) / 1000000D)); // Paper - spark
|
||||
@@ -424,7 +424,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
long l = Util.getNanos() - nanos;
|
||||
int i1 = this.tickCount % 100;
|
||||
this.aggregatedTickTimesNanos = this.aggregatedTickTimesNanos - this.tickTimesNanos[i1];
|
||||
@@ -1684,16 +1625,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1703,16 +1644,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.tickTimesNanos[i1] = l;
|
||||
this.smoothedTickTimeMillis = this.smoothedTickTimeMillis * 0.8F + (float)l / (float)TimeUtil.NANOSECONDS_PER_MILLISECOND * 0.19999999F;
|
||||
this.logTickMethodTime(nanos);
|
||||
@@ -441,7 +441,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
LOGGER.debug("Autosave finished");
|
||||
}
|
||||
|
||||
@@ -1761,7 +1698,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1780,7 +1717,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
public final io.papermc.paper.threadedregions.EntityScheduler.EntitySchedulerTickList entitySchedulerTickList = new io.papermc.paper.threadedregions.EntityScheduler.EntitySchedulerTickList(); // Paper - optimise Folia entity scheduler
|
||||
|
||||
protected void tickChildren(BooleanSupplier hasTimeLeft) {
|
||||
@@ -449,7 +449,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
this.getPlayerList().getPlayers().forEach(serverPlayer1 -> serverPlayer1.connection.suspendFlushing());
|
||||
this.server.getScheduler().mainThreadHeartbeat(); // CraftBukkit
|
||||
// Paper start - optimise Folia entity scheduler
|
||||
@@ -1776,9 +1712,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1795,9 +1731,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
// Paper end - optimise Folia entity scheduler
|
||||
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.ADVENTURE_CLICK_MANAGER.handleQueue(this.tickCount); // Paper
|
||||
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.DIALOG_CLICK_MANAGER.handleQueue(this.tickCount); // Paper
|
||||
@@ -459,7 +459,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
this.updateEffectiveRespawnData();
|
||||
|
||||
// CraftBukkit start
|
||||
@@ -1815,17 +1749,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1834,17 +1768,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
serverLevel.updateLagCompensationTick(); // Paper - lag compensation
|
||||
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = serverLevel.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers
|
||||
serverLevel.hasRidableMoveEvent = org.purpurmc.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur - Ridables
|
||||
@@ -477,7 +477,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
try {
|
||||
serverLevel.tick(hasTimeLeft);
|
||||
} catch (Throwable var7) {
|
||||
@@ -1834,37 +1763,25 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1853,37 +1782,25 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
throw new ReportedException(crashReport);
|
||||
}
|
||||
|
||||
@@ -515,7 +515,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
}
|
||||
|
||||
// Paper start - per world respawn data - read "server global" respawn data from overworld dimension reference
|
||||
@@ -1889,14 +1806,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1908,14 +1825,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
}
|
||||
|
||||
public void forceTimeSynchronization() {
|
||||
@@ -530,7 +530,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
}
|
||||
|
||||
public boolean isAllowedToEnterPortal(Level level) {
|
||||
@@ -2741,55 +2653,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -2760,55 +2672,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -586,7 +586,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
public Path getWorldPath(LevelResource levelResource) {
|
||||
return this.storageSource.getLevelPath(levelResource);
|
||||
}
|
||||
@@ -2839,24 +2702,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -2858,24 +2721,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
return this.isSaving;
|
||||
}
|
||||
|
||||
@@ -611,7 +611,7 @@ index 31edaf3b34d77656ceb010beb2e33307d84fb117..d8e5de94e677863e1e7894b186c7cd79
|
||||
public int getMaxChainedNeighborUpdates() {
|
||||
return 1000000;
|
||||
}
|
||||
@@ -3004,55 +2849,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -3023,55 +2868,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
public record ServerResourcePackInfo(UUID id, String url, String hash, boolean isRequired, @Nullable Component prompt) {
|
||||
}
|
||||
|
||||
@@ -745,7 +745,7 @@ index e3cb5d9cd0332c32df82fa6aef37401c523e8af0..10c79570432491bfb2bbfedf0491ab2b
|
||||
|
||||
diff --git a/net/minecraft/server/commands/DebugCommand.java b/net/minecraft/server/commands/DebugCommand.java
|
||||
deleted file mode 100644
|
||||
index a78213464c5c365c6395fdf1295cb406c618d33b..0000000000000000000000000000000000000000
|
||||
index 338b39ee5c9ca1de20a24a07aa3706e0cecdcb86..0000000000000000000000000000000000000000
|
||||
--- a/net/minecraft/server/commands/DebugCommand.java
|
||||
+++ /dev/null
|
||||
@@ -1,277 +0,0 @@
|
||||
@@ -986,11 +986,11 @@ index a78213464c5c365c6395fdf1295cb406c618d33b..00000000000000000000000000000000
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public void sendSystemMessage(Component component) {
|
||||
- public void sendSystemMessage(Component message) {
|
||||
- this.newLine();
|
||||
- this.printIndent(this.lastIndent + 1);
|
||||
- this.output.print("[M] ");
|
||||
- this.output.println(component.getString());
|
||||
- this.output.println(message.getString());
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
@@ -1118,10 +1118,10 @@ index b10cb4a73df58a5fe64e88868733ba41616f59e4..9f9cbe6056f8a4eeca64c40872d7403b
|
||||
+ // DivineMC end - Completely remove Mojang profiler
|
||||
}
|
||||
diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index 231935f74443241a710ed2099bb32090ef34731d..7486df33cedea98695c614bb3d584e1d8e84314f 100644
|
||||
index 49aa436abf89b16dc5249f37bf27b02b49d9e2e8..6a8f501883a5b5697d3ebf401f6b7aa6145479ea 100644
|
||||
--- a/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -1046,12 +1046,6 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -1045,12 +1045,6 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
return this.settings.getProperties().serverResourcePackInfo;
|
||||
}
|
||||
|
||||
@@ -1179,7 +1179,7 @@ index 4221af18f5087badb5cd8c7cf66ab3312edf0394..e9d861182439eecacfab2ac431726e8a
|
||||
ChunkPyramid chunkPyramid = needsGeneration ? ChunkPyramid.GENERATION_PYRAMID : ChunkPyramid.LOADING_PYRAMID;
|
||||
return chunkPyramid.getStepTo(this.targetStatus).getAccumulatedRadiusOf(status);
|
||||
diff --git a/net/minecraft/server/level/ChunkMap.java b/net/minecraft/server/level/ChunkMap.java
|
||||
index b488fcae8c961bd7c9319b8acdd65723de6981e9..6251e7dc5bbe7eee18b0c5a8979d9218fee728d0 100644
|
||||
index e957ddea7c6cd9685e362a4b1adc09fdd3bfd359..188a62f00bd541f27adaaa4250b56276565f0d74 100644
|
||||
--- a/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -64,8 +64,6 @@ import net.minecraft.util.CsvOutput;
|
||||
@@ -1208,7 +1208,7 @@ index b488fcae8c961bd7c9319b8acdd65723de6981e9..6251e7dc5bbe7eee18b0c5a8979d9218
|
||||
|
||||
public boolean hasWork() {
|
||||
diff --git a/net/minecraft/server/level/ServerChunkCache.java b/net/minecraft/server/level/ServerChunkCache.java
|
||||
index 413f0673557b9e3f9177d15e9bef61bded209e34..301b45e375dafeefed56eb0db5dd51eea4c97459 100644
|
||||
index 488fc6088d69148f60a913b42ffb964c48eb0324..94851554c2c3e0f5a2d72606fda166adb586bbca 100644
|
||||
--- a/net/minecraft/server/level/ServerChunkCache.java
|
||||
+++ b/net/minecraft/server/level/ServerChunkCache.java
|
||||
@@ -27,8 +27,6 @@ import net.minecraft.network.protocol.Packet;
|
||||
@@ -1336,7 +1336,7 @@ index 413f0673557b9e3f9177d15e9bef61bded209e34..301b45e375dafeefed56eb0db5dd51ee
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index e4d9bf14564d5984da64b1ecefc589c740817c47..cea6213837b001d7a494d17aa7e6e326abd1b2fc 100644
|
||||
index 7dedba7fa332e02c4655424fea5263fee56222d8..ed585116e2346bf8ef9701f15cc97b64e85acdb2 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -77,8 +77,6 @@ import net.minecraft.util.RandomSource;
|
||||
@@ -1537,7 +1537,7 @@ index e4d9bf14564d5984da64b1ecefc589c740817c47..cea6213837b001d7a494d17aa7e6e326
|
||||
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 14bb0ae1e913adf25f86aa29487fa5f80d2c6c41..161dbd49495c33fb938a6312b6e24912474864c5 100644
|
||||
index a5fbd6140cd7564afeab6b5f60a7409dd567efd1..507b5cba7b67752e33e04d53a25f437fc451dae5 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -110,8 +110,6 @@ import net.minecraft.util.Mth;
|
||||
@@ -1602,7 +1602,7 @@ index e98400719a4ab43dc0ce90cdca19ba86e4849720..4a333e87af17bd5b673b57c0fa0d3a23
|
||||
|
||||
private boolean checkIfClosed(long time) {
|
||||
diff --git a/net/minecraft/server/packs/resources/ProfiledReloadInstance.java b/net/minecraft/server/packs/resources/ProfiledReloadInstance.java
|
||||
index 2a4acd6630d22c5004febcfb7e1298282523d1e1..06043c8fadeb6250a2950499ee67e8b677c39f4f 100644
|
||||
index 76d57e89c1367c745b031c0bfcb2cf872b383af7..a3fd9fa365340455dbf000ab138a8e3c7a855e25 100644
|
||||
--- a/net/minecraft/server/packs/resources/ProfiledReloadInstance.java
|
||||
+++ b/net/minecraft/server/packs/resources/ProfiledReloadInstance.java
|
||||
@@ -9,8 +9,6 @@ import java.util.concurrent.TimeUnit;
|
||||
@@ -1629,7 +1629,7 @@ index 2a4acd6630d22c5004febcfb7e1298282523d1e1..06043c8fadeb6250a2950499ee67e8b6
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/server/packs/resources/ResourceManagerReloadListener.java b/net/minecraft/server/packs/resources/ResourceManagerReloadListener.java
|
||||
index 09d5e178614f73dfe332220f4f02b71183ee8df7..7e5bb7708e01d9206bb49bfbf195f9e656466cd1 100644
|
||||
index ea99b9f766dbeeb625523334fb53fb5a9e040497..a5479b67006e0f083078a7af2dde0c3dde970e8b 100644
|
||||
--- a/net/minecraft/server/packs/resources/ResourceManagerReloadListener.java
|
||||
+++ b/net/minecraft/server/packs/resources/ResourceManagerReloadListener.java
|
||||
@@ -3,8 +3,6 @@ package net.minecraft.server.packs.resources;
|
||||
@@ -1643,13 +1643,13 @@ index 09d5e178614f73dfe332220f4f02b71183ee8df7..7e5bb7708e01d9206bb49bfbf195f9e6
|
||||
@Override
|
||||
@@ -13,10 +11,7 @@ public interface ResourceManagerReloadListener extends PreparableReloadListener
|
||||
) {
|
||||
ResourceManager resourceManager = sharedState.resourceManager();
|
||||
return barrier.wait(Unit.INSTANCE).thenRunAsync(() -> {
|
||||
ResourceManager resourceManager = state.resourceManager();
|
||||
return preparation.wait(Unit.INSTANCE).thenRunAsync(() -> {
|
||||
- ProfilerFiller profilerFiller = Profiler.get();
|
||||
- profilerFiller.push("listener");
|
||||
this.onResourceManagerReload(resourceManager);
|
||||
- profilerFiller.pop();
|
||||
}, applyExectutor);
|
||||
}, gameExecutor);
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/server/packs/resources/SimpleJsonResourceReloadListener.java b/net/minecraft/server/packs/resources/SimpleJsonResourceReloadListener.java
|
||||
@@ -1674,7 +1674,7 @@ index 16bab14884a5a7b8d7659379f5b7ea90aa9bd737..a2320c37e4ef495eae7a1978aa7c7dc6
|
||||
scanDirectory(resourceManager, this.lister, this.ops, this.codec, map);
|
||||
return map;
|
||||
diff --git a/net/minecraft/server/packs/resources/SimplePreparableReloadListener.java b/net/minecraft/server/packs/resources/SimplePreparableReloadListener.java
|
||||
index 11884fc390d73b476632c372eb2d3d7876cdb7fd..6a4a63de2da352094d58c3c80c54ec164e7c0b58 100644
|
||||
index 6e07a06234b34250087e70e18be22a526417fa80..ff5e508838340ee575d83216e33400721bdc6f05 100644
|
||||
--- a/net/minecraft/server/packs/resources/SimplePreparableReloadListener.java
|
||||
+++ b/net/minecraft/server/packs/resources/SimplePreparableReloadListener.java
|
||||
@@ -2,8 +2,6 @@ package net.minecraft.server.packs.resources;
|
||||
@@ -1687,14 +1687,14 @@ index 11884fc390d73b476632c372eb2d3d7876cdb7fd..6a4a63de2da352094d58c3c80c54ec16
|
||||
public abstract class SimplePreparableReloadListener<T> implements PreparableReloadListener {
|
||||
@Override
|
||||
@@ -11,12 +9,12 @@ public abstract class SimplePreparableReloadListener<T> implements PreparableRel
|
||||
PreparableReloadListener.SharedState sharedState, Executor exectutor, PreparableReloadListener.PreparationBarrier barrier, Executor applyExectutor
|
||||
PreparableReloadListener.SharedState state, Executor backgroundExecutor, PreparableReloadListener.PreparationBarrier preparation, Executor gameExecutor
|
||||
) {
|
||||
ResourceManager resourceManager = sharedState.resourceManager();
|
||||
- return CompletableFuture.<T>supplyAsync(() -> this.prepare(resourceManager, Profiler.get()), exectutor)
|
||||
+ return CompletableFuture.<T>supplyAsync(() -> this.prepare(resourceManager), exectutor)
|
||||
.thenCompose(barrier::wait)
|
||||
- .thenAcceptAsync(object -> this.apply((T)object, resourceManager, Profiler.get()), applyExectutor);
|
||||
+ .thenAcceptAsync(object -> this.apply((T)object, resourceManager), applyExectutor);
|
||||
ResourceManager resourceManager = state.resourceManager();
|
||||
- return CompletableFuture.<T>supplyAsync(() -> this.prepare(resourceManager, Profiler.get()), backgroundExecutor)
|
||||
+ return CompletableFuture.<T>supplyAsync(() -> this.prepare(resourceManager), backgroundExecutor)
|
||||
.thenCompose(preparation::wait)
|
||||
- .thenAcceptAsync(object -> this.apply((T)object, resourceManager, Profiler.get()), gameExecutor);
|
||||
+ .thenAcceptAsync(object -> this.apply((T)object, resourceManager), gameExecutor);
|
||||
}
|
||||
|
||||
- protected abstract T prepare(ResourceManager resourceManager, ProfilerFiller profiler);
|
||||
@@ -1799,7 +1799,7 @@ index 39a604c9a53930b53d959b1d2eb504aa964e9a58..0d0380e3955836ce125f777841477503
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
||||
index 2c4ed31a6573248a6730933fe447dbaf1856ea6d..79d224baca372cb1b6b89f7fcb63c5fe3707adb5 100644
|
||||
index 8c6554965fb0db76cf8ca0f1c905b0a1ab15ea2f..4cb08e5d70dc98fda437c8fbdb27aca3c8e8bb75 100644
|
||||
--- a/net/minecraft/world/entity/Entity.java
|
||||
+++ b/net/minecraft/world/entity/Entity.java
|
||||
@@ -82,8 +82,6 @@ import net.minecraft.util.RandomSource;
|
||||
@@ -1871,7 +1871,7 @@ index 2c4ed31a6573248a6730933fe447dbaf1856ea6d..79d224baca372cb1b6b89f7fcb63c5fe
|
||||
}
|
||||
}
|
||||
// Paper start - detailed watchdog information
|
||||
@@ -3541,8 +3528,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
@@ -3540,8 +3527,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 +1880,7 @@ index 2c4ed31a6573248a6730933fe447dbaf1856ea6d..79d224baca372cb1b6b89f7fcb63c5fe
|
||||
this.setPortalCooldown();
|
||||
TeleportTransition portalDestination = this.portalProcess.getPortalDestination(serverLevel, this);
|
||||
if (portalDestination != null) {
|
||||
@@ -3552,8 +3537,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
@@ -3551,8 +3536,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
this.teleport(portalDestination);
|
||||
}
|
||||
}
|
||||
@@ -1889,7 +1889,7 @@ index 2c4ed31a6573248a6730933fe447dbaf1856ea6d..79d224baca372cb1b6b89f7fcb63c5fe
|
||||
} else if (this.portalProcess.hasExpired()) {
|
||||
this.portalProcess = null;
|
||||
}
|
||||
@@ -4120,15 +4103,12 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
@@ -4119,15 +4102,12 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
entity.teleport(this.calculatePassengerTransition(teleportTransition, entity));
|
||||
}
|
||||
|
||||
@@ -1905,7 +1905,7 @@ index 2c4ed31a6573248a6730933fe447dbaf1856ea6d..79d224baca372cb1b6b89f7fcb63c5fe
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -4145,11 +4125,8 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
@@ -4144,11 +4124,8 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1917,7 +1917,7 @@ index 2c4ed31a6573248a6730933fe447dbaf1856ea6d..79d224baca372cb1b6b89f7fcb63c5fe
|
||||
return null;
|
||||
} else {
|
||||
// Paper start - Fix item duplication and teleport issues
|
||||
@@ -4169,7 +4146,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
@@ -4168,7 +4145,6 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
newLevel.resetEmptyTime();
|
||||
teleportTransition.postTeleportTransition().onTransition(entityx);
|
||||
this.teleportSpectators(teleportTransition, oldLevel);
|
||||
@@ -1926,7 +1926,7 @@ index 2c4ed31a6573248a6730933fe447dbaf1856ea6d..79d224baca372cb1b6b89f7fcb63c5fe
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||
index 06ccbb08ddb0ed8c9f6e1be4d6306b79484c1467..4e8594985442fe4371504fca697569bd3c58339d 100644
|
||||
index 9ea15e4656d34ab6738812b6168e15bd6d25fccb..bdd59ab98de1c1392cc8d73a3eedf28ffa64911a 100644
|
||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -70,8 +70,6 @@ import net.minecraft.tags.FluidTags;
|
||||
@@ -1955,7 +1955,7 @@ index 06ccbb08ddb0ed8c9f6e1be4d6306b79484c1467..4e8594985442fe4371504fca697569bd
|
||||
}
|
||||
|
||||
protected boolean shouldTakeDrowningDamage() {
|
||||
@@ -3402,11 +3397,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
@@ -3409,11 +3404,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
f1 = this.getYRot();
|
||||
}
|
||||
|
||||
@@ -1967,7 +1967,7 @@ index 06ccbb08ddb0ed8c9f6e1be4d6306b79484c1467..4e8594985442fe4371504fca697569bd
|
||||
|
||||
// Paper start - stop large pitch and yaw changes from crashing the server
|
||||
this.yRotO += Math.round((this.getYRot() - this.yRotO) / 360.0F) * 360.0F;
|
||||
@@ -3418,7 +3409,6 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
@@ -3425,7 +3416,6 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
this.yHeadRotO += Math.round((this.yHeadRot - this.yHeadRotO) / 360.0F) * 360.0F;
|
||||
// Paper end - stop large pitch and yaw changes from crashing the server
|
||||
|
||||
@@ -1975,7 +1975,7 @@ index 06ccbb08ddb0ed8c9f6e1be4d6306b79484c1467..4e8594985442fe4371504fca697569bd
|
||||
if (this.isFallFlying()) {
|
||||
this.fallFlyTicks++;
|
||||
} else {
|
||||
@@ -3594,21 +3584,15 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
@@ -3601,21 +3591,15 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
}
|
||||
|
||||
this.setDeltaMovement(d, d1, d2);
|
||||
@@ -1997,7 +1997,7 @@ index 06ccbb08ddb0ed8c9f6e1be4d6306b79484c1467..4e8594985442fe4371504fca697569bd
|
||||
if (this.jumping && this.isAffectedByFluids()) {
|
||||
double fluidHeight;
|
||||
if (this.isInLava()) {
|
||||
@@ -3637,8 +3621,6 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
@@ -3644,8 +3628,6 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
this.noJumpDelay = 0;
|
||||
}
|
||||
|
||||
@@ -2006,7 +2006,7 @@ index 06ccbb08ddb0ed8c9f6e1be4d6306b79484c1467..4e8594985442fe4371504fca697569bd
|
||||
if (this.isFallFlying()) {
|
||||
this.updateFallFlying();
|
||||
}
|
||||
@@ -3663,9 +3645,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
@@ -3670,9 +3652,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
this.calculateEntityAnimation(this instanceof FlyingAnimal);
|
||||
}
|
||||
|
||||
@@ -2016,7 +2016,7 @@ index 06ccbb08ddb0ed8c9f6e1be4d6306b79484c1467..4e8594985442fe4371504fca697569bd
|
||||
if ((!this.isInPowderSnow || !this.canFreeze()) && !this.freezeLocked) { // Paper - Freeze Tick Lock API
|
||||
this.setTicksFrozen(Math.max(0, this.getTicksFrozen() - 2));
|
||||
}
|
||||
@@ -3675,18 +3655,14 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
@@ -3682,18 +3662,14 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
if (this.tickCount % 40 == 0 && this.isFullyFrozen() && this.canFreeze()) {
|
||||
this.hurtServer(serverLevel, this.damageSources().freeze(), 1.0F);
|
||||
}
|
||||
@@ -2036,7 +2036,7 @@ index 06ccbb08ddb0ed8c9f6e1be4d6306b79484c1467..4e8594985442fe4371504fca697569bd
|
||||
// Purpur start - Ridables
|
||||
if (this.xo != this.getX() || this.yo != this.getY() || this.zo != this.getZ() || this.yRotO != this.getYRot() || this.xRotO != this.getXRot()) {
|
||||
diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java
|
||||
index 3f2e4b48b0ac7f2062c2cbeab36e14eb1c46e3f9..c3a7a41b399590e2c004fda4e97b1935575c4972 100644
|
||||
index 699842fcc714a79f0ae83b899a301fa62400709c..c551b8c8c9b9d070afdbcf5cfcdb35e99830fd91 100644
|
||||
--- a/net/minecraft/world/entity/Mob.java
|
||||
+++ b/net/minecraft/world/entity/Mob.java
|
||||
@@ -31,8 +31,6 @@ import net.minecraft.util.debug.DebugGoalInfo;
|
||||
@@ -2181,7 +2181,7 @@ index 859b859d29b637200cf7c9a0bd52d9f712413e3d..653c58c7637c46c8b46a5082f671324a
|
||||
|
||||
public Set<WrappedGoal> getAvailableGoals() {
|
||||
diff --git a/net/minecraft/world/entity/ai/navigation/PathNavigation.java b/net/minecraft/world/entity/ai/navigation/PathNavigation.java
|
||||
index 3e427a7e8be0e15bf867948ee21e838a8a9c3408..1f45b389553cd5782972193537ce7adcd9c7c600 100644
|
||||
index 05943450baa0a04ac433c39fdbe80e7abd191363..17d2a937ab6f325295c0b5b9b0a681952d4bce85 100644
|
||||
--- a/net/minecraft/world/entity/ai/navigation/PathNavigation.java
|
||||
+++ b/net/minecraft/world/entity/ai/navigation/PathNavigation.java
|
||||
@@ -12,8 +12,6 @@ import net.minecraft.tags.BlockTags;
|
||||
@@ -2202,11 +2202,11 @@ index 3e427a7e8be0e15bf867948ee21e838a8a9c3408..1f45b389553cd5782972193537ce7adc
|
||||
BlockPos blockPos = offsetUpward ? this.mob.blockPosition().above() : this.mob.blockPosition();
|
||||
int i = (int)(followRange + regionOffset);
|
||||
PathNavigationRegion pathNavigationRegion = new PathNavigationRegion(this.level, blockPos.offset(-i, -i, -i), blockPos.offset(i, i, i));
|
||||
Path path = this.pathFinder.findPath(pathNavigationRegion, this.mob, targets, followRange, accuracy, this.maxVisitedNodesMultiplier);
|
||||
Path path = this.pathFinder.findPath(pathNavigationRegion, this.mob, targets, followRange, reachRange, this.maxVisitedNodesMultiplier);
|
||||
- profilerFiller.pop();
|
||||
if (path != null && path.getTarget() != null) {
|
||||
this.targetPos = path.getTarget();
|
||||
this.reachRange = accuracy;
|
||||
this.reachRange = reachRange;
|
||||
diff --git a/net/minecraft/world/entity/ai/sensing/Sensing.java b/net/minecraft/world/entity/ai/sensing/Sensing.java
|
||||
index c569074403b1d8b443aaa98ba9cf9bbd0e98bd2d..b1aa7294f9479f45fcde77c5ea46db9f62370abf 100644
|
||||
--- a/net/minecraft/world/entity/ai/sensing/Sensing.java
|
||||
@@ -2232,7 +2232,7 @@ index c569074403b1d8b443aaa98ba9cf9bbd0e98bd2d..b1aa7294f9479f45fcde77c5ea46db9f
|
||||
this.seen.add(id);
|
||||
} else {
|
||||
diff --git a/net/minecraft/world/entity/animal/HappyGhast.java b/net/minecraft/world/entity/animal/HappyGhast.java
|
||||
index 5b08703e27a9e92fb4bcd019661b1407078c24e1..7fae9853c117cda03c516afc1508493af460fa8a 100644
|
||||
index e85f17f362548f13a414a41f711900add788b2f7..0506db902dab8c15e6460b5049d388f7af561628 100644
|
||||
--- a/net/minecraft/world/entity/animal/HappyGhast.java
|
||||
+++ b/net/minecraft/world/entity/animal/HappyGhast.java
|
||||
@@ -13,8 +13,6 @@ import net.minecraft.sounds.SoundEvents;
|
||||
@@ -2259,7 +2259,7 @@ index 5b08703e27a9e92fb4bcd019661b1407078c24e1..7fae9853c117cda03c516afc1508493a
|
||||
|
||||
this.checkRestriction();
|
||||
diff --git a/net/minecraft/world/entity/animal/allay/Allay.java b/net/minecraft/world/entity/animal/allay/Allay.java
|
||||
index d2665a3bc4602ca8e9635bc9f8104c7ad8eacc5a..3a2451bfa5e59de51d703eac8a536284e1d3348b 100644
|
||||
index d842d0158f1c685a9350c61158a6eaa36ea9e897..ae68a19a0b13bc626efec6a028f3abba4a436f3b 100644
|
||||
--- a/net/minecraft/world/entity/animal/allay/Allay.java
|
||||
+++ b/net/minecraft/world/entity/animal/allay/Allay.java
|
||||
@@ -24,8 +24,6 @@ import net.minecraft.tags.GameEventTags;
|
||||
@@ -2287,7 +2287,7 @@ index d2665a3bc4602ca8e9635bc9f8104c7ad8eacc5a..3a2451bfa5e59de51d703eac8a536284
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/entity/animal/armadillo/Armadillo.java b/net/minecraft/world/entity/animal/armadillo/Armadillo.java
|
||||
index e3fad2dbf9f8e0523082540ecbd46a0b13a36101..5448b010f98e5c0da6e62ef9f91652747eddd650 100644
|
||||
index 040fac5a4852b101299597e655a3774d83450172..bc7d026cae5c80e81b27b611557d48147f3e55d1 100644
|
||||
--- a/net/minecraft/world/entity/animal/armadillo/Armadillo.java
|
||||
+++ b/net/minecraft/world/entity/animal/armadillo/Armadillo.java
|
||||
@@ -22,8 +22,6 @@ import net.minecraft.util.ByIdMap;
|
||||
@@ -2314,7 +2314,7 @@ index e3fad2dbf9f8e0523082540ecbd46a0b13a36101..5448b010f98e5c0da6e62ef9f9165274
|
||||
this.forceDrops = true; // CraftBukkit
|
||||
if (this.dropFromGiftLootTable(level, BuiltInLootTables.ARMADILLO_SHED, this::spawnAtLocation)) {
|
||||
diff --git a/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
index 08fb591e860b7b2b93b42bfc7a91d63999567dc6..1927f8be451258d9f0f8eec1617d103a4140e1e7 100644
|
||||
index 3cc8ee115e889ced4457596b9c5fce438157e980..a952e78ac0c1fa7a2728fc3036b93e69e2fefb8d 100644
|
||||
--- a/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
+++ b/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
@@ -30,8 +30,6 @@ import net.minecraft.util.ByIdMap;
|
||||
@@ -2342,7 +2342,7 @@ index 08fb591e860b7b2b93b42bfc7a91d63999567dc6..1927f8be451258d9f0f8eec1617d103a
|
||||
Optional<Integer> memory = this.getBrain().getMemory(MemoryModuleType.PLAY_DEAD_TICKS);
|
||||
this.setPlayingDead(memory.isPresent() && memory.get() > 0);
|
||||
diff --git a/net/minecraft/world/entity/animal/camel/Camel.java b/net/minecraft/world/entity/animal/camel/Camel.java
|
||||
index bb750bcc35a3dd75c112dea445595ab27cc15fd5..5a436ae8893cd91944e8269f11c29bc82217c755 100644
|
||||
index cc71c575a8fb62c41198c6e1f27bd0e88380f5bc..efe34d1510d96f91821abb36ed2957b388dcd7bd 100644
|
||||
--- a/net/minecraft/world/entity/animal/camel/Camel.java
|
||||
+++ b/net/minecraft/world/entity/animal/camel/Camel.java
|
||||
@@ -17,8 +17,6 @@ import net.minecraft.tags.BlockTags;
|
||||
@@ -2370,7 +2370,7 @@ index bb750bcc35a3dd75c112dea445595ab27cc15fd5..5a436ae8893cd91944e8269f11c29bc8
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/entity/animal/frog/Frog.java b/net/minecraft/world/entity/animal/frog/Frog.java
|
||||
index e18364baff00dc08aad75e0d40e86ae14fec56ad..1a504e30602d7d8feaf7a9180adf6382596aae02 100644
|
||||
index 78863bd593acaa46f33a49fadbd0cdb025074c11..7643e8d1b89a23354c27395509407c20e3d93b69 100644
|
||||
--- a/net/minecraft/world/entity/animal/frog/Frog.java
|
||||
+++ b/net/minecraft/world/entity/animal/frog/Frog.java
|
||||
@@ -27,8 +27,6 @@ import net.minecraft.tags.ItemTags;
|
||||
@@ -2398,7 +2398,7 @@ index e18364baff00dc08aad75e0d40e86ae14fec56ad..1a504e30602d7d8feaf7a9180adf6382
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/entity/animal/frog/Tadpole.java b/net/minecraft/world/entity/animal/frog/Tadpole.java
|
||||
index 4586969e406b24639893a393e2ebe19ec5b224ea..8312a0d5229043fd84125db809c4346bb80f2bc0 100644
|
||||
index 13b44b9560d46b351c4751aab189cc01c61d768d..37b1674c3f89d7ddba054b066df957f3337f4a89 100644
|
||||
--- a/net/minecraft/world/entity/animal/frog/Tadpole.java
|
||||
+++ b/net/minecraft/world/entity/animal/frog/Tadpole.java
|
||||
@@ -11,8 +11,6 @@ import net.minecraft.server.level.ServerLevel;
|
||||
@@ -2426,7 +2426,7 @@ index 4586969e406b24639893a393e2ebe19ec5b224ea..8312a0d5229043fd84125db809c4346b
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/entity/animal/goat/Goat.java b/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
index 99980c9a69b51f81a9cd4429d59fab9497d79656..80714e2a6e74047af89680c261e2dbc097d86062 100644
|
||||
index 6b6461a61a1738d64220f571b8cf7b46605327c0..7ed4685600fb0d03d90e4b7e6044ee8c466ecd72 100644
|
||||
--- a/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
+++ b/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
@@ -19,8 +19,6 @@ import net.minecraft.tags.ItemTags;
|
||||
@@ -2454,7 +2454,7 @@ index 99980c9a69b51f81a9cd4429d59fab9497d79656..80714e2a6e74047af89680c261e2dbc0
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
||||
index 204a9ee08668d12368b5c0e9ed990d0a4624b925..b77b763a3eb58b3135ad9c9cbb8a39f67393397d 100644
|
||||
index d7e61ce6e2b77817f4eca913f2c319096e7f244f..2cfd97f10619fcd61f080bda1a617a664103ca53 100644
|
||||
--- a/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
||||
+++ b/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
||||
@@ -28,8 +28,6 @@ import net.minecraft.tags.BlockTags;
|
||||
@@ -2481,7 +2481,7 @@ index 204a9ee08668d12368b5c0e9ed990d0a4624b925..b77b763a3eb58b3135ad9c9cbb8a39f6
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/entity/monster/Zoglin.java b/net/minecraft/world/entity/monster/Zoglin.java
|
||||
index e0ee4f71786dce5690cf75bb55def05c8608c8d2..2eb7f602f452917b5d88fd8237898dff920cf0a9 100644
|
||||
index 2632dd89d2f5661137e2c09b8cd426fc40599f69..233d175ba7e1c8516fff7897930c16a5de224820 100644
|
||||
--- a/net/minecraft/world/entity/monster/Zoglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/Zoglin.java
|
||||
@@ -13,8 +13,6 @@ import net.minecraft.network.syncher.SynchedEntityData;
|
||||
@@ -2506,7 +2506,7 @@ index e0ee4f71786dce5690cf75bb55def05c8608c8d2..2eb7f602f452917b5d88fd8237898dff
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/entity/monster/breeze/Breeze.java b/net/minecraft/world/entity/monster/breeze/Breeze.java
|
||||
index 11408fd409eb00e6bf3289e6a5a35e98178fa6e2..44d638d5d96a58bcfd35cc8e2e0c08389717e48f 100644
|
||||
index 405eb5f041bf3a611f8111fd58864ffec30ab0c0..9ef421dfbb2d8d26d4a01d130dcbf3a6708890e9 100644
|
||||
--- a/net/minecraft/world/entity/monster/breeze/Breeze.java
|
||||
+++ b/net/minecraft/world/entity/monster/breeze/Breeze.java
|
||||
@@ -14,8 +14,6 @@ import net.minecraft.tags.EntityTypeTags;
|
||||
@@ -2533,7 +2533,7 @@ index 11408fd409eb00e6bf3289e6a5a35e98178fa6e2..44d638d5d96a58bcfd35cc8e2e0c0838
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/entity/monster/creaking/Creaking.java b/net/minecraft/world/entity/monster/creaking/Creaking.java
|
||||
index c05d572fa2ab5a70c8825d2d2b6ffb36317e92fe..ffa881eb837aff53d50d0ffe8af44bbe2d0aeb6a 100644
|
||||
index f31a29531cc7d63bed5a4bcbe3986bcc366b6103..6f7812f22399f67923e53a10a21ebd499ed40c64 100644
|
||||
--- a/net/minecraft/world/entity/monster/creaking/Creaking.java
|
||||
+++ b/net/minecraft/world/entity/monster/creaking/Creaking.java
|
||||
@@ -15,8 +15,6 @@ import net.minecraft.server.level.ServerLevel;
|
||||
@@ -2557,7 +2557,7 @@ index c05d572fa2ab5a70c8825d2d2b6ffb36317e92fe..ffa881eb837aff53d50d0ffe8af44bbe
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
index 08c3372555d098b62465437798bf6cbd08e73ec5..b22519a6d39bd52381fa6c17b9a415944374368b 100644
|
||||
index c5f7213b91d7a533ff56e4789514b47adb791777..d115155616a0a76a8429c0f5645a8cba73d8bc80 100644
|
||||
--- a/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
@@ -14,8 +14,6 @@ import net.minecraft.sounds.SoundEvents;
|
||||
@@ -2582,7 +2582,7 @@ index 08c3372555d098b62465437798bf6cbd08e73ec5..b22519a6d39bd52381fa6c17b9a41594
|
||||
if (this.isConverting()) {
|
||||
this.timeInOverworld++;
|
||||
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
index 000391f95bf2881765c304aecb013eb313d55ba1..dea7c211a2d2ee8f1833eaad49513b3690b06c55 100644
|
||||
index dee71746e90f8a81e29ee35c3438219172509d6b..359665cfb2004c49f8e8a19edc7b31c99ce863bf 100644
|
||||
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
@@ -16,8 +16,6 @@ import net.minecraft.tags.ItemTags;
|
||||
@@ -2607,7 +2607,7 @@ index 000391f95bf2881765c304aecb013eb313d55ba1..dea7c211a2d2ee8f1833eaad49513b36
|
||||
super.customServerAiStep(level);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/monster/piglin/PiglinBrute.java b/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
||||
index 70ee15527fa6f30783d6a58bb767b18124f25c53..c4eb58d0b0c51e930f9cb72e1de0103902badba7 100644
|
||||
index ebe1b4e0b841906684561151919a5b3f6e206b60..0f1ed8ec352653089106ed8a143ab4ae3f82c3fe 100644
|
||||
--- a/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
||||
+++ b/net/minecraft/world/entity/monster/piglin/PiglinBrute.java
|
||||
@@ -8,8 +8,6 @@ import net.minecraft.server.level.ServerLevel;
|
||||
@@ -2632,7 +2632,7 @@ index 70ee15527fa6f30783d6a58bb767b18124f25c53..c4eb58d0b0c51e930f9cb72e1de01039
|
||||
PiglinBruteAi.maybePlayActivitySound(this);
|
||||
super.customServerAiStep(level);
|
||||
diff --git a/net/minecraft/world/entity/monster/warden/Warden.java b/net/minecraft/world/entity/monster/warden/Warden.java
|
||||
index 137510f81e6454f45010f8d96001ad1ebdddfde6..ac7691a2a3e4c9db040408d1ecba780a89dea50e 100644
|
||||
index 380fe9b03e205d6c5b2eb48030384c8b756bc3f9..e9881eac70feebeb08f464efd4fa953cec9f62bf 100644
|
||||
--- a/net/minecraft/world/entity/monster/warden/Warden.java
|
||||
+++ b/net/minecraft/world/entity/monster/warden/Warden.java
|
||||
@@ -26,8 +26,6 @@ import net.minecraft.tags.TagKey;
|
||||
@@ -2657,7 +2657,7 @@ index 137510f81e6454f45010f8d96001ad1ebdddfde6..ac7691a2a3e4c9db040408d1ecba780a
|
||||
if ((this.tickCount + this.getId()) % 120 == 0) {
|
||||
applyDarknessAround(level, this.position(), this, 20);
|
||||
diff --git a/net/minecraft/world/entity/npc/Villager.java b/net/minecraft/world/entity/npc/Villager.java
|
||||
index dda4563b0f0d6f0d1a0ccd64a4ec787bf27abf2d..3bcd3b7c9f7ad408d66fad5b1b70ebee96a61b43 100644
|
||||
index 0ab9ac120703285baa563391653323c17d05b20b..e89ff53c568013a5f53afcf5759314221d37adf4 100644
|
||||
--- a/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -35,8 +35,6 @@ import net.minecraft.stats.Stats;
|
||||
@@ -2717,7 +2717,7 @@ index 07d7c4737635f671f33b8f73001d67928fc75782..f2c82217811712625df594667330a73f
|
||||
LOGGER.info("Loaded {} recipes", object.values().size());
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
|
||||
index abde1d66d545a5aded66a908473aa52b3c7a9ce8..cd42348d3bd64aa8cabc337f57b56a7243887ef6 100644
|
||||
index 5792422495a2d71ae4341e54817550e3d352d0b4..ad69e0e97d6d8efcfe73fe8a6f66cc64719704ac 100644
|
||||
--- a/net/minecraft/world/level/Level.java
|
||||
+++ b/net/minecraft/world/level/Level.java
|
||||
@@ -36,7 +36,6 @@ import net.minecraft.util.AbortableIterationConsumer;
|
||||
@@ -2770,7 +2770,7 @@ index abde1d66d545a5aded66a908473aa52b3c7a9ce8..cd42348d3bd64aa8cabc337f57b56a72
|
||||
this.getEntities().get(entityTypeTest, bounds, value -> {
|
||||
if (predicate.test(value)) {
|
||||
diff --git a/net/minecraft/world/level/NaturalSpawner.java b/net/minecraft/world/level/NaturalSpawner.java
|
||||
index c2e35467752c6cf5677fe8beee3145187a0090fc..b3649c97e5452d8cc6b7230891e827c6b460af44 100644
|
||||
index 4c3fa61566ecabf8eccea32f10aabfa7c961e4c5..1b62bc5836fbf0ddc37d8f979b4e7aa628c4b00e 100644
|
||||
--- a/net/minecraft/world/level/NaturalSpawner.java
|
||||
+++ b/net/minecraft/world/level/NaturalSpawner.java
|
||||
@@ -24,8 +24,6 @@ import net.minecraft.tags.BlockTags;
|
||||
@@ -2826,7 +2826,7 @@ index c0c87b7c8e0b6b941fe8a63dc361504e94459d86..3c4de8b43a5658e02ddce7db9f453bfd
|
||||
|
||||
if (this.fire) {
|
||||
diff --git a/net/minecraft/world/level/pathfinder/PathFinder.java b/net/minecraft/world/level/pathfinder/PathFinder.java
|
||||
index b84c03cb0bddfc6fdc362a5e1432b25f67e7e23d..98abda72d88fb38a5427a15cc59094f3a7db30dc 100644
|
||||
index f90c2bb95e304bd6b9b8539d89f38d2d718893d0..f41f6c0be37f89c54cee3e02494c1412f309266f 100644
|
||||
--- a/net/minecraft/world/level/pathfinder/PathFinder.java
|
||||
+++ b/net/minecraft/world/level/pathfinder/PathFinder.java
|
||||
@@ -13,9 +13,6 @@ import java.util.function.Function;
|
||||
@@ -2842,7 +2842,7 @@ index b84c03cb0bddfc6fdc362a5e1432b25f67e7e23d..98abda72d88fb38a5427a15cc59094f3
|
||||
@@ -62,9 +59,6 @@ public class PathFinder {
|
||||
|
||||
@Nullable
|
||||
private Path findPath(Node node, List<Map.Entry<Target, BlockPos>> positions, float maxRange, int accuracy, float searchDepthMultiplier) { // Paper - optimize collection
|
||||
private Path findPath(Node node, List<Map.Entry<Target, BlockPos>> positions, float maxRange, int reachRange, float maxVisitedNodesMultiplier) { // Paper - optimize collection
|
||||
- ProfilerFiller profilerFiller = Profiler.get();
|
||||
- profilerFiller.push("find_path");
|
||||
- profilerFiller.markForCharting(MetricCategory.PATH_FINDING);
|
||||
|
||||
@@ -22,7 +22,7 @@ Example config in paper-world-defaults.yml:
|
||||
```
|
||||
|
||||
diff --git a/net/minecraft/world/level/NaturalSpawner.java b/net/minecraft/world/level/NaturalSpawner.java
|
||||
index b3649c97e5452d8cc6b7230891e827c6b460af44..f233841c43a0b3f71ed5a90b4df7d8b4902a642d 100644
|
||||
index 1b62bc5836fbf0ddc37d8f979b4e7aa628c4b00e..60290430e1ac70d3b885651168a6e8adcb17e7ce 100644
|
||||
--- a/net/minecraft/world/level/NaturalSpawner.java
|
||||
+++ b/net/minecraft/world/level/NaturalSpawner.java
|
||||
@@ -160,29 +160,52 @@ public final class NaturalSpawner {
|
||||
@@ -166,7 +166,7 @@ index b3649c97e5452d8cc6b7230891e827c6b460af44..f233841c43a0b3f71ed5a90b4df7d8b4
|
||||
|
||||
private static boolean isRightDistanceToPlayerAndSpawnPoint(ServerLevel level, ChunkAccess chunk, BlockPos.MutableBlockPos pos, double distance) {
|
||||
diff --git a/net/minecraft/world/level/chunk/ChunkAccess.java b/net/minecraft/world/level/chunk/ChunkAccess.java
|
||||
index 9889485b15501c1adf1a73bb4603d3477860482d..2457247d2bc1c3e3b042a091c3a8290d55203da8 100644
|
||||
index 98b7e1e3b8592824c69a9647a82621755526c71a..f6f9a88283e051e6a7c96f461b68b3881b3361d2 100644
|
||||
--- a/net/minecraft/world/level/chunk/ChunkAccess.java
|
||||
+++ b/net/minecraft/world/level/chunk/ChunkAccess.java
|
||||
@@ -86,6 +86,7 @@ public abstract class ChunkAccess implements BiomeManager.NoiseBiomeSource, Ligh
|
||||
@@ -178,7 +178,7 @@ index 9889485b15501c1adf1a73bb4603d3477860482d..2457247d2bc1c3e3b042a091c3a8290d
|
||||
// Paper start - rewrite chunk system
|
||||
private volatile ca.spottedleaf.moonrise.patches.starlight.light.SWMRNibbleArray[] blockNibbles;
|
||||
diff --git a/net/minecraft/world/level/chunk/storage/SerializableChunkData.java b/net/minecraft/world/level/chunk/storage/SerializableChunkData.java
|
||||
index 84840f50d1bcebc7b0bdb1d2f79b53fd6fc98abb..0e320673fb1cb9d4e4b5537850c2ad317624075f 100644
|
||||
index 2e8a1898c9ef8bbfd58ea1e9fbd7f6a633822fb9..e393f9025283acb7d1f5937aebbde83dabc8437f 100644
|
||||
--- a/net/minecraft/world/level/chunk/storage/SerializableChunkData.java
|
||||
+++ b/net/minecraft/world/level/chunk/storage/SerializableChunkData.java
|
||||
@@ -93,6 +93,7 @@ public record SerializableChunkData(
|
||||
@@ -189,7 +189,7 @@ index 84840f50d1bcebc7b0bdb1d2f79b53fd6fc98abb..0e320673fb1cb9d4e4b5537850c2ad31
|
||||
) {
|
||||
private static final Codec<List<SavedTick<Block>>> BLOCK_TICKS_CODEC = SavedTick.codec(BuiltInRegistries.BLOCK.byNameCodec()).listOf();
|
||||
private static final Codec<List<SavedTick<Fluid>>> FLUID_TICKS_CODEC = SavedTick.codec(BuiltInRegistries.FLUID.byNameCodec()).listOf();
|
||||
@@ -186,6 +187,19 @@ public record SerializableChunkData(
|
||||
@@ -184,6 +185,19 @@ public record SerializableChunkData(
|
||||
lists[i] = list2;
|
||||
}
|
||||
|
||||
@@ -209,7 +209,7 @@ index 84840f50d1bcebc7b0bdb1d2f79b53fd6fc98abb..0e320673fb1cb9d4e4b5537850c2ad31
|
||||
List<CompoundTag> list3 = tag.getList("entities").stream().flatMap(ListTag::compoundStream).toList();
|
||||
List<CompoundTag> list4 = tag.getList("block_entities").stream().flatMap(ListTag::compoundStream).toList();
|
||||
CompoundTag compoundOrEmpty = tag.getCompoundOrEmpty("structures");
|
||||
@@ -258,6 +272,7 @@ public record SerializableChunkData(
|
||||
@@ -256,6 +270,7 @@ public record SerializableChunkData(
|
||||
list4,
|
||||
compoundOrEmpty
|
||||
, tag.get("ChunkBukkitValues") // CraftBukkit - ChunkBukkitValues
|
||||
@@ -217,7 +217,7 @@ index 84840f50d1bcebc7b0bdb1d2f79b53fd6fc98abb..0e320673fb1cb9d4e4b5537850c2ad31
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -421,6 +436,15 @@ public record SerializableChunkData(
|
||||
@@ -419,6 +434,15 @@ public record SerializableChunkData(
|
||||
chunkAccess.addPackedPostProcess(this.postProcessingSections[i], i);
|
||||
}
|
||||
|
||||
@@ -233,7 +233,7 @@ index 84840f50d1bcebc7b0bdb1d2f79b53fd6fc98abb..0e320673fb1cb9d4e4b5537850c2ad31
|
||||
if (chunkType == ChunkType.LEVELCHUNK) {
|
||||
return this.loadStarlightLightData(level, new ImposterProtoChunk((LevelChunk)chunkAccess, false)); // Paper - starlight
|
||||
} else {
|
||||
@@ -536,6 +560,7 @@ public record SerializableChunkData(
|
||||
@@ -534,6 +558,7 @@ public record SerializableChunkData(
|
||||
persistentDataContainer = chunk.persistentDataContainer.toTagCompound();
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -241,7 +241,7 @@ index 84840f50d1bcebc7b0bdb1d2f79b53fd6fc98abb..0e320673fb1cb9d4e4b5537850c2ad31
|
||||
return new SerializableChunkData(
|
||||
level.palettedContainerFactory(),
|
||||
pos,
|
||||
@@ -556,6 +581,7 @@ public record SerializableChunkData(
|
||||
@@ -554,6 +579,7 @@ public record SerializableChunkData(
|
||||
list1,
|
||||
compoundTag
|
||||
, persistentDataContainer // CraftBukkit - persistentDataContainer
|
||||
@@ -249,7 +249,7 @@ index 84840f50d1bcebc7b0bdb1d2f79b53fd6fc98abb..0e320673fb1cb9d4e4b5537850c2ad31
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -641,6 +667,21 @@ public record SerializableChunkData(
|
||||
@@ -639,6 +665,21 @@ public record SerializableChunkData(
|
||||
compoundTag.put("ChunkBukkitValues", this.persistentDataContainer);
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -271,7 +271,7 @@ index 84840f50d1bcebc7b0bdb1d2f79b53fd6fc98abb..0e320673fb1cb9d4e4b5537850c2ad31
|
||||
// Paper start - starlight
|
||||
if (this.lightCorrect && !this.chunkStatus.isBefore(net.minecraft.world.level.chunk.status.ChunkStatus.LIGHT)) {
|
||||
// clobber vanilla value to force vanilla to relight
|
||||
@@ -856,4 +897,49 @@ public record SerializableChunkData(
|
||||
@@ -854,4 +895,49 @@ public record SerializableChunkData(
|
||||
}
|
||||
// Paper end - starlight - convert from record
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ index 09fd99c9cbd23b5f3c899bfb00c9b89651948ed8..6fdd51c767399bce29dce1ecea2e1307
|
||||
+ @Override public <T> void compact(net.minecraft.world.level.chunk.Palette<T> srcPalette, net.minecraft.world.level.chunk.Palette<T> dstPalette, short[] out, net.minecraft.world.level.chunk.PalettedContainer<T> resizeHandler) { } // DivineMC - lithium: faster chunk serialization
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/chunk/PalettedContainer.java b/net/minecraft/world/level/chunk/PalettedContainer.java
|
||||
index 1843046fe145bb23f2e9cf3269fb05c0fb617603..f1cae4cab36546d5798d2b59ac59774d1c9838c0 100644
|
||||
index 54d71bd666a946bdf6eece520e080c3f96003452..51ece91c956fd4d55eaef34a534fdb38c6d24446 100644
|
||||
--- a/net/minecraft/world/level/chunk/PalettedContainer.java
|
||||
+++ b/net/minecraft/world/level/chunk/PalettedContainer.java
|
||||
@@ -29,6 +29,23 @@ public class PalettedContainer<T> implements PaletteResize<T>, PalettedContainer
|
||||
@@ -111,7 +111,7 @@ index 1843046fe145bb23f2e9cf3269fb05c0fb617603..f1cae4cab36546d5798d2b59ac59774d
|
||||
public void acquire() {
|
||||
// this.threadingDetector.checkAndLock(); // Paper - disable this - use proper synchronization
|
||||
}
|
||||
@@ -340,29 +357,49 @@ public class PalettedContainer<T> implements PaletteResize<T>, PalettedContainer
|
||||
@@ -338,29 +355,49 @@ public class PalettedContainer<T> implements PaletteResize<T>, PalettedContainer
|
||||
public synchronized PalettedContainerRO.PackedData<T> pack(Strategy<T> strategy) { // Paper - synchronize
|
||||
this.acquire();
|
||||
|
||||
@@ -176,8 +176,8 @@ index 1843046fe145bb23f2e9cf3269fb05c0fb617603..f1cae4cab36546d5798d2b59ac59774d
|
||||
+ // DivineMC end - lithium: faster chunk serialization
|
||||
}
|
||||
|
||||
private static <T> int[] reencodeContents(BitStorage storage, Palette<T> oldPalette, Palette<T> newPalette) {
|
||||
@@ -412,13 +449,31 @@ public class PalettedContainer<T> implements PaletteResize<T>, PalettedContainer
|
||||
private static <T> int[] reencodeContents(BitStorage bitStorage, Palette<T> oldPalette, Palette<T> newPalette) {
|
||||
@@ -410,13 +447,31 @@ public class PalettedContainer<T> implements PaletteResize<T>, PalettedContainer
|
||||
|
||||
@Override
|
||||
public void count(PalettedContainer.CountConsumer<T> countConsumer) {
|
||||
@@ -185,8 +185,8 @@ index 1843046fe145bb23f2e9cf3269fb05c0fb617603..f1cae4cab36546d5798d2b59ac59774d
|
||||
- countConsumer.accept(this.data.palette.valueFor(0), this.data.storage.getSize());
|
||||
- } else {
|
||||
- Int2IntOpenHashMap map = new Int2IntOpenHashMap();
|
||||
- this.data.storage.getAll(i -> map.addTo(i, 1));
|
||||
- map.int2IntEntrySet().forEach(entry -> countConsumer.accept(this.data.palette.valueFor(entry.getIntKey()), entry.getIntValue()));
|
||||
- this.data.storage.getAll(id -> map.addTo(id, 1));
|
||||
- map.int2IntEntrySet().forEach(idEntry -> countConsumer.accept(this.data.palette.valueFor(idEntry.getIntKey()), idEntry.getIntValue()));
|
||||
+ // DivineMC start - lithium: faster chunk serialization
|
||||
+ int len = this.data.palette().getSize();
|
||||
+
|
||||
|
||||
@@ -10,10 +10,10 @@ As part of: ModernFix (https://github.com/embeddedt/ModernFix)
|
||||
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
|
||||
|
||||
diff --git a/net/minecraft/world/level/chunk/PalettedContainer.java b/net/minecraft/world/level/chunk/PalettedContainer.java
|
||||
index f1cae4cab36546d5798d2b59ac59774d1c9838c0..3baf84b3f636a3ea04945cb4c0f17acd7109bedb 100644
|
||||
index 51ece91c956fd4d55eaef34a534fdb38c6d24446..2e2625dbb8f14b11156d16501f4a1e1dea7eaef1 100644
|
||||
--- a/net/minecraft/world/level/chunk/PalettedContainer.java
|
||||
+++ b/net/minecraft/world/level/chunk/PalettedContainer.java
|
||||
@@ -283,6 +283,28 @@ public class PalettedContainer<T> implements PaletteResize<T>, PalettedContainer
|
||||
@@ -281,6 +281,28 @@ public class PalettedContainer<T> implements PaletteResize<T>, PalettedContainer
|
||||
data.palette.read(buffer, this.strategy.globalMap());
|
||||
buffer.readFixedSizeLongArray(data.storage.getRaw());
|
||||
this.data = data;
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Optimize Fluids
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/level/block/LiquidBlock.java b/net/minecraft/world/level/block/LiquidBlock.java
|
||||
index 34a10afcc242e4e37673918ee271d683e35385b7..2f278b528acfd3df1aff4438e31e6e81fbd6cf70 100644
|
||||
index 283e5fc879fd9869205549d66b3b99662ec56564..8aa9dac64bcfb81fdfebd1327a0f18bbc104b9d8 100644
|
||||
--- a/net/minecraft/world/level/block/LiquidBlock.java
|
||||
+++ b/net/minecraft/world/level/block/LiquidBlock.java
|
||||
@@ -197,6 +197,7 @@ public class LiquidBlock extends Block implements BucketPickup {
|
||||
@@ -199,6 +199,7 @@ public class LiquidBlock extends Block implements BucketPickup {
|
||||
Block block = level.getFluidState(pos).isSource() ? Blocks.OBSIDIAN : Blocks.COBBLESTONE;
|
||||
// CraftBukkit start
|
||||
if (org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockFormEvent(level, pos, block.defaultBlockState(), 3)) {
|
||||
@@ -17,7 +17,7 @@ index 34a10afcc242e4e37673918ee271d683e35385b7..2f278b528acfd3df1aff4438e31e6e81
|
||||
}
|
||||
// CraftBukkit end
|
||||
diff --git a/net/minecraft/world/level/material/FlowingFluid.java b/net/minecraft/world/level/material/FlowingFluid.java
|
||||
index e1a96f2448de90efef48e21ce4d673edbceda59a..7a14227f07b2b94bff7c67eb7f7f11cdd45c7b62 100644
|
||||
index 18f008dceff896a405970afe157321105d55405f..1de0ef32b6519cad10c8ebf0ed328b6773bcb3ff 100644
|
||||
--- a/net/minecraft/world/level/material/FlowingFluid.java
|
||||
+++ b/net/minecraft/world/level/material/FlowingFluid.java
|
||||
@@ -200,6 +200,7 @@ public abstract class FlowingFluid extends Fluid {
|
||||
@@ -132,7 +132,7 @@ index e1a96f2448de90efef48e21ce4d673edbceda59a..7a14227f07b2b94bff7c67eb7f7f11cd
|
||||
return canPassThroughWall(Direction.DOWN, level, pos, state, belowPos, belowState)
|
||||
&& (belowState.getFluidState().getType().isSame(this) || canHoldFluid(level, belowPos, belowState, this.getFlowing()));
|
||||
diff --git a/net/minecraft/world/level/material/LavaFluid.java b/net/minecraft/world/level/material/LavaFluid.java
|
||||
index 545c75cfd03a36d4e8b96a69fc8dcd893b548eeb..bbc658abfb2df1b3ee3a31d46c4b9014bb34e0a2 100644
|
||||
index b7da2efaa784ef470029410be3e2359c5bf6dace..2d845b09abe3354f0999b117e78ffd00c41e8924 100644
|
||||
--- a/net/minecraft/world/level/material/LavaFluid.java
|
||||
+++ b/net/minecraft/world/level/material/LavaFluid.java
|
||||
@@ -237,6 +237,7 @@ public abstract class LavaFluid extends FlowingFluid {
|
||||
|
||||
@@ -7,7 +7,7 @@ Original project: https://github.com/TelepathicGrunt/StructureLayoutOptimizer
|
||||
Original license: MIT
|
||||
|
||||
diff --git a/net/minecraft/world/level/levelgen/structure/pools/JigsawPlacement.java b/net/minecraft/world/level/levelgen/structure/pools/JigsawPlacement.java
|
||||
index 4e3302e8f28c7f12dc5fbaeb6c1f5715a9afc8e5..3b66b16612b8328eaea786cc8ba3a59fd67900e4 100644
|
||||
index 103d604797bed34c2e357d01c2f7324dea3e9026..4aa68163958e89521f542470c473f8d5980f5d4b 100644
|
||||
--- a/net/minecraft/world/level/levelgen/structure/pools/JigsawPlacement.java
|
||||
+++ b/net/minecraft/world/level/levelgen/structure/pools/JigsawPlacement.java
|
||||
@@ -4,6 +4,8 @@ import com.google.common.collect.Lists;
|
||||
@@ -233,7 +233,7 @@ index 5c081a5b3d10f713e4e82fe1a43758f553fe50e0..85e84603a19964f05d9d5e62eb096ca7
|
||||
+ // DivineMC end - Optimize Structure Generation
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java b/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java
|
||||
index 4068becb9eca9cbbb67e6d6fb9ff848bfc25877e..d8756e4bfc669eb17c60429c4b532b13f1c308ec 100644
|
||||
index 85f9b9a7df18a34fa7f8999b887bd444c3d3d067..0d98eee31f053614b9d4fddd811b6d17bd3a7a50 100644
|
||||
--- a/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java
|
||||
+++ b/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java
|
||||
@@ -256,6 +256,12 @@ public class StructureTemplate {
|
||||
@@ -246,7 +246,7 @@ index 4068becb9eca9cbbb67e6d6fb9ff848bfc25877e..d8756e4bfc669eb17c60429c4b532b13
|
||||
+ }
|
||||
+ // DivineMC end - Optimize Structure Generation
|
||||
+
|
||||
public boolean placeInWorld(ServerLevelAccessor serverLevel, BlockPos offset, BlockPos pos, StructurePlaceSettings settings, RandomSource random, int flags) {
|
||||
public boolean placeInWorld(ServerLevelAccessor level, BlockPos offset, BlockPos pos, StructurePlaceSettings settings, RandomSource random, int flags) {
|
||||
if (this.palettes.isEmpty()) {
|
||||
return false;
|
||||
@@ -273,7 +279,11 @@ public class StructureTemplate {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Implement NoChatReports
|
||||
|
||||
|
||||
diff --git a/net/minecraft/network/FriendlyByteBuf.java b/net/minecraft/network/FriendlyByteBuf.java
|
||||
index 70b35188e4762c8dcd46b2df14d4efd85e147dcd..8861148b0598891e7851d2c9cc6d79edfc26e55e 100644
|
||||
index be5ac057737fd67fbf2f80f879f8e2816750f041..85faebf1d75bc6d4e6b01d0dad1920069f6fd98d 100644
|
||||
--- a/net/minecraft/network/FriendlyByteBuf.java
|
||||
+++ b/net/minecraft/network/FriendlyByteBuf.java
|
||||
@@ -105,7 +105,28 @@ public class FriendlyByteBuf extends ByteBuf {
|
||||
@@ -206,10 +206,10 @@ index 88447fc2108126ccfad2fb7eb79ac94537f132d3..571cbe6844ebb330801dd893a45c1f73
|
||||
private static final String PREFIX = "data:image/png;base64,";
|
||||
public static final Codec<ServerStatus.Favicon> CODEC = Codec.STRING.comapFlatMap(string -> {
|
||||
diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index 7486df33cedea98695c614bb3d584e1d8e84314f..f9ec63ed7feb67e558abed99746726c10e9e10f4 100644
|
||||
index 6a8f501883a5b5697d3ebf401f6b7aa6145479ea..d2ac3057cd6d27c9f0ec043421cbb72b57853b97 100644
|
||||
--- a/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -833,6 +833,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -832,6 +832,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
|
||||
@Override
|
||||
public boolean enforceSecureProfile() {
|
||||
@@ -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 6c6213323df278391b30dd9f22c408a34ec052c8..c8e68bbb210457366822f2c4a01afb49693035ac 100644
|
||||
index 78d0595edb26a8ee29143c86164d01056132fa08..2425ecc8c27647acb5cb6ef1989cc7db715d2392 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 6c6213323df278391b30dd9f22c408a34ec052c8..c8e68bbb210457366822f2c4a01afb49
|
||||
)
|
||||
);
|
||||
player.getBukkitEntity().sendSupportedChannels(); // CraftBukkit
|
||||
@@ -1255,6 +1255,7 @@ public abstract class PlayerList {
|
||||
@@ -1245,6 +1245,7 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public boolean verifyChatTrusted(PlayerChatMessage message) {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Lag compensation
|
||||
|
||||
|
||||
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
||||
index d8e5de94e677863e1e7894b186c7cd79ecef43f6..8f281339ac390f005baddf00cd09e876cc49e524 100644
|
||||
index f9d60a28763e2c45b5dcf9687b8999fb73817aa9..3de2d76bf118750932a56d02233e4e6aff0b2728 100644
|
||||
--- a/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/net/minecraft/server/MinecraftServer.java
|
||||
@@ -287,6 +287,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -16,7 +16,7 @@ index d8e5de94e677863e1e7894b186c7cd79ecef43f6..8f281339ac390f005baddf00cd09e876
|
||||
// Paper start - improve tick loop
|
||||
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));
|
||||
@@ -1579,6 +1580,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1598,6 +1599,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
}
|
||||
|
||||
this.server.spark.tickStart(); // Paper - spark
|
||||
@@ -25,7 +25,7 @@ index d8e5de94e677863e1e7894b186c7cd79ecef43f6..8f281339ac390f005baddf00cd09e876
|
||||
this.tickCount++;
|
||||
this.tickRateManager.tick();
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index 06d3cbc33f41517028b5998f11695f68eb19aa5e..2f09f9c02e63563828dd7000352baf2723a0ac59 100644
|
||||
index 7766bc8f3d1de6e33c2ab9256b71c30624872a2a..e6e54f23e302292aa9e9495c00aaae22cf18dd94 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
|
||||
@@ -66,7 +66,7 @@ index 06d3cbc33f41517028b5998f11695f68eb19aa5e..2f09f9c02e63563828dd7000352baf27
|
||||
this.serverLevelData.setDayTime(time);
|
||||
// Purpur start - Configurable daylight cycle
|
||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||
index 5c2d1d78dce9fed6649eda2dea14bf32f8f591dc..49f83d3dedc16d977f7904971af13cc17ed32882 100644
|
||||
index 509689bfffbe7b376ce3c4f9851342242ae3bab2..f15497ef868574ee2fe11611bfc31d9b102f80d0 100644
|
||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -525,6 +525,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
@@ -122,7 +122,7 @@ index 88b07fbb96b20124777889830afa480673629d43..91f6d43b3785ddad7db8eb529ba3293c
|
||||
public TeleportTransition getPortalDestination(ServerLevel level, Entity entity) {
|
||||
return this.portal.getPortalDestination(level, entity, this.entryPosition);
|
||||
diff --git a/net/minecraft/world/entity/item/ItemEntity.java b/net/minecraft/world/entity/item/ItemEntity.java
|
||||
index 5aef1e6cf4f325c330579a268ac5f5540759da92..b5d7e5738ce043fdc08cd4872c9daaf952251b9a 100644
|
||||
index 8153c870c0c822792ffbb0fa1ae96b201a1444e3..7525184fd5a801e39fbcba2afbcc968862a1cfbb 100644
|
||||
--- a/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -149,8 +149,25 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -152,7 +152,7 @@ index 5aef1e6cf4f325c330579a268ac5f5540759da92..b5d7e5738ce043fdc08cd4872c9daaf9
|
||||
this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DESPAWN); // CraftBukkit - add Bukkit remove cause
|
||||
} else {
|
||||
diff --git a/net/minecraft/world/item/Item.java b/net/minecraft/world/item/Item.java
|
||||
index 6702b7199e159b16ecd06c57d87c692d04dbf7dc..1cced6128ad4ea0a00e0c772c34431a8ef689d0f 100644
|
||||
index 5305b72c37ba0fcde811d46e781fb4c74817da52..fbae6ab5d5a999039ae8d67cd3df193ed5eec5d9 100644
|
||||
--- a/net/minecraft/world/item/Item.java
|
||||
+++ b/net/minecraft/world/item/Item.java
|
||||
@@ -286,10 +286,25 @@ public class Item implements FeatureElement, ItemLike {
|
||||
@@ -183,10 +183,10 @@ index 6702b7199e159b16ecd06c57d87c692d04dbf7dc..1cced6128ad4ea0a00e0c772c34431a8
|
||||
BlocksAttacks blocksAttacks = stack.get(DataComponents.BLOCKS_ATTACKS);
|
||||
return blocksAttacks != null ? 72000 : 0;
|
||||
diff --git a/net/minecraft/world/level/GameRules.java b/net/minecraft/world/level/GameRules.java
|
||||
index 45132e6608b57a30b1b1228ef89879b58d4600ef..a3daac69a79551a4a6a6d215cab3ce6838b2b09e 100644
|
||||
index dbd3813cb0328b7b73c9b634b1b19be7ee3246f6..9b72f3266e3a7cf6bd934d2497f0c5332c09ae59 100644
|
||||
--- a/net/minecraft/world/level/GameRules.java
|
||||
+++ b/net/minecraft/world/level/GameRules.java
|
||||
@@ -379,8 +379,31 @@ public class GameRules {
|
||||
@@ -377,8 +377,31 @@ public class GameRules {
|
||||
}
|
||||
|
||||
public int getInt(GameRules.Key<GameRules.IntegerValue> key) {
|
||||
@@ -220,7 +220,7 @@ index 45132e6608b57a30b1b1228ef89879b58d4600ef..a3daac69a79551a4a6a6d215cab3ce68
|
||||
public static class BooleanValue extends GameRules.Value<GameRules.BooleanValue> {
|
||||
private boolean value;
|
||||
diff --git a/net/minecraft/world/level/block/state/BlockBehaviour.java b/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
index a7dadab83644e9555dec4f597fee682be37e85c8..5f6fbc7eaa5522bd5e0692c9c2d280457a284e71 100644
|
||||
index 00ca563d6bfbe6182dc246d5f6ffca7fc9a5ba85..611b29ccba29558d8cf54eccb2136a305bf989db 100644
|
||||
--- a/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
+++ b/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
@@ -350,13 +350,21 @@ public abstract class BlockBehaviour implements FeatureElement {
|
||||
@@ -248,7 +248,7 @@ index a7dadab83644e9555dec4f597fee682be37e85c8..5f6fbc7eaa5522bd5e0692c9c2d28045
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/level/chunk/LevelChunk.java b/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
index b03fa199a532ff7e0e14d9ad449ee8308e6e76bc..3a9843c30f685d2e1f0cd54ace5dddfa9e2314fa 100644
|
||||
index 84bc3ed25a30ede18f66859129dacd73d6837d1f..524f987ba5cbf3d9fa502b51419cb163e099597c 100644
|
||||
--- a/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
+++ b/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
@@ -957,6 +957,19 @@ public class LevelChunk extends ChunkAccess implements DebugValueSource, ca.spot
|
||||
@@ -285,11 +285,11 @@ index b03fa199a532ff7e0e14d9ad449ee8308e6e76bc..3a9843c30f685d2e1f0cd54ace5dddfa
|
||||
// Paper start - Remove the Block Entity if it's invalid
|
||||
} else {
|
||||
diff --git a/net/minecraft/world/level/material/LavaFluid.java b/net/minecraft/world/level/material/LavaFluid.java
|
||||
index bbc658abfb2df1b3ee3a31d46c4b9014bb34e0a2..38d4392a09d1d3ccebe602cf2319395217d55649 100644
|
||||
index 2d845b09abe3354f0999b117e78ffd00c41e8924..9630a1fd95853671812c3249f32a8a1e3a05f7ab 100644
|
||||
--- a/net/minecraft/world/level/material/LavaFluid.java
|
||||
+++ b/net/minecraft/world/level/material/LavaFluid.java
|
||||
@@ -188,9 +188,22 @@ public abstract class LavaFluid extends FlowingFluid {
|
||||
return fluidState.getHeight(blockReader, pos) >= 0.44444445F && fluid.is(FluidTags.WATER);
|
||||
return fluidState.getHeight(level, pos) >= 0.44444445F && fluid.is(FluidTags.WATER);
|
||||
}
|
||||
|
||||
+ // DivineMC start - Lag compensation
|
||||
@@ -313,7 +313,7 @@ index bbc658abfb2df1b3ee3a31d46c4b9014bb34e0a2..38d4392a09d1d3ccebe602cf23193952
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/level/material/WaterFluid.java b/net/minecraft/world/level/material/WaterFluid.java
|
||||
index b248fe1d66940c05d56fc322df61c52ece72e77f..2a35dcf66dc01e787f9767a90c08a6cb283576e4 100644
|
||||
index 19505eafb8b3aa09d7f889ecb62bcc28d835b4c8..790dcd8e71fc2e102a4aeae28b3a4a24680401ae 100644
|
||||
--- a/net/minecraft/world/level/material/WaterFluid.java
|
||||
+++ b/net/minecraft/world/level/material/WaterFluid.java
|
||||
@@ -124,8 +124,16 @@ public abstract class WaterFluid extends FlowingFluid {
|
||||
|
||||
@@ -18,10 +18,10 @@ index 9a7a40c1dcea57ba674d8431077d2477104a456f..8e41097f978800039e6e057c5bbcfcf0
|
||||
new java.util.concurrent.LinkedBlockingQueue<>(),
|
||||
new com.google.common.util.concurrent.ThreadFactoryBuilder()
|
||||
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
||||
index 8f281339ac390f005baddf00cd09e876cc49e524..a08e56c822b54648f5013e67128c670dd6cb70de 100644
|
||||
index 3de2d76bf118750932a56d02233e4e6aff0b2728..690c67f2051996d0888a946b8c089d39dcb004f6 100644
|
||||
--- a/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/net/minecraft/server/MinecraftServer.java
|
||||
@@ -2719,8 +2719,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -2738,8 +2738,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ index 8f281339ac390f005baddf00cd09e876cc49e524..a08e56c822b54648f5013e67128c670d
|
||||
|
||||
public ChatDecorator getChatDecorator() {
|
||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 93fc67f8cf60be489249d83a748490b653953e7a..2638343fcccbaf81d19dcd4fd09534b2e7bee796 100644
|
||||
index cb667b3e3451b4874ada36802537db9d951b74b8..58ab04ba1296904bbff1abc549c0efa5b6f239c5 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -844,8 +844,11 @@ public class ServerGamePacketListenerImpl
|
||||
|
||||
@@ -52,7 +52,7 @@ index a9cd61f0a7bde931e59f1496191f1f8d465aec5e..7711cc269b97811836f1b1dafd0f38ea
|
||||
this.get("generator-settings", property -> GsonHelper.parse(!property.isEmpty() ? property : "{}"), new JsonObject()),
|
||||
this.get("level-type", property -> property.toLowerCase(Locale.ROOT), WorldPresets.NORMAL.location().toString())
|
||||
diff --git a/net/minecraft/server/level/ServerChunkCache.java b/net/minecraft/server/level/ServerChunkCache.java
|
||||
index 301b45e375dafeefed56eb0db5dd51eea4c97459..65607de63f6ea900599660485861860b71e1aef3 100644
|
||||
index 94851554c2c3e0f5a2d72606fda166adb586bbca..ca0c38974d75e95d258978ff9c8a2749ad741aa5 100644
|
||||
--- a/net/minecraft/server/level/ServerChunkCache.java
|
||||
+++ b/net/minecraft/server/level/ServerChunkCache.java
|
||||
@@ -614,6 +614,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
@@ -64,7 +64,7 @@ index 301b45e375dafeefed56eb0db5dd51eea4c97459..65607de63f6ea900599660485861860b
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index 2f09f9c02e63563828dd7000352baf2723a0ac59..4f4ede83b6ca5e1884607410b526a675fed4d42d 100644
|
||||
index e6e54f23e302292aa9e9495c00aaae22cf18dd94..97ecdd880c0225d176859517ed715e2b4159ddeb 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -655,6 +655,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -76,7 +76,7 @@ index 2f09f9c02e63563828dd7000352baf2723a0ac59..4f4ede83b6ca5e1884607410b526a675
|
||||
DataFixer fixerUpper = server.getFixerUpper();
|
||||
// Paper - rewrite chunk system
|
||||
diff --git a/net/minecraft/world/entity/monster/Slime.java b/net/minecraft/world/entity/monster/Slime.java
|
||||
index 970105d598964194e167ad243f6e2fc2a19fba08..74893d67a3fb6fd906afe9253f191f0e635f3277 100644
|
||||
index 97d15b759d65e32df4d780ec4850b986fcaf6ead..bd9dbf142a303893709ff6d5e9159d12fe892bf1 100644
|
||||
--- a/net/minecraft/world/entity/monster/Slime.java
|
||||
+++ b/net/minecraft/world/entity/monster/Slime.java
|
||||
@@ -408,7 +408,11 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -93,7 +93,7 @@ index 970105d598964194e167ad243f6e2fc2a19fba08..74893d67a3fb6fd906afe9253f191f0e
|
||||
final double maxHeightSlimeChunk = level.getMinecraftWorld().paperConfig().entities.spawning.slimeSpawnHeight.slimeChunk.maximum;
|
||||
if (random.nextInt(10) == 0 && flag && pos.getY() < maxHeightSlimeChunk) {
|
||||
diff --git a/net/minecraft/world/level/chunk/ChunkAccess.java b/net/minecraft/world/level/chunk/ChunkAccess.java
|
||||
index 2457247d2bc1c3e3b042a091c3a8290d55203da8..97b17c07b86f188e04cf747770be37b530f1dc61 100644
|
||||
index f6f9a88283e051e6a7c96f461b68b3881b3361d2..421133e5e1ff37b0a50173bd69faef50e5b5c252 100644
|
||||
--- a/net/minecraft/world/level/chunk/ChunkAccess.java
|
||||
+++ b/net/minecraft/world/level/chunk/ChunkAccess.java
|
||||
@@ -82,6 +82,10 @@ public abstract class ChunkAccess implements BiomeManager.NoiseBiomeSource, Ligh
|
||||
@@ -126,7 +126,7 @@ index 2457247d2bc1c3e3b042a091c3a8290d55203da8..97b17c07b86f188e04cf747770be37b5
|
||||
|
||||
@Nullable
|
||||
diff --git a/net/minecraft/world/level/chunk/ChunkGenerator.java b/net/minecraft/world/level/chunk/ChunkGenerator.java
|
||||
index 213fd45bd70d347a91c46244b61d8b77f11bf6fb..30cb24503fb2e1e3743e6d19634d77cd7de48e13 100644
|
||||
index 4e4a5595ccbadf7e2df0f6de1c8e2ceb00b9ec90..180103f3712b459b4f4202959b900a1ddf4aba61 100644
|
||||
--- a/net/minecraft/world/level/chunk/ChunkGenerator.java
|
||||
+++ b/net/minecraft/world/level/chunk/ChunkGenerator.java
|
||||
@@ -346,7 +346,11 @@ public abstract class ChunkGenerator {
|
||||
@@ -388,13 +388,13 @@ index ee0d9dddb36b6879fa113299e24f1aa3b2b151cc..3af3bf800215ef78b98a4866df572f3b
|
||||
int i3 = this.spreadType.evaluate(worldgenRandom, i2);
|
||||
int i4 = this.spreadType.evaluate(worldgenRandom, i2);
|
||||
diff --git a/net/minecraft/world/level/levelgen/structure/placement/StructurePlacement.java b/net/minecraft/world/level/levelgen/structure/placement/StructurePlacement.java
|
||||
index 26b1b448c95ab38a449843a0ce929a008019b151..5660c6b1a60f78faa3a0e15f8317fea68ced7c83 100644
|
||||
index b3a538f9aebf5b6e965e1140b8fc558eb394605b..892bba74ef5bd670f30d8ab3bdb3b363ec89103d 100644
|
||||
--- a/net/minecraft/world/level/levelgen/structure/placement/StructurePlacement.java
|
||||
+++ b/net/minecraft/world/level/levelgen/structure/placement/StructurePlacement.java
|
||||
@@ -119,8 +119,17 @@ public abstract class StructurePlacement {
|
||||
public abstract StructurePlacementType<?> type();
|
||||
|
||||
private static boolean probabilityReducer(long levelSeed, int regionX, int regionZ, int salt, float probability, @javax.annotation.Nullable Integer saltOverride) { // Paper - Add missing structure set seed configs; ignore here
|
||||
private static boolean probabilityReducer(long levelSeed, int regionX, int regionZ, int salt, float frequency, @javax.annotation.Nullable Integer saltOverride) { // Paper - Add missing structure set seed configs; ignore here
|
||||
- WorldgenRandom worldgenRandom = new WorldgenRandom(new LegacyRandomSource(0L));
|
||||
- worldgenRandom.setLargeFeatureWithSalt(levelSeed, regionX, regionZ, salt);
|
||||
+ // DivineMC start - Implement Secure Seed
|
||||
@@ -408,11 +408,11 @@ index 26b1b448c95ab38a449843a0ce929a008019b151..5660c6b1a60f78faa3a0e15f8317fea6
|
||||
+ worldgenRandom.setLargeFeatureWithSalt(levelSeed, regionX, regionZ, salt);
|
||||
+ }
|
||||
+ // DivineMC end - Implement Secure Seed
|
||||
return worldgenRandom.nextFloat() < probability;
|
||||
return worldgenRandom.nextFloat() < frequency;
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/level/levelgen/structure/pools/JigsawPlacement.java b/net/minecraft/world/level/levelgen/structure/pools/JigsawPlacement.java
|
||||
index 3b66b16612b8328eaea786cc8ba3a59fd67900e4..fc31c2419fc895942391bbace8323791e0c7bf38 100644
|
||||
index 4aa68163958e89521f542470c473f8d5980f5d4b..527e8e874bf4496504c9499a6ba6dce56d50e983 100644
|
||||
--- a/net/minecraft/world/level/levelgen/structure/pools/JigsawPlacement.java
|
||||
+++ b/net/minecraft/world/level/levelgen/structure/pools/JigsawPlacement.java
|
||||
@@ -66,7 +66,11 @@ public class JigsawPlacement {
|
||||
|
||||
@@ -31,7 +31,7 @@ index ca21597263cb430e2a5ae07e8cecfb0d53a270d2..226088405c019922085285ba5d04d7c1
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index 4f4ede83b6ca5e1884607410b526a675fed4d42d..b240c7f2579e25d520fbc0ab08e801028bc15192 100644
|
||||
index 97ecdd880c0225d176859517ed715e2b4159ddeb..2aac1cdfa0c3cdf3d56d57452d45318ef6793cbb 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -830,6 +830,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -43,7 +43,7 @@ index 4f4ede83b6ca5e1884607410b526a675fed4d42d..b240c7f2579e25d520fbc0ab08e80102
|
||||
if (!tickRateManager.isEntityFrozen(entity)) {
|
||||
entity.checkDespawn();
|
||||
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
|
||||
index b5004de3ca8951a5884a3b62b129aa2588a67af7..6724ef32e4d0de6ca0965b8b96430b68179b4bd7 100644
|
||||
index c36d133e877353f9509543b0833be745286574e9..ee8cdf62642b2713dbae9d1735db7c5e5fd55a55 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
|
||||
@@ -56,7 +56,7 @@ index b5004de3ca8951a5884a3b62b129aa2588a67af7..6724ef32e4d0de6ca0965b8b96430b68
|
||||
// Paper start - EAR 2
|
||||
public final boolean defaultActivationState;
|
||||
diff --git a/net/minecraft/world/entity/EntityType.java b/net/minecraft/world/entity/EntityType.java
|
||||
index c7544cad07293a504204cfa8bf9d8322ef16118c..e680780a0e46e9e5f9126bd11a20b918e8c36066 100644
|
||||
index 881575864f864305973033ac6e664fc47e49ca16..7d5940327c5e7a945165228d502f678a8234cd02 100644
|
||||
--- a/net/minecraft/world/entity/EntityType.java
|
||||
+++ b/net/minecraft/world/entity/EntityType.java
|
||||
@@ -1192,6 +1192,7 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
@@ -68,7 +68,7 @@ index c7544cad07293a504204cfa8bf9d8322ef16118c..e680780a0e46e9e5f9126bd11a20b918
|
||||
@Nullable
|
||||
private Component description;
|
||||
diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java
|
||||
index c3a7a41b399590e2c004fda4e97b1935575c4972..dd25b049615c4465c1bf9ea0004dd649f5c55c5f 100644
|
||||
index c551b8c8c9b9d070afdbcf5cfcdb35e99830fd91..b61b9c512f23d5ae0465fe7196fbb222918b0988 100644
|
||||
--- a/net/minecraft/world/entity/Mob.java
|
||||
+++ b/net/minecraft/world/entity/Mob.java
|
||||
@@ -220,10 +220,10 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||
@@ -147,7 +147,7 @@ index 653c58c7637c46c8b46a5082f671324a2221d431..a4328a427636aa845d6627ecb75a9efe
|
||||
public boolean hasTasks() {
|
||||
for (WrappedGoal task : this.availableGoals) {
|
||||
diff --git a/net/minecraft/world/entity/animal/allay/Allay.java b/net/minecraft/world/entity/animal/allay/Allay.java
|
||||
index 3a2451bfa5e59de51d703eac8a536284e1d3348b..2422895ca4a2939f52f119384f498bd23bf9b7cc 100644
|
||||
index ae68a19a0b13bc626efec6a028f3abba4a436f3b..c5526952961c3c2705f946021ff3a8306ad2bde1 100644
|
||||
--- a/net/minecraft/world/entity/animal/allay/Allay.java
|
||||
+++ b/net/minecraft/world/entity/animal/allay/Allay.java
|
||||
@@ -112,6 +112,7 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS
|
||||
@@ -156,8 +156,8 @@ index 3a2451bfa5e59de51d703eac8a536284e1d3348b..2422895ca4a2939f52f119384f498bd2
|
||||
private org.purpurmc.purpur.controller.FlyingMoveControllerWASD purpurController; // Purpur - Ridables
|
||||
+ private int behaviorTick = 0; // DivineMC - Dynamic Activation of Brain
|
||||
|
||||
public Allay(EntityType<? extends Allay> entityType, Level level) {
|
||||
super(entityType, level);
|
||||
public Allay(EntityType<? extends Allay> type, Level level) {
|
||||
super(type, level);
|
||||
@@ -266,10 +267,13 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS
|
||||
|
||||
@Override
|
||||
@@ -177,7 +177,7 @@ index 3a2451bfa5e59de51d703eac8a536284e1d3348b..2422895ca4a2939f52f119384f498bd2
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
index 1927f8be451258d9f0f8eec1617d103a4140e1e7..781ce63ff615d718cdf14bf6c3a4c742f628a920 100644
|
||||
index a952e78ac0c1fa7a2728fc3036b93e69e2fefb8d..8540ee65e1733ab37f77c964b8514e08d08781f3 100644
|
||||
--- a/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
+++ b/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
@@ -111,6 +111,7 @@ public class Axolotl extends Animal implements Bucketable {
|
||||
@@ -186,8 +186,8 @@ index 1927f8be451258d9f0f8eec1617d103a4140e1e7..781ce63ff615d718cdf14bf6c3a4c742
|
||||
private static final int REGEN_BUFF_BASE_DURATION = 100;
|
||||
+ private int behaviorTick = 0; // DivineMC - Dynamic Activation of Brain
|
||||
|
||||
public Axolotl(EntityType<? extends Axolotl> entityType, Level level) {
|
||||
super(entityType, level);
|
||||
public Axolotl(EntityType<? extends Axolotl> type, Level level) {
|
||||
super(type, level);
|
||||
@@ -372,13 +373,16 @@ public class Axolotl extends Animal implements Bucketable {
|
||||
|
||||
@Override
|
||||
@@ -212,7 +212,7 @@ index 1927f8be451258d9f0f8eec1617d103a4140e1e7..781ce63ff615d718cdf14bf6c3a4c742
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
diff --git a/net/minecraft/world/entity/animal/frog/Frog.java b/net/minecraft/world/entity/animal/frog/Frog.java
|
||||
index 1a504e30602d7d8feaf7a9180adf6382596aae02..9656c1bf22b1b6c945a8ba5603742261db650fd5 100644
|
||||
index 7643e8d1b89a23354c27395509407c20e3d93b69..ccd4a12b5bf2a064f8ea7d49113a18b541778ca5 100644
|
||||
--- a/net/minecraft/world/entity/animal/frog/Frog.java
|
||||
+++ b/net/minecraft/world/entity/animal/frog/Frog.java
|
||||
@@ -105,6 +105,7 @@ public class Frog extends Animal {
|
||||
@@ -221,8 +221,8 @@ index 1a504e30602d7d8feaf7a9180adf6382596aae02..9656c1bf22b1b6c945a8ba5603742261
|
||||
private org.purpurmc.purpur.controller.WaterMoveControllerWASD purpurWaterController; // Purpur - Ridables
|
||||
+ private int behaviorTick = 0; // DivineMC - Dynamic Activation of Brain
|
||||
|
||||
public Frog(EntityType<? extends Animal> entityType, Level level) {
|
||||
super(entityType, level);
|
||||
public Frog(EntityType<? extends Animal> type, Level level) {
|
||||
super(type, level);
|
||||
@@ -258,10 +259,13 @@ public class Frog extends Animal {
|
||||
|
||||
@Override
|
||||
@@ -242,7 +242,7 @@ index 1a504e30602d7d8feaf7a9180adf6382596aae02..9656c1bf22b1b6c945a8ba5603742261
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/entity/animal/frog/Tadpole.java b/net/minecraft/world/entity/animal/frog/Tadpole.java
|
||||
index 8312a0d5229043fd84125db809c4346bb80f2bc0..1a437d3e09484f4bacc4ef22b3e5f1c3c58ca42f 100644
|
||||
index 37b1674c3f89d7ddba054b066df957f3337f4a89..e437dad4f65a77b1ecbefe324355e33e0abcb76d 100644
|
||||
--- a/net/minecraft/world/entity/animal/frog/Tadpole.java
|
||||
+++ b/net/minecraft/world/entity/animal/frog/Tadpole.java
|
||||
@@ -64,6 +64,7 @@ public class Tadpole extends AbstractFish {
|
||||
@@ -251,8 +251,8 @@ index 8312a0d5229043fd84125db809c4346bb80f2bc0..1a437d3e09484f4bacc4ef22b3e5f1c3
|
||||
private org.purpurmc.purpur.controller.WaterMoveControllerWASD purpurController; // Purpur - Ridables
|
||||
+ private int behaviorTick = 0; // DivineMC - Dynamic Activation of Brain
|
||||
|
||||
public Tadpole(EntityType<? extends AbstractFish> entityType, Level level) {
|
||||
super(entityType, level);
|
||||
public Tadpole(EntityType<? extends AbstractFish> type, Level level) {
|
||||
super(type, level);
|
||||
@@ -134,10 +135,13 @@ public class Tadpole extends AbstractFish {
|
||||
|
||||
@Override
|
||||
@@ -272,7 +272,7 @@ index 8312a0d5229043fd84125db809c4346bb80f2bc0..1a437d3e09484f4bacc4ef22b3e5f1c3
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
diff --git a/net/minecraft/world/entity/animal/goat/Goat.java b/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
index 73fe7a8c216aed7dc2274fd53fb126d85ec5137d..d4de51a8fd1f2adfc35eb6e23cda6905bd376515 100644
|
||||
index 58ee22461c0330e2fbbbf283c154b8141e2d1953..1ef0fa87f55a4fe6309ed456b0458287925f9835 100644
|
||||
--- a/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
+++ b/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
@@ -93,6 +93,7 @@ public class Goat extends Animal {
|
||||
@@ -281,8 +281,8 @@ index 73fe7a8c216aed7dc2274fd53fb126d85ec5137d..d4de51a8fd1f2adfc35eb6e23cda6905
|
||||
private int lowerHeadTick;
|
||||
+ private int behaviorTick = 0; // DivineMC - Dynamic Activation of Brain
|
||||
|
||||
public Goat(EntityType<? extends Goat> entityType, Level level) {
|
||||
super(entityType, level);
|
||||
public Goat(EntityType<? extends Goat> type, Level level) {
|
||||
super(type, level);
|
||||
@@ -232,10 +233,13 @@ public class Goat extends Animal {
|
||||
|
||||
@Override
|
||||
@@ -302,7 +302,7 @@ index 73fe7a8c216aed7dc2274fd53fb126d85ec5137d..d4de51a8fd1f2adfc35eb6e23cda6905
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
index b22519a6d39bd52381fa6c17b9a415944374368b..10e36ec8d5e3ee44400e916632771a9cc1381664 100644
|
||||
index d115155616a0a76a8429c0f5645a8cba73d8bc80..e998708d6f0a588710d3fc8dea08bac2470d5557 100644
|
||||
--- a/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
@@ -87,6 +87,7 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
@@ -311,8 +311,8 @@ index b22519a6d39bd52381fa6c17b9a415944374368b..10e36ec8d5e3ee44400e916632771a9c
|
||||
);
|
||||
+ private int behaviorTick; // DivineMC - Dynamic Activation of Brain
|
||||
|
||||
public Hoglin(EntityType<? extends Hoglin> entityType, Level level) {
|
||||
super(entityType, level);
|
||||
public Hoglin(EntityType<? extends Hoglin> type, Level level) {
|
||||
super(type, level);
|
||||
@@ -205,18 +206,21 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
|
||||
@Override
|
||||
@@ -346,7 +346,7 @@ index b22519a6d39bd52381fa6c17b9a415944374368b..10e36ec8d5e3ee44400e916632771a9c
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/entity/monster/piglin/Piglin.java b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
index dea7c211a2d2ee8f1833eaad49513b3690b06c55..e2b467cfc19dfcf1fb617e57251451aa88de727d 100644
|
||||
index 359665cfb2004c49f8e8a19edc7b31c99ce863bf..011d293a3cf7d0d2510619bcd282a51b4b84606c 100644
|
||||
--- a/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
+++ b/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
@@ -128,6 +128,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@@ -355,8 +355,8 @@ index dea7c211a2d2ee8f1833eaad49513b3690b06c55..e2b467cfc19dfcf1fb617e57251451aa
|
||||
// CraftBukkit end
|
||||
+ private int behaviorTick; // DivineMC - Dynamic Activation of Brain
|
||||
|
||||
public Piglin(EntityType<? extends AbstractPiglin> entityType, Level level) {
|
||||
super(entityType, level);
|
||||
public Piglin(EntityType<? extends AbstractPiglin> type, Level level) {
|
||||
super(type, level);
|
||||
@@ -345,10 +346,13 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
|
||||
@Override
|
||||
@@ -376,7 +376,7 @@ index dea7c211a2d2ee8f1833eaad49513b3690b06c55..e2b467cfc19dfcf1fb617e57251451aa
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/entity/monster/warden/Warden.java b/net/minecraft/world/entity/monster/warden/Warden.java
|
||||
index ac7691a2a3e4c9db040408d1ecba780a89dea50e..e3478244e430faa614f23c288019303bd6bb0e04 100644
|
||||
index e9881eac70feebeb08f464efd4fa953cec9f62bf..6edd808e8d0c940dfa6dea463d549d6e80a5d465 100644
|
||||
--- a/net/minecraft/world/entity/monster/warden/Warden.java
|
||||
+++ b/net/minecraft/world/entity/monster/warden/Warden.java
|
||||
@@ -107,6 +107,7 @@ public class Warden extends Monster implements VibrationSystem {
|
||||
@@ -385,8 +385,8 @@ index ac7691a2a3e4c9db040408d1ecba780a89dea50e..e3478244e430faa614f23c288019303b
|
||||
AngerManagement angerManagement = new AngerManagement(this::canTargetEntity, Collections.emptyList());
|
||||
+ private int behaviorTick = 0; // DivineMC - Dynamic Activation of Brain
|
||||
|
||||
public Warden(EntityType<? extends Monster> entityType, Level level) {
|
||||
super(entityType, level);
|
||||
public Warden(EntityType<? extends Monster> type, Level level) {
|
||||
super(type, level);
|
||||
@@ -300,19 +301,22 @@ public class Warden extends Monster implements VibrationSystem {
|
||||
|
||||
@Override
|
||||
@@ -422,7 +422,7 @@ index ac7691a2a3e4c9db040408d1ecba780a89dea50e..e3478244e430faa614f23c288019303b
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/entity/npc/Villager.java b/net/minecraft/world/entity/npc/Villager.java
|
||||
index 3bcd3b7c9f7ad408d66fad5b1b70ebee96a61b43..94424c01b0c4a28c7eafd5c02d068b9c41e451e2 100644
|
||||
index e89ff53c568013a5f53afcf5759314221d37adf4..5443677ed4ecaaf3b647e3f72802e80d7d22fad9 100644
|
||||
--- a/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -178,6 +178,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -432,8 +432,8 @@ index 3bcd3b7c9f7ad408d66fad5b1b70ebee96a61b43..94424c01b0c4a28c7eafd5c02d068b9c
|
||||
+ public long nextGolemPanic = -1; // DivineMC - Dynamic Activation of Brain
|
||||
+ private int behaviorTick = 0; // DivineMC - Dynamic Activation of Brain
|
||||
|
||||
public Villager(EntityType<? extends Villager> entityType, Level level) {
|
||||
this(entityType, level, VillagerType.PLAINS);
|
||||
public Villager(EntityType<? extends Villager> type, Level level) {
|
||||
this(type, level, VillagerType.PLAINS);
|
||||
@@ -398,7 +400,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
} else {
|
||||
this.isLobotomized = false;
|
||||
|
||||
@@ -295,7 +295,7 @@ index 73bba480f3f017a8aed14562bd82ba33db04391c..b31976b68eec3cd0ab0620a487e99ecd
|
||||
Node node = path.getNode(i);
|
||||
this.doorPos = new BlockPos(node.x, node.y + 1, node.z);
|
||||
diff --git a/net/minecraft/world/entity/ai/navigation/AmphibiousPathNavigation.java b/net/minecraft/world/entity/ai/navigation/AmphibiousPathNavigation.java
|
||||
index 458ceec68ca138b0aa9b70d6c934473c01d468f4..ff06ba3ede2f2e40aae8f9a0b997150cfaaeecb7 100644
|
||||
index 59236a4f5fcb9212b7ef66ce87bd8efcdea5383e..900afa1ccd700cc2cf73ecd97093d6c5514ce7ed 100644
|
||||
--- a/net/minecraft/world/entity/ai/navigation/AmphibiousPathNavigation.java
|
||||
+++ b/net/minecraft/world/entity/ai/navigation/AmphibiousPathNavigation.java
|
||||
@@ -12,9 +12,25 @@ public class AmphibiousPathNavigation extends PathNavigation {
|
||||
@@ -325,7 +325,7 @@ index 458ceec68ca138b0aa9b70d6c934473c01d468f4..ff06ba3ede2f2e40aae8f9a0b997150c
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/entity/ai/navigation/FlyingPathNavigation.java b/net/minecraft/world/entity/ai/navigation/FlyingPathNavigation.java
|
||||
index e21a79f77b6775764816ec45fc9023f52a00af84..2e82b6b884ff6296b2affa29e7b3ce0551372265 100644
|
||||
index c20d10250e2fdd563d0fcfac47de1e276393b529..651edbf9d8545ea2fcd37b65ca39ed0df3228bf4 100644
|
||||
--- a/net/minecraft/world/entity/ai/navigation/FlyingPathNavigation.java
|
||||
+++ b/net/minecraft/world/entity/ai/navigation/FlyingPathNavigation.java
|
||||
@@ -15,9 +15,25 @@ public class FlyingPathNavigation extends PathNavigation {
|
||||
@@ -363,7 +363,7 @@ index e21a79f77b6775764816ec45fc9023f52a00af84..2e82b6b884ff6296b2affa29e7b3ce05
|
||||
if (!this.isDone()) {
|
||||
if (this.canUpdatePath()) {
|
||||
diff --git a/net/minecraft/world/entity/ai/navigation/GroundPathNavigation.java b/net/minecraft/world/entity/ai/navigation/GroundPathNavigation.java
|
||||
index f2f07146a3638fe07f4814abd22a9bf815507fd2..2ee4c8f02bd62c67bacb1d817b3aed24a79dc050 100644
|
||||
index 5ccc526adb65b2107afd944a52c1246738b4bcad..d26f0d0217d6c9d24c3db117140980d519f69227 100644
|
||||
--- a/net/minecraft/world/entity/ai/navigation/GroundPathNavigation.java
|
||||
+++ b/net/minecraft/world/entity/ai/navigation/GroundPathNavigation.java
|
||||
@@ -25,9 +25,25 @@ public class GroundPathNavigation extends PathNavigation {
|
||||
@@ -393,7 +393,7 @@ index f2f07146a3638fe07f4814abd22a9bf815507fd2..2ee4c8f02bd62c67bacb1d817b3aed24
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/entity/ai/navigation/PathNavigation.java b/net/minecraft/world/entity/ai/navigation/PathNavigation.java
|
||||
index 1f45b389553cd5782972193537ce7adcd9c7c600..777b3ccce23b0ffd84176b12207a1bbc4beda379 100644
|
||||
index 17d2a937ab6f325295c0b5b9b0a681952d4bce85..b469f5be3bebd4beb0bf933e33cb9c8d49a940d8 100644
|
||||
--- a/net/minecraft/world/entity/ai/navigation/PathNavigation.java
|
||||
+++ b/net/minecraft/world/entity/ai/navigation/PathNavigation.java
|
||||
@@ -173,6 +173,10 @@ public abstract class PathNavigation {
|
||||
@@ -410,10 +410,10 @@ index 1f45b389553cd5782972193537ce7adcd9c7c600..777b3ccce23b0ffd84176b12207a1bbc
|
||||
@@ -197,11 +201,29 @@ public abstract class PathNavigation {
|
||||
int i = (int)(followRange + regionOffset);
|
||||
PathNavigationRegion pathNavigationRegion = new PathNavigationRegion(this.level, blockPos.offset(-i, -i, -i), blockPos.offset(i, i, i));
|
||||
Path path = this.pathFinder.findPath(pathNavigationRegion, this.mob, targets, followRange, accuracy, this.maxVisitedNodesMultiplier);
|
||||
Path path = this.pathFinder.findPath(pathNavigationRegion, this.mob, targets, followRange, reachRange, this.maxVisitedNodesMultiplier);
|
||||
- if (path != null && path.getTarget() != null) {
|
||||
- this.targetPos = path.getTarget();
|
||||
- this.reachRange = accuracy;
|
||||
- this.reachRange = reachRange;
|
||||
- this.resetStuckTimeout();
|
||||
+ // DivineMC start - async path processing
|
||||
+ if (org.bxteam.divinemc.config.DivineConfig.AsyncCategory.asyncPathfinding) {
|
||||
@@ -426,14 +426,14 @@ index 1f45b389553cd5782972193537ce7adcd9c7c600..777b3ccce23b0ffd84176b12207a1bbc
|
||||
+
|
||||
+ if (processedPath != null && processedPath.getTarget() != null) {
|
||||
+ this.targetPos = processedPath.getTarget();
|
||||
+ this.reachRange = accuracy;
|
||||
+ this.reachRange = reachRange;
|
||||
+ this.resetStuckTimeout();
|
||||
+ }
|
||||
+ });
|
||||
+ } else {
|
||||
+ if (path != null && path.getTarget() != null) {
|
||||
+ this.targetPos = path.getTarget();
|
||||
+ this.reachRange = accuracy;
|
||||
+ this.reachRange = reachRange;
|
||||
+ this.resetStuckTimeout();
|
||||
+ }
|
||||
}
|
||||
@@ -451,7 +451,7 @@ index 1f45b389553cd5782972193537ce7adcd9c7c600..777b3ccce23b0ffd84176b12207a1bbc
|
||||
+ if (path.isProcessed() && this.path.getNodeCount() <= 0) { // DivineMC - only check node count if processed
|
||||
return false;
|
||||
} else {
|
||||
this.speedModifier = speed;
|
||||
this.speedModifier = speedModifier;
|
||||
@@ -276,6 +298,7 @@ public abstract class PathNavigation {
|
||||
if (this.hasDelayedRecomputation) {
|
||||
this.recomputePath();
|
||||
@@ -478,7 +478,7 @@ index 1f45b389553cd5782972193537ce7adcd9c7c600..777b3ccce23b0ffd84176b12207a1bbc
|
||||
Vec3 vec3 = new Vec3((endNode.x + this.mob.getX()) / 2.0, (endNode.y + this.mob.getY()) / 2.0, (endNode.z + this.mob.getZ()) / 2.0);
|
||||
return pos.closerToCenterThan(vec3, this.path.getNodeCount() - this.path.getNextNodeIndex());
|
||||
diff --git a/net/minecraft/world/entity/ai/navigation/WaterBoundPathNavigation.java b/net/minecraft/world/entity/ai/navigation/WaterBoundPathNavigation.java
|
||||
index ea0f6a19e4a79538e68917ba86cbc98be4dbca8d..030d90f93dbbc07e94d4776198c368650539bf91 100644
|
||||
index a0b7caf807602ee1f62bf05764cc16478f981da7..2ffa8ba8e2eca6e9c7ec95dcbdf89c0f4e109a7d 100644
|
||||
--- a/net/minecraft/world/entity/ai/navigation/WaterBoundPathNavigation.java
|
||||
+++ b/net/minecraft/world/entity/ai/navigation/WaterBoundPathNavigation.java
|
||||
@@ -15,11 +15,27 @@ public class WaterBoundPathNavigation extends PathNavigation {
|
||||
@@ -557,10 +557,10 @@ index 1f96fd5085bacb4c584576c7cb9f51e7898e9b03..d975b89c7bb57562852596751a4ff881
|
||||
+ // DivineMC end - async pathfinding
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/Bee.java b/net/minecraft/world/entity/animal/Bee.java
|
||||
index a520052f0feae97c5ed8eb4af4fb48cdf56d6550..127840b75b39ec6a68e504396948c3c523535fd9 100644
|
||||
index 968ec5a7188cc4e4a60956e12e44c4b746cf78d1..df32142019bc81896e3e84d3f69e23f5ae8cbd83 100644
|
||||
--- a/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -944,7 +944,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -942,7 +942,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
} else {
|
||||
Bee.this.pathfindRandomlyTowards(Bee.this.hivePos);
|
||||
}
|
||||
@@ -569,7 +569,7 @@ index a520052f0feae97c5ed8eb4af4fb48cdf56d6550..127840b75b39ec6a68e504396948c3c5
|
||||
boolean flag = this.pathfindDirectlyTowards(Bee.this.hivePos);
|
||||
if (!flag) {
|
||||
this.dropAndBlacklistHive();
|
||||
@@ -998,7 +998,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -996,7 +996,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
return true;
|
||||
} else {
|
||||
Path path = Bee.this.navigation.getPath();
|
||||
@@ -579,7 +579,7 @@ index a520052f0feae97c5ed8eb4af4fb48cdf56d6550..127840b75b39ec6a68e504396948c3c5
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/animal/frog/Frog.java b/net/minecraft/world/entity/animal/frog/Frog.java
|
||||
index 9656c1bf22b1b6c945a8ba5603742261db650fd5..be75453e5426d2d2819983b17014e0e8675961bd 100644
|
||||
index ccd4a12b5bf2a064f8ea7d49113a18b541778ca5..7893205fa74c348d5345ad48a1928ae56caf46d3 100644
|
||||
--- a/net/minecraft/world/entity/animal/frog/Frog.java
|
||||
+++ b/net/minecraft/world/entity/animal/frog/Frog.java
|
||||
@@ -480,6 +480,17 @@ public class Frog extends Animal {
|
||||
@@ -613,7 +613,7 @@ index 9656c1bf22b1b6c945a8ba5603742261db650fd5..be75453e5426d2d2819983b17014e0e8
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/monster/Drowned.java b/net/minecraft/world/entity/monster/Drowned.java
|
||||
index 12650e3981fe48ab0cb4398e021e768eea03bd60..63e6fbcdead96fb98a527b8c6ba76d49c9d3eb66 100644
|
||||
index 28fb51950c38ffbc88c3e01c113310fd2bccd097..71864c239da6e12bb897d171cdeff314fed54b5c 100644
|
||||
--- a/net/minecraft/world/entity/monster/Drowned.java
|
||||
+++ b/net/minecraft/world/entity/monster/Drowned.java
|
||||
@@ -304,7 +304,7 @@ public class Drowned extends Zombie implements RangedAttackMob {
|
||||
@@ -626,7 +626,7 @@ index 12650e3981fe48ab0cb4398e021e768eea03bd60..63e6fbcdead96fb98a527b8c6ba76d49
|
||||
if (target != null) {
|
||||
double d = this.distanceToSqr(target.getX(), target.getY(), target.getZ());
|
||||
diff --git a/net/minecraft/world/entity/monster/Strider.java b/net/minecraft/world/entity/monster/Strider.java
|
||||
index 592095f4c78866c53745786a615f1681dcaf6bf6..06a6bc22e408ab4366715fb57edfede37a9e5117 100644
|
||||
index da7644dd2b9e86ec8947250ff998fb554e881161..c842e500ddc229bc776c29a39c6f8a71237ea810 100644
|
||||
--- a/net/minecraft/world/entity/monster/Strider.java
|
||||
+++ b/net/minecraft/world/entity/monster/Strider.java
|
||||
@@ -560,9 +560,25 @@ public class Strider extends Animal implements ItemSteerable {
|
||||
@@ -656,7 +656,7 @@ index 592095f4c78866c53745786a615f1681dcaf6bf6..06a6bc22e408ab4366715fb57edfede3
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/entity/monster/warden/Warden.java b/net/minecraft/world/entity/monster/warden/Warden.java
|
||||
index e3478244e430faa614f23c288019303bd6bb0e04..862a7d464e1045e543049523d771bf79e8da7541 100644
|
||||
index 6edd808e8d0c940dfa6dea463d549d6e80a5d465..56f0aefd0f5c3087fc8122354fcb1b753aff2a4c 100644
|
||||
--- a/net/minecraft/world/entity/monster/warden/Warden.java
|
||||
+++ b/net/minecraft/world/entity/monster/warden/Warden.java
|
||||
@@ -572,6 +572,16 @@ public class Warden extends Monster implements VibrationSystem {
|
||||
@@ -677,7 +677,7 @@ index e3478244e430faa614f23c288019303bd6bb0e04..862a7d464e1045e543049523d771bf79
|
||||
@Override
|
||||
protected float distance(Node first, Node second) {
|
||||
diff --git a/net/minecraft/world/level/pathfinder/Path.java b/net/minecraft/world/level/pathfinder/Path.java
|
||||
index d8d086b54f07a855cf312b6f742802e267dfd034..bd02babf2a9bb4bd5585f408deeba0c70b721dd0 100644
|
||||
index 4a17d60e09bc2a73c50a1c981e4b50ae3eabe9ee..7f4fd1bfb26651a0c61728479b4827c3c8140979 100644
|
||||
--- a/net/minecraft/world/level/pathfinder/Path.java
|
||||
+++ b/net/minecraft/world/level/pathfinder/Path.java
|
||||
@@ -11,7 +11,7 @@ import net.minecraft.util.VisibleForDebug;
|
||||
@@ -710,13 +710,13 @@ index d8d086b54f07a855cf312b6f742802e267dfd034..bd02babf2a9bb4bd5585f408deeba0c7
|
||||
@@ -101,6 +112,7 @@ public final class Path {
|
||||
}
|
||||
|
||||
public boolean sameAs(@Nullable Path pathEntity) {
|
||||
+ if (pathEntity == this) return true; // DivineMC - async path processing
|
||||
return pathEntity != null && this.nodes.equals(pathEntity.nodes);
|
||||
public boolean sameAs(@Nullable Path path) {
|
||||
+ if (path == this) return true; // DivineMC - async path processing
|
||||
return path != null && this.nodes.equals(path.nodes);
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/level/pathfinder/PathFinder.java b/net/minecraft/world/level/pathfinder/PathFinder.java
|
||||
index 98abda72d88fb38a5427a15cc59094f3a7db30dc..d829ed8c15779d2c8f2df51d2136f206c79fd2bf 100644
|
||||
index f41f6c0be37f89c54cee3e02494c1412f309266f..57d9a53b75826472e24e2760046fe44a6fd7258c 100644
|
||||
--- a/net/minecraft/world/level/pathfinder/PathFinder.java
|
||||
+++ b/net/minecraft/world/level/pathfinder/PathFinder.java
|
||||
@@ -23,11 +23,19 @@ public class PathFinder {
|
||||
@@ -740,10 +740,10 @@ index 98abda72d88fb38a5427a15cc59094f3a7db30dc..d829ed8c15779d2c8f2df51d2136f206
|
||||
|
||||
public void setCaptureDebug(BooleanSupplier captureDebug) {
|
||||
this.captureDebug = captureDebug;
|
||||
@@ -39,26 +47,63 @@ public class PathFinder {
|
||||
@@ -39,26 +47,62 @@ public class PathFinder {
|
||||
|
||||
@Nullable
|
||||
public Path findPath(PathNavigationRegion region, Mob mob, Set<BlockPos> targetPositions, float maxRange, int accuracy, float searchDepthMultiplier) {
|
||||
public Path findPath(PathNavigationRegion region, Mob mob, Set<BlockPos> targets, float maxRange, int reachRange, float maxVisitedNodesMultiplier) {
|
||||
- this.openSet.clear();
|
||||
- this.nodeEvaluator.prepare(region, mob);
|
||||
- Node start = this.nodeEvaluator.getStart();
|
||||
@@ -762,24 +762,23 @@ index 98abda72d88fb38a5427a15cc59094f3a7db30dc..d829ed8c15779d2c8f2df51d2136f206
|
||||
} else {
|
||||
// Paper start - Perf: remove streams and optimize collection
|
||||
List<Map.Entry<Target, BlockPos>> map = Lists.newArrayList();
|
||||
for (BlockPos pos : targetPositions) {
|
||||
for (BlockPos pos : targets) {
|
||||
- map.add(new java.util.AbstractMap.SimpleEntry<>(this.nodeEvaluator.getTarget(pos.getX(), pos.getY(), pos.getZ()), pos));
|
||||
+ map.add(new java.util.AbstractMap.SimpleEntry<>(nodeEvaluator.getTarget(pos.getX(), pos.getY(), pos.getZ()), pos)); // DivineMC - handle nodeEvaluatorGenerator
|
||||
}
|
||||
// Paper end - Perf: remove streams and optimize collection
|
||||
- Path path = this.findPath(start, map, maxRange, accuracy, searchDepthMultiplier);
|
||||
- Path path = this.findPath(start, map, maxRange, reachRange, maxVisitedNodesMultiplier);
|
||||
- this.nodeEvaluator.done();
|
||||
- return path;
|
||||
+ // DivineMC start - async path processing
|
||||
+ if (this.nodeEvaluatorGenerator == null) {
|
||||
+ // run sync :(
|
||||
+ org.bxteam.divinemc.async.pathfinding.NodeEvaluatorCache.removeNodeEvaluator(nodeEvaluator);
|
||||
+ return this.findPath(start, map, maxRange, accuracy, searchDepthMultiplier);
|
||||
+ return this.findPath(start, map, maxRange, reachRange, maxVisitedNodesMultiplier);
|
||||
+ }
|
||||
+
|
||||
+ return new org.bxteam.divinemc.async.pathfinding.AsyncPath(Lists.newArrayList(), targetPositions, () -> {
|
||||
+ return new org.bxteam.divinemc.async.pathfinding.AsyncPath(Lists.newArrayList(), targets, () -> {
|
||||
+ try {
|
||||
+ return this.processPath(nodeEvaluator, start, map, maxRange, accuracy, searchDepthMultiplier);
|
||||
+ return this.processPath(nodeEvaluator, start, map, maxRange, reachRange, maxVisitedNodesMultiplier);
|
||||
+ } catch (Exception e) {
|
||||
+ e.printStackTrace();
|
||||
+ return null;
|
||||
@@ -793,10 +792,10 @@ index 98abda72d88fb38a5427a15cc59094f3a7db30dc..d829ed8c15779d2c8f2df51d2136f206
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private Path findPath(Node node, List<Map.Entry<Target, BlockPos>> positions, float maxRange, int accuracy, float searchDepthMultiplier) { // Paper - optimize collection
|
||||
private Path findPath(Node node, List<Map.Entry<Target, BlockPos>> positions, float maxRange, int reachRange, float maxVisitedNodesMultiplier) { // Paper - optimize collection
|
||||
+ // DivineMC start - split pathfinding into the original sync method for compat and processing for delaying
|
||||
+ try {
|
||||
+ return this.processPath(this.nodeEvaluator, node, positions, maxRange, accuracy, searchDepthMultiplier);
|
||||
+ return this.processPath(this.nodeEvaluator, node, positions, maxRange, reachRange, maxVisitedNodesMultiplier);
|
||||
+ } catch (Exception e) {
|
||||
+ e.printStackTrace();
|
||||
+ return null;
|
||||
@@ -805,13 +804,13 @@ index 98abda72d88fb38a5427a15cc59094f3a7db30dc..d829ed8c15779d2c8f2df51d2136f206
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private synchronized @org.jetbrains.annotations.NotNull Path processPath(NodeEvaluator nodeEvaluator, Node node, List<Map.Entry<Target, BlockPos>> positions, float maxRange, int accuracy, float searchDepthMultiplier) { // sync to only use the caching functions in this class on a single thread
|
||||
+ private synchronized @org.jetbrains.annotations.NotNull Path processPath(NodeEvaluator nodeEvaluator, Node node, List<Map.Entry<Target, BlockPos>> positions, float maxRange, int reachRange, float maxVisitedNodesMultiplier) { // sync to only use the caching functions in this class on a single thread
|
||||
+ org.apache.commons.lang3.Validate.isTrue(!positions.isEmpty()); // ensure that we have at least one position, which means we'll always return a path
|
||||
+ // DivineMC end - split pathfinding into the original sync method for compat and processing for delaying
|
||||
// Set<Target> set = targetPositions.keySet(); // Paper - unused
|
||||
node.g = 0.0F;
|
||||
node.h = this.getBestH(node, positions); // Paper - optimize collection
|
||||
@@ -96,7 +141,7 @@ public class PathFinder {
|
||||
@@ -96,7 +140,7 @@ public class PathFinder {
|
||||
|
||||
|
||||
if (!(node1.distanceTo(node) >= maxRange)) {
|
||||
|
||||
@@ -66,7 +66,7 @@ index 9c0c99b936b4a82ebfe924866e53ec71f7bbe9ad..01ed1e3572e9c2ccfd19df117cda0d5c
|
||||
.add(
|
||||
new ClientboundUpdateAttributesPacket.AttributeSnapshot(
|
||||
diff --git a/net/minecraft/server/level/ChunkMap.java b/net/minecraft/server/level/ChunkMap.java
|
||||
index 6251e7dc5bbe7eee18b0c5a8979d9218fee728d0..5b16dad04bf4540df750ce06c18af4b1d80d8648 100644
|
||||
index 188a62f00bd541f27adaaa4250b56276565f0d74..04dd1bec1aff470e67a21fb0b25932685992ec82 100644
|
||||
--- a/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -253,9 +253,19 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -391,10 +391,10 @@ index 737a6ff0bfec9b555fa425619d97b80ef95cb3e6..cfa2c3aa357a0dbb7edf7f0c8cebea5e
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index b240c7f2579e25d520fbc0ab08e801028bc15192..01ad6566c236bac2141f75fa9cf37844e3d97637 100644
|
||||
index 2aac1cdfa0c3cdf3d56d57452d45318ef6793cbb..fad9facf999f7f98ea8acc6ffd87114aa21a1b3c 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -2579,7 +2579,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -2569,7 +2569,6 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
|
||||
@Override
|
||||
public LevelEntityGetter<Entity> getEntities() {
|
||||
@@ -402,7 +402,7 @@ index b240c7f2579e25d520fbc0ab08e801028bc15192..01ad6566c236bac2141f75fa9cf37844
|
||||
return this.moonrise$getEntityLookup(); // Paper - rewrite chunk system
|
||||
}
|
||||
|
||||
@@ -2858,7 +2857,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -2848,7 +2847,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
}
|
||||
|
||||
map.carriedByPlayers.remove(player);
|
||||
@@ -412,7 +412,7 @@ index b240c7f2579e25d520fbc0ab08e801028bc15192..01ad6566c236bac2141f75fa9cf37844
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 2638343fcccbaf81d19dcd4fd09534b2e7bee796..e5ece51effaddeb49b689f897da5172958360d5f 100644
|
||||
index 58ab04ba1296904bbff1abc549c0efa5b6f239c5..b0c702253173c86362907cba71e3c0a5f408edf2 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1942,7 +1942,6 @@ public class ServerGamePacketListenerImpl
|
||||
@@ -424,10 +424,10 @@ index 2638343fcccbaf81d19dcd4fd09534b2e7bee796..e5ece51effaddeb49b689f897da51729
|
||||
if (this.player.isRemoved()) {
|
||||
LOGGER.info("Attempt to teleport removed player {} restricted", player.getScoreboardName());
|
||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||
index 49f83d3dedc16d977f7904971af13cc17ed32882..86370c9f6e83e5815922080c10336d394075b4e9 100644
|
||||
index f15497ef868574ee2fe11611bfc31d9b102f80d0..ca392664826ca8ced5a1c2c8b2d22eb87c5bd139 100644
|
||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1359,13 +1359,13 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
@@ -1360,13 +1360,13 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
}
|
||||
|
||||
private void refreshDirtyAttributes() {
|
||||
@@ -447,7 +447,7 @@ index 49f83d3dedc16d977f7904971af13cc17ed32882..86370c9f6e83e5815922080c10336d39
|
||||
|
||||
protected void onAttributeUpdated(Holder<Attribute> attribute) {
|
||||
diff --git a/net/minecraft/world/entity/ai/attributes/Attribute.java b/net/minecraft/world/entity/ai/attributes/Attribute.java
|
||||
index 18563961e9dba1a11265c6ea708881d4e46846ff..355e552f77e7639ddf1c8b4da9868775017563c3 100644
|
||||
index 69d59650b26fcb1c654d7a784022ac7f4c9230ce..7e8fed00bbdeaa1ccd6d07312b26c1e7754c0b69 100644
|
||||
--- a/net/minecraft/world/entity/ai/attributes/Attribute.java
|
||||
+++ b/net/minecraft/world/entity/ai/attributes/Attribute.java
|
||||
@@ -16,10 +16,15 @@ public class Attribute {
|
||||
@@ -661,10 +661,10 @@ index 325ec57df2885f5e81b8a6b61e3a9fed9484b30f..1796f0a6f647c94b0943a6003a130779
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java b/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java
|
||||
index 00c7fe0419fa44736b971b684adfe1b963e24bd5..581486ad49945d1658cb070d9f418f7a2fc9196d 100644
|
||||
index d2511e001645c30b7b4d1f2b280401c817672fdb..8ea2a1ab532fdcffab04a9019d7f617bd3e8ed8f 100644
|
||||
--- a/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java
|
||||
+++ b/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java
|
||||
@@ -212,6 +212,7 @@ public class MapItemSavedData extends SavedData {
|
||||
@@ -214,6 +214,7 @@ public class MapItemSavedData extends SavedData {
|
||||
|
||||
for (int i = 0; i < this.carriedBy.size(); i++) {
|
||||
MapItemSavedData.HoldingPlayer holdingPlayer1 = this.carriedBy.get(i);
|
||||
|
||||
@@ -11,28 +11,28 @@ All functions provided by vanilla are implemented.
|
||||
About Density function: https://minecraft.wiki/w/Density_function
|
||||
|
||||
diff --git a/net/minecraft/util/CubicSpline.java b/net/minecraft/util/CubicSpline.java
|
||||
index c04229bbed9d1162ecec99b8042d1707e2fc09bc..45b01de060362d88a5f02a76d6e6dc01748a55f5 100644
|
||||
index e4e1ecdfd28a1c6d0fd518668caed33a8ec45ec3..929820fcab17b1b804759c5e9fa36606e3add72c 100644
|
||||
--- a/net/minecraft/util/CubicSpline.java
|
||||
+++ b/net/minecraft/util/CubicSpline.java
|
||||
@@ -254,31 +254,47 @@ public interface CubicSpline<C, I extends BoundedFloatFunction<C>> extends Bound
|
||||
|
||||
@Override
|
||||
public float apply(C input) {
|
||||
- float f = this.coordinate.apply(input);
|
||||
public float apply(C value) {
|
||||
- float f = this.coordinate.apply(value);
|
||||
- int i = findIntervalStart(this.locations, f);
|
||||
- int i1 = this.locations.length - 1;
|
||||
- if (i < 0) {
|
||||
- return linearExtend(f, this.locations, this.values.get(0).apply(input), this.derivatives, 0);
|
||||
- return linearExtend(f, this.locations, this.values.get(0).apply(value), this.derivatives, 0);
|
||||
- } else if (i == i1) {
|
||||
- return linearExtend(f, this.locations, this.values.get(i1).apply(input), this.derivatives, i1);
|
||||
- return linearExtend(f, this.locations, this.values.get(i1).apply(value), this.derivatives, i1);
|
||||
+ // DivineMC start - Density Function Compiler
|
||||
+ float point = this.coordinate.apply(input);
|
||||
+ float point = this.coordinate.apply(value);
|
||||
+ int rangeForLocation = findIntervalStart(this.locations, point);
|
||||
+ int last = this.locations.length - 1;
|
||||
+ if (rangeForLocation < 0) {
|
||||
+ return linearExtend(point, this.locations, this.values.get(0).apply(input), this.derivatives, 0);
|
||||
+ return linearExtend(point, this.locations, this.values.get(0).apply(value), this.derivatives, 0);
|
||||
+ } else if (rangeForLocation == last) {
|
||||
+ return linearExtend(point, this.locations, this.values.get(last).apply(input), this.derivatives, last);
|
||||
+ return linearExtend(point, this.locations, this.values.get(last).apply(value), this.derivatives, last);
|
||||
} else {
|
||||
- float f1 = this.locations[i];
|
||||
- float f2 = this.locations[i + 1];
|
||||
@@ -41,8 +41,8 @@ index c04229bbed9d1162ecec99b8042d1707e2fc09bc..45b01de060362d88a5f02a76d6e6dc01
|
||||
- BoundedFloatFunction<C> boundedFloatFunction1 = (BoundedFloatFunction<C>)this.values.get(i + 1);
|
||||
- float f4 = this.derivatives[i];
|
||||
- float f5 = this.derivatives[i + 1];
|
||||
- float f6 = boundedFloatFunction.apply(input);
|
||||
- float f7 = boundedFloatFunction1.apply(input);
|
||||
- float f6 = boundedFloatFunction.apply(value);
|
||||
- float f7 = boundedFloatFunction1.apply(value);
|
||||
- float f8 = f4 * (f2 - f1) - (f7 - f6);
|
||||
- float f9 = -f5 * (f2 - f1) + (f7 - f6);
|
||||
- return Mth.lerp(f3, f6, f7) + f3 * (1.0F - f3) * Mth.lerp(f3, f8, f9);
|
||||
@@ -50,8 +50,8 @@ index c04229bbed9d1162ecec99b8042d1707e2fc09bc..45b01de060362d88a5f02a76d6e6dc01
|
||||
+ float loc1 = this.locations[rangeForLocation + 1];
|
||||
+ float locDist = loc1 - loc0;
|
||||
+ float k = (point - loc0) / locDist;
|
||||
+ float n = this.values.get(rangeForLocation).apply(input);
|
||||
+ float o = this.values.get(rangeForLocation + 1).apply(input);
|
||||
+ float n = this.values.get(rangeForLocation).apply(value);
|
||||
+ float o = this.values.get(rangeForLocation + 1).apply(value);
|
||||
+ float onDist = o - n;
|
||||
+ float p = this.derivatives[rangeForLocation] * locDist - onDist;
|
||||
+ float q = -this.derivatives[rangeForLocation + 1] * locDist + onDist;
|
||||
@@ -111,7 +111,7 @@ index c04229bbed9d1162ecec99b8042d1707e2fc09bc..45b01de060362d88a5f02a76d6e6dc01
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/levelgen/DensityFunctions.java b/net/minecraft/world/level/levelgen/DensityFunctions.java
|
||||
index f2fd59359c69a379b9b0a359c7fc917890b3bb74..90531d659d8be9178d8e7ed9fc20a57d204cf07e 100644
|
||||
index 73412c5b89b38f90a4c941acb3ce6f13e026c303..40d7965d95b78c6046b0da33f290eaeadd99c9b5 100644
|
||||
--- a/net/minecraft/world/level/levelgen/DensityFunctions.java
|
||||
+++ b/net/minecraft/world/level/levelgen/DensityFunctions.java
|
||||
@@ -281,38 +281,66 @@ public final class DensityFunctions {
|
||||
@@ -339,7 +339,7 @@ index f2fd59359c69a379b9b0a359c7fc917890b3bb74..90531d659d8be9178d8e7ed9fc20a57d
|
||||
FlatCache("flat_cache"),
|
||||
Cache2D("cache_2d"),
|
||||
diff --git a/net/minecraft/world/level/levelgen/NoiseChunk.java b/net/minecraft/world/level/levelgen/NoiseChunk.java
|
||||
index ff0c2aa0cdf7a88f67e6438dbd17d9c2bc39107a..3c3615043ab87da45b7ea47bf2f632a91a60dbc6 100644
|
||||
index 39efa4329e7517fe0ec47d1e1975fc0d4ec5727c..a743c142b152ad696506dca7b04462d2af3c6893 100644
|
||||
--- a/net/minecraft/world/level/levelgen/NoiseChunk.java
|
||||
+++ b/net/minecraft/world/level/levelgen/NoiseChunk.java
|
||||
@@ -8,6 +8,7 @@ import java.util.Arrays;
|
||||
@@ -640,8 +640,8 @@ index ff0c2aa0cdf7a88f67e6438dbd17d9c2bc39107a..3c3615043ab87da45b7ea47bf2f632a9
|
||||
+ }
|
||||
+ // DivineMC end - Density Function Compiler
|
||||
|
||||
CacheAllInCell(final DensityFunction noiseFilter) {
|
||||
this.noiseFiller = noiseFilter;
|
||||
CacheAllInCell(final DensityFunction noiseFiller) {
|
||||
this.noiseFiller = noiseFiller;
|
||||
@@ -539,18 +737,51 @@ public class NoiseChunk implements DensityFunction.ContextProvider, DensityFunct
|
||||
|
||||
@Override
|
||||
@@ -1071,8 +1071,8 @@ index ff0c2aa0cdf7a88f67e6438dbd17d9c2bc39107a..3c3615043ab87da45b7ea47bf2f632a9
|
||||
+ }
|
||||
+ // DivineMC end - Density Function Compiler
|
||||
|
||||
NoiseInterpolator(final DensityFunction noiseFilter) {
|
||||
this.noiseFiller = noiseFilter;
|
||||
NoiseInterpolator(final DensityFunction noiseFiller) {
|
||||
this.noiseFiller = noiseFiller;
|
||||
@@ -754,16 +1256,18 @@ public class NoiseChunk implements DensityFunction.ContextProvider, DensityFunct
|
||||
|
||||
@Override
|
||||
|
||||
@@ -82,7 +82,7 @@ index 181fdb493f64442c659165c10e237ebc198fb6e2..43363235f3dc696973eee99548b1ae55
|
||||
List<org.bukkit.block.BlockState> states = new java.util.ArrayList<>(level.capturedBlockStates.values());
|
||||
level.capturedBlockStates.clear();
|
||||
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
||||
index fa29260810341898169441f6baf72846dbd17d67..b533f3c938ba184bee7dea9f9969b59381c03912 100644
|
||||
index 698460d2dc19a0bdf6cf2a528a702d6dbc625eb2..fd9ef48ac8b23e8b409c00d154dbea27b701e3bc 100644
|
||||
--- a/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/net/minecraft/server/MinecraftServer.java
|
||||
@@ -289,6 +289,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -93,7 +93,7 @@ index fa29260810341898169441f6baf72846dbd17d67..b533f3c938ba184bee7dea9f9969b593
|
||||
// Paper start - improve tick loop
|
||||
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));
|
||||
@@ -379,24 +380,36 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -396,24 +397,36 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
private long lastMidTickExecute;
|
||||
private long lastMidTickExecuteFailure;
|
||||
|
||||
@@ -143,7 +143,7 @@ index fa29260810341898169441f6baf72846dbd17d67..b533f3c938ba184bee7dea9f9969b593
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1700,6 +1713,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1719,6 +1732,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
public final io.papermc.paper.threadedregions.EntityScheduler.EntitySchedulerTickList entitySchedulerTickList = new io.papermc.paper.threadedregions.EntityScheduler.EntitySchedulerTickList(); // Paper - optimise Folia entity scheduler
|
||||
|
||||
@@ -162,7 +162,7 @@ index fa29260810341898169441f6baf72846dbd17d67..b533f3c938ba184bee7dea9f9969b593
|
||||
protected void tickChildren(BooleanSupplier hasTimeLeft) {
|
||||
this.getPlayerList().getPlayers().forEach(serverPlayer1 -> serverPlayer1.connection.suspendFlushing());
|
||||
this.server.getScheduler().mainThreadHeartbeat(); // CraftBukkit
|
||||
@@ -1746,28 +1771,43 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1765,28 +1790,43 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
}
|
||||
|
||||
this.isIteratingOverLevels = true; // Paper - Throw exception on world create while being ticked
|
||||
@@ -224,7 +224,7 @@ index fa29260810341898169441f6baf72846dbd17d67..b533f3c938ba184bee7dea9f9969b593
|
||||
this.isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
|
||||
|
||||
this.tickConnection();
|
||||
@@ -1855,6 +1895,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1874,6 +1914,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
Map<ResourceKey<Level>, ServerLevel> oldLevels = this.levels;
|
||||
Map<ResourceKey<Level>, ServerLevel> newLevels = Maps.newLinkedHashMap(oldLevels);
|
||||
newLevels.remove(level.dimension());
|
||||
@@ -333,7 +333,7 @@ index 3836d60ce84fb26f30a609486a5755d3fd1c94f1..1aab02441e4dfa7703963855d77bb918
|
||||
}
|
||||
} else if (this.visible.remove(advancementHolder)) {
|
||||
diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index 78f831bf369906396860a73b9aaff5dc67bcfa09..3a3346ef4df6fb424189306c2617b391a4bd2a84 100644
|
||||
index c37851095cfe637a2768de0aa179efe66e9a4cde..1afd48654a421f0e0d4d5c2f27bdfe0b5f436bb8 100644
|
||||
--- a/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -311,6 +311,13 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -351,7 +351,7 @@ index 78f831bf369906396860a73b9aaff5dc67bcfa09..3a3346ef4df6fb424189306c2617b391
|
||||
LOGGER.info("Default game type: {}", properties.gameMode.get());
|
||||
// Paper start - Unix domain socket support
|
||||
diff --git a/net/minecraft/server/level/ServerChunkCache.java b/net/minecraft/server/level/ServerChunkCache.java
|
||||
index 0a32c1106d3eebb8b4aa75b27b489169052897db..bfc200f39a22664204b5aa66d3911abdb368e563 100644
|
||||
index d8f0bd8173836796ecdd9771b637d24c7a807a79..e23f2004705fc299934a8b30e736ddf0a8eb2147 100644
|
||||
--- a/net/minecraft/server/level/ServerChunkCache.java
|
||||
+++ b/net/minecraft/server/level/ServerChunkCache.java
|
||||
@@ -176,8 +176,12 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
@@ -370,7 +370,7 @@ index 0a32c1106d3eebb8b4aa75b27b489169052897db..bfc200f39a22664204b5aa66d3911abd
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index 01ad6566c236bac2141f75fa9cf37844e3d97637..f22762d2e0c97246415669baa7b3d713bb6e929a 100644
|
||||
index fad9facf999f7f98ea8acc6ffd87114aa21a1b3c..dbc0b9f926f2738f305477730ca1ab91edbd5d2f 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,7 +467,7 @@ index 01ad6566c236bac2141f75fa9cf37844e3d97637..f22762d2e0c97246415669baa7b3d713
|
||||
// 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 dd933185b1afadae52b51c95bb566bb453a9bfed..7eed31f8fcc7c0e1b83bd5e1eb8157580a2afd00 100644
|
||||
index 3d983372c1f519066f980fd19db9b7d3c36b35dd..9ca749141b063b84042285116cb65c8e3ff7ec5c 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
|
||||
@@ -520,7 +520,7 @@ index dd933185b1afadae52b51c95bb566bb453a9bfed..7eed31f8fcc7c0e1b83bd5e1eb815758
|
||||
// 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 c8e68bbb210457366822f2c4a01afb49693035ac..8524060daabd3bc34c938313f30ed247759bdd5a 100644
|
||||
index 2425ecc8c27647acb5cb6ef1989cc7db715d2392..1ce1de38992f1368bf49432d690bebb0289a7561 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -149,6 +149,7 @@ public abstract class PlayerList {
|
||||
@@ -640,10 +640,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 6724ef32e4d0de6ca0965b8b96430b68179b4bd7..167c244433fd77b5d0cc0975965f04c5d88001fa 100644
|
||||
index ee8cdf62642b2713dbae9d1735db7c5e5fd55a55..714a7722a45798a445acf3aeb1e7db5d250a9670 100644
|
||||
--- a/net/minecraft/world/entity/Entity.java
|
||||
+++ b/net/minecraft/world/entity/Entity.java
|
||||
@@ -3549,14 +3549,34 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
@@ -3548,14 +3548,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 +684,7 @@ index 6724ef32e4d0de6ca0965b8b96430b68179b4bd7..167c244433fd77b5d0cc0975965f04c5
|
||||
} else if (this.portalProcess.hasExpired()) {
|
||||
this.portalProcess = null;
|
||||
}
|
||||
@@ -4134,6 +4154,7 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
@@ -4133,6 +4153,7 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
|
||||
@Nullable
|
||||
private Entity teleportCrossDimension(ServerLevel oldLevel, ServerLevel newLevel, TeleportTransition teleportTransition) {
|
||||
@@ -796,7 +796,7 @@ index 6adf1b2250234ede6e6f498ed0990ab523f09b8e..a8ae790a7b9bfd0d78cac0577bb7a4dd
|
||||
entity.getBrain().eraseMemory(MemoryModuleType.POTENTIAL_JOB_SITE);
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/npc/Villager.java b/net/minecraft/world/entity/npc/Villager.java
|
||||
index 94424c01b0c4a28c7eafd5c02d068b9c41e451e2..087fc14bbfaf63bf5ba5724e10c6f005a404f733 100644
|
||||
index 5443677ed4ecaaf3b647e3f72802e80d7d22fad9..f200827d35d981aef06b8136557b92fc9a566239 100644
|
||||
--- a/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -793,13 +793,24 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -831,7 +831,7 @@ index 94424c01b0c4a28c7eafd5c02d068b9c41e451e2..087fc14bbfaf63bf5ba5724e10c6f005
|
||||
});
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
||||
index 382c8b51fbf908068f4e5bef01d71441f8c85d1a..71df0cd87e66fd052aea5dc9c6961a53235531d5 100644
|
||||
index 9213d25928066ee6722f1a145ae37e99d6e62582..28f0b59500d67bdd92c97a7e138c94887caa043b 100644
|
||||
--- a/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
||||
+++ b/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
||||
@@ -104,43 +104,53 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
|
||||
@@ -922,7 +922,7 @@ index 382c8b51fbf908068f4e5bef01d71441f8c85d1a..71df0cd87e66fd052aea5dc9c6961a53
|
||||
} else {
|
||||
Entity entity = owner.teleport(
|
||||
diff --git a/net/minecraft/world/inventory/AbstractContainerMenu.java b/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||
index 4354aafdd29c397d1318ae71dc365e7ca0aa781c..97397e5849d3ddc14506776431a69939a2204765 100644
|
||||
index c0b54e17d75150b1114a9d5895311995726bb88f..c88b0567d1b9377bfca4e4a62d8eb22daccd83a8 100644
|
||||
--- a/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||
+++ b/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||
@@ -96,8 +96,14 @@ public abstract class AbstractContainerMenu {
|
||||
@@ -941,7 +941,7 @@ index 4354aafdd29c397d1318ae71dc365e7ca0aa781c..97397e5849d3ddc14506776431a69939
|
||||
this.containerId = containerId;
|
||||
}
|
||||
diff --git a/net/minecraft/world/item/ItemStack.java b/net/minecraft/world/item/ItemStack.java
|
||||
index 358d69bdca0aa46d1952d3ef9bf9b65dc39a3338..d04167eccda1fe29abe7fc28cab0c837a14e47ab 100644
|
||||
index e4bcd4a3cbbc8942d52e5f3c7a4fb1572fdef91c..52a8a818a636e35b486b8aaf482cd68849a0bbcd 100644
|
||||
--- a/net/minecraft/world/item/ItemStack.java
|
||||
+++ b/net/minecraft/world/item/ItemStack.java
|
||||
@@ -399,8 +399,10 @@ public final class ItemStack implements DataComponentHolder {
|
||||
@@ -958,7 +958,7 @@ index 358d69bdca0aa46d1952d3ef9bf9b65dc39a3338..d04167eccda1fe29abe7fc28cab0c837
|
||||
serverLevel.capturedBlockStates.clear();
|
||||
org.bukkit.event.world.StructureGrowEvent structureEvent = null;
|
||||
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
|
||||
index c8f5462bfd4d0fd24dfb20116ad5eb3489484042..49c4d40e802f8adaba52d929ba013d3953704989 100644
|
||||
index 79627c421088d439745164d7652a0cc1d93ced30..a8c2e02450caa52714bc3e064237d12fa56b4207 100644
|
||||
--- a/net/minecraft/world/level/Level.java
|
||||
+++ b/net/minecraft/world/level/Level.java
|
||||
@@ -166,6 +166,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||
@@ -1079,7 +1079,7 @@ index d306f5f524dc64618df94c9783c2168dc561a5e3..6a0c4dc2ff5e3d82e811db63dc9da7b9
|
||||
return true;
|
||||
} else {
|
||||
diff --git a/net/minecraft/world/level/block/RedStoneWireBlock.java b/net/minecraft/world/level/block/RedStoneWireBlock.java
|
||||
index 7d7e7a87f5c9bbd9535bf2105e05d7abf08fc3dc..11356bfa7b12739f9bb9f780d7fcafeb39775d12 100644
|
||||
index eff16b8931cba66a7159a313abb2b98cb292a77d..846cf81e9446214510ec99f2809976612049255e 100644
|
||||
--- a/net/minecraft/world/level/block/RedStoneWireBlock.java
|
||||
+++ b/net/minecraft/world/level/block/RedStoneWireBlock.java
|
||||
@@ -66,6 +66,7 @@ public class RedStoneWireBlock extends Block {
|
||||
@@ -1101,7 +1101,7 @@ index 7d7e7a87f5c9bbd9535bf2105e05d7abf08fc3dc..11356bfa7b12739f9bb9f780d7fcafeb
|
||||
+ } else {
|
||||
+ turbo.updateSurroundingRedstone(worldIn, pos, state, source);
|
||||
+ }
|
||||
+ // DivineMC end
|
||||
+ // DivineMC end - Parallel world ticking
|
||||
return;
|
||||
}
|
||||
updatePowerStrength(worldIn, pos, state, orientation, blockAdded);
|
||||
@@ -1147,16 +1147,16 @@ index 7d7e7a87f5c9bbd9535bf2105e05d7abf08fc3dc..11356bfa7b12739f9bb9f780d7fcafeb
|
||||
@@ -422,12 +444,23 @@ public class RedStoneWireBlock extends Block {
|
||||
|
||||
@Override
|
||||
protected int getDirectSignal(BlockState blockState, BlockGetter blockAccess, BlockPos pos, Direction side) {
|
||||
- return !this.shouldSignal ? 0 : blockState.getSignal(blockAccess, pos, side);
|
||||
protected int getDirectSignal(BlockState state, BlockGetter level, BlockPos pos, Direction side) {
|
||||
- return !this.shouldSignal ? 0 : state.getSignal(level, pos, side);
|
||||
+ // DivineMC start - Parallel world ticking
|
||||
+ boolean signal = org.bxteam.divinemc.config.DivineConfig.AsyncCategory.enableParallelWorldTicking ? this.shouldSignalTL.get() : this.shouldSignal;
|
||||
+ return !signal ? 0 : blockState.getSignal(blockAccess, pos, side);
|
||||
+ return !signal ? 0 : state.getSignal(level, pos, side);
|
||||
+ // DivineMC end - Parallel world ticking
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getSignal(BlockState blockState, BlockGetter blockAccess, BlockPos pos, Direction side) {
|
||||
protected int getSignal(BlockState state, BlockGetter level, BlockPos pos, Direction side) {
|
||||
- if (this.shouldSignal && side != Direction.DOWN) {
|
||||
+ // DivineMC start - Parallel world ticking
|
||||
+ boolean signal;
|
||||
@@ -1167,7 +1167,7 @@ index 7d7e7a87f5c9bbd9535bf2105e05d7abf08fc3dc..11356bfa7b12739f9bb9f780d7fcafeb
|
||||
+ }
|
||||
+ // DivineMC end - Parallel world ticking
|
||||
+ if (signal && side != Direction.DOWN) { // DivineMC - Parallel world ticking
|
||||
int powerValue = blockState.getValue(POWER);
|
||||
int powerValue = state.getValue(POWER);
|
||||
if (powerValue == 0) {
|
||||
return 0;
|
||||
@@ -459,7 +492,13 @@ public class RedStoneWireBlock extends Block {
|
||||
@@ -1356,7 +1356,7 @@ index d23f255de9208f42125fa358a9e8194c984fe4d3..92e9bc9ba577474ca1108b8d06157395
|
||||
// CraftBukkit end
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/chunk/LevelChunk.java b/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
index 3a9843c30f685d2e1f0cd54ace5dddfa9e2314fa..f68731273f9ca583b3dac6ecb13c1ac9fcc06bed 100644
|
||||
index 524f987ba5cbf3d9fa502b51419cb163e099597c..76ba642de5673b407e3a802db9de060bcffae9b0 100644
|
||||
--- a/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
+++ b/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
@@ -374,6 +374,7 @@ public class LevelChunk extends ChunkAccess implements DebugValueSource, ca.spot
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] MSPT Tracking for each world
|
||||
|
||||
|
||||
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
||||
index b533f3c938ba184bee7dea9f9969b59381c03912..1c60d0384e3f5cc9f719fdd2ca2960af407114a0 100644
|
||||
index fd9ef48ac8b23e8b409c00d154dbea27b701e3bc..6a714d59d01eafcd833f05208a948bf33b797392 100644
|
||||
--- a/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1716,7 +1716,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1735,7 +1735,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
// DivineMC start - Parallel world ticking
|
||||
private void tickLevel(ServerLevel serverLevel, BooleanSupplier hasTimeLeft) {
|
||||
try {
|
||||
@@ -25,7 +25,7 @@ index b533f3c938ba184bee7dea9f9969b59381c03912..1c60d0384e3f5cc9f719fdd2ca2960af
|
||||
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 f22762d2e0c97246415669baa7b3d713bb6e929a..d27a130f80cb8225a30b289b9d06c5c508a55ea7 100644
|
||||
index dbc0b9f926f2738f305477730ca1ab91edbd5d2f..4006ad45a53abdc49d8d90150d580ef8c79cf6f0 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
|
||||
|
||||
@@ -20,10 +20,10 @@ index 3e4241976fdfe65bc0aae90a9097770745c0ddf1..98b101fde04fbf5507f021bb8d8e6bed
|
||||
if (var3 instanceof ReportedException reportedException && reportedException.getCause() instanceof OutOfMemoryError) {
|
||||
throw PacketUtils.makeReportedException(var3, this.packet, this.listener);
|
||||
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
||||
index 1c60d0384e3f5cc9f719fdd2ca2960af407114a0..949b8129ec014c76a1558a9011633f1a6405f2d7 100644
|
||||
index 6a714d59d01eafcd833f05208a948bf33b797392..f654664fb06556125cbd2a213c9fb89eabb329e7 100644
|
||||
--- a/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1725,6 +1725,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1744,6 +1744,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
serverLevel.tickTimes10s.add(this.tickCount, j);
|
||||
serverLevel.tickTimes60s.add(this.tickCount, j);
|
||||
// DivineMC end - MSPT Tracking for each world
|
||||
@@ -35,7 +35,7 @@ index 1c60d0384e3f5cc9f719fdd2ca2960af407114a0..949b8129ec014c76a1558a9011633f1a
|
||||
CrashReport crashReport = CrashReport.forThrowable(levelTickingException, "Exception ticking world");
|
||||
serverLevel.fillReportDetails(crashReport);
|
||||
diff --git a/net/minecraft/world/level/block/ShulkerBoxBlock.java b/net/minecraft/world/level/block/ShulkerBoxBlock.java
|
||||
index f3bc957110ef60ad5e4384b934b60dccea76d5a7..18a1ed31575bec6fdbeed5d394c9f90e48ea9ba4 100644
|
||||
index e08083fbb6c3090c9a6f78dbbe487cbd4fec485a..d5d77110e7799223a66c2d6e47a1d9b4653f3ec4 100644
|
||||
--- a/net/minecraft/world/level/block/ShulkerBoxBlock.java
|
||||
+++ b/net/minecraft/world/level/block/ShulkerBoxBlock.java
|
||||
@@ -183,7 +183,17 @@ public class ShulkerBoxBlock extends BaseEntityBlock {
|
||||
@@ -58,7 +58,7 @@ index f3bc957110ef60ad5e4384b934b60dccea76d5a7..18a1ed31575bec6fdbeed5d394c9f90e
|
||||
|
||||
public static Block getBlockByColor(@Nullable DyeColor color) {
|
||||
diff --git a/net/minecraft/world/level/redstone/NeighborUpdater.java b/net/minecraft/world/level/redstone/NeighborUpdater.java
|
||||
index 332b33a004ab11150cca0cc2cefc26d0286648f5..261f3fb9981342330a31d4a4f317d1c93120012d 100644
|
||||
index 3f4b17a222fdbf97ca8979a43f1f231d9e9d8ddb..1b7a1481d4d4167036185ddcbafe7c11a1b84a52 100644
|
||||
--- a/net/minecraft/world/level/redstone/NeighborUpdater.java
|
||||
+++ b/net/minecraft/world/level/redstone/NeighborUpdater.java
|
||||
@@ -60,9 +60,19 @@ public interface NeighborUpdater {
|
||||
|
||||
@@ -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 167c244433fd77b5d0cc0975965f04c5d88001fa..b26226f6479f7b9c58a1355639c6f264e161ab50 100644
|
||||
index 714a7722a45798a445acf3aeb1e7db5d250a9670..0e7a870e85be7f3a2856ce0ca9c861295a66e032 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 167c244433fd77b5d0cc0975965f04c5d88001fa..b26226f6479f7b9c58a1355639c6f264
|
||||
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;
|
||||
@@ -5565,4 +5565,47 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
@@ -5564,4 +5564,47 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
return false;
|
||||
}
|
||||
// Purpur end - Ridables
|
||||
@@ -71,7 +71,7 @@ index 167c244433fd77b5d0cc0975965f04c5d88001fa..b26226f6479f7b9c58a1355639c6f264
|
||||
+ // DivineMC end - Raytrace Entity Tracker
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/EntityType.java b/net/minecraft/world/entity/EntityType.java
|
||||
index e680780a0e46e9e5f9126bd11a20b918e8c36066..3a50f4d2e434e9766656a7e2a1da8c1ed483c97d 100644
|
||||
index 7d5940327c5e7a945165228d502f678a8234cd02..5a4a337694c36e6342c0b0ae5034ac2f11d205a1 100644
|
||||
--- a/net/minecraft/world/entity/EntityType.java
|
||||
+++ b/net/minecraft/world/entity/EntityType.java
|
||||
@@ -1201,6 +1201,7 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
@@ -83,7 +83,7 @@ index e680780a0e46e9e5f9126bd11a20b918e8c36066..3a50f4d2e434e9766656a7e2a1da8c1e
|
||||
private static <T extends Entity> EntityType<T> register(ResourceKey<EntityType<?>> key, EntityType.Builder<T> builder) {
|
||||
return Registry.register(BuiltInRegistries.ENTITY_TYPE, key, builder.build(key));
|
||||
diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java
|
||||
index 9a6355328ca25ae7c183b68e890106776d82204e..6a8e50598da5e08ce6694c226012a44f88483f71 100644
|
||||
index d5337d37be18d2ebb047e122b220e1a694f46696..bd41bbac179460d38edee624334cdcd0efb5504c 100644
|
||||
--- a/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/net/minecraft/world/entity/player/Player.java
|
||||
@@ -183,6 +183,25 @@ public abstract class Player extends Avatar implements ContainerUser {
|
||||
|
||||
@@ -35,10 +35,10 @@ index fb263fa1f30a7dfcb7ec2656abfb38e5fe88eac9..c3be4c2fd4a544967322a45d3b8c0fe7
|
||||
};
|
||||
}
|
||||
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
||||
index 949b8129ec014c76a1558a9011633f1a6405f2d7..7239a712628ae5a7f70d9e5b45b7faa7c8fa9395 100644
|
||||
index f654664fb06556125cbd2a213c9fb89eabb329e7..9c1798cca21a3f36f0347a0a4ac1fe9ababe60af 100644
|
||||
--- a/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1829,6 +1829,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1848,6 +1848,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
GameTestTicker.SINGLETON.tick();
|
||||
}
|
||||
|
||||
@@ -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 8524060daabd3bc34c938313f30ed247759bdd5a..f290b3291ee20c77a301adc57c933788ebc6d56d 100644
|
||||
index 1ce1de38992f1368bf49432d690bebb0289a7561..713992baae023165f126e7b98c4afb2a815c1e17 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 8524060daabd3bc34c938313f30ed247759bdd5a..f290b3291ee20c77a301adc57c933788
|
||||
// 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();
|
||||
@@ -1394,6 +1397,7 @@ public abstract class PlayerList {
|
||||
@@ -1384,6 +1387,7 @@ public abstract class PlayerList {
|
||||
serverPlayer.connection.send(clientboundUpdateRecipesPacket);
|
||||
serverPlayer.getRecipeBook().sendInitialRecipeBook(serverPlayer);
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ up on this optimisation before he came along.
|
||||
Locally this patch drops the entity tracker tick by a full 1.5x.
|
||||
|
||||
diff --git a/net/minecraft/network/Connection.java b/net/minecraft/network/Connection.java
|
||||
index 2da4ba00963c9ff6715fe60aa2f6af724fa8ed61..987edb0a89c00695c6620a8996c063d3f88fc549 100644
|
||||
index e28d859b457ca0e24bc6dc9d6cd4a97f12ae0671..5b31eed8f91b45b46521da5169d8003dfd5ec669 100644
|
||||
--- a/net/minecraft/network/Connection.java
|
||||
+++ b/net/minecraft/network/Connection.java
|
||||
@@ -150,6 +150,7 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
|
||||
@@ -36,14 +36,14 @@ index 2da4ba00963c9ff6715fe60aa2f6af724fa8ed61..987edb0a89c00695c6620a8996c063d3
|
||||
|
||||
public Connection(PacketFlow receiving) {
|
||||
@@ -160,6 +161,7 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
|
||||
public void channelActive(ChannelHandlerContext context) throws Exception {
|
||||
super.channelActive(context);
|
||||
this.channel = context.channel();
|
||||
public void channelActive(ChannelHandlerContext ctx) throws Exception {
|
||||
super.channelActive(ctx);
|
||||
this.channel = ctx.channel();
|
||||
+ this.eventLoop = (io.netty.channel.SingleThreadEventLoop) this.channel.eventLoop(); // Paper - Optimise non-flush packet sending
|
||||
this.address = this.channel.remoteAddress();
|
||||
this.preparing = false; // Spigot
|
||||
if (this.delayedDisconnect != null) {
|
||||
@@ -474,7 +476,13 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
|
||||
@@ -472,7 +474,13 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
|
||||
if (this.channel.eventLoop().inEventLoop()) {
|
||||
this.doSendPacket(packet, sendListener, flush);
|
||||
} else {
|
||||
|
||||
@@ -60,10 +60,10 @@ index 51c126735ace8fdde89ad97b5cab62f244212db0..23f6ed26b531ea570fdf2ae48c1e2710
|
||||
+ public void moonrise$write(final org.bxteam.divinemc.region.IRegionFile regionFile) throws IOException; // DivineMC - Buffered Linear region format
|
||||
}
|
||||
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
||||
index 7239a712628ae5a7f70d9e5b45b7faa7c8fa9395..1c7f170f92d7d184a3a0d79d8046cc266d006076 100644
|
||||
index 9c1798cca21a3f36f0347a0a4ac1fe9ababe60af..fe55ccb61324f4132448720bbab48e0f4c9b6b4d 100644
|
||||
--- a/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/net/minecraft/server/MinecraftServer.java
|
||||
@@ -939,10 +939,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -958,10 +958,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
// CraftBukkit end
|
||||
if (flush) {
|
||||
for (ServerLevel serverLevel : this.getAllLevels()) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Cleanup dead code from Paper
|
||||
|
||||
|
||||
diff --git a/net/minecraft/network/Connection.java b/net/minecraft/network/Connection.java
|
||||
index 987edb0a89c00695c6620a8996c063d3f88fc549..b63e976bfa89c0be75910954788500901c322ba1 100644
|
||||
index 5b31eed8f91b45b46521da5169d8003dfd5ec669..bd0712025fd20fbbc24d86f29700f7a28ed81921 100644
|
||||
--- a/net/minecraft/network/Connection.java
|
||||
+++ b/net/minecraft/network/Connection.java
|
||||
@@ -610,13 +610,7 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
|
||||
@@ -608,13 +608,7 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
|
||||
if (!(this.packetListener instanceof net.minecraft.server.network.ServerLoginPacketListenerImpl loginPacketListener)
|
||||
|| loginPacketListener.state != net.minecraft.server.network.ServerLoginPacketListenerImpl.State.VERIFYING
|
||||
|| Connection.joinAttemptsThisTick++ < MAX_PER_TICK) {
|
||||
@@ -70,7 +70,7 @@ index 98b101fde04fbf5507f021bb8d8e6bed334de5b6..e76530da9641acc482aa0f030c4dc267
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index f4399659d084ed9703052b3ce2c82a9e198cd514..668e20075c875775ac0bf355d7318c3ff1426fc0 100644
|
||||
index e550e647693c27c8f8c4f9718d4fe1210e07aa76..21f9b04927418778645475fda51d2d978215dc1c 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1385,13 +1385,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -102,7 +102,7 @@ index f4399659d084ed9703052b3ce2c82a9e198cd514..668e20075c875775ac0bf355d7318c3f
|
||||
|
||||
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 b26226f6479f7b9c58a1355639c6f264e161ab50..ee33af29c7f98df04f687dde627413e186c42221 100644
|
||||
index 0e7a870e85be7f3a2856ce0ca9c861295a66e032..e8fdcb827af1d7e04bcf1918922e89929d29eba0 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
|
||||
@@ -149,7 +149,7 @@ index b26226f6479f7b9c58a1355639c6f264e161ab50..ee33af29c7f98df04f687dde627413e1
|
||||
}
|
||||
|
||||
private void applyMovementEmissionAndPlaySound(Entity.MovementEmission movementEmission, Vec3 movement, BlockPos pos, BlockState state) {
|
||||
@@ -5027,9 +5001,7 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
@@ -5026,9 +5000,7 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
}
|
||||
|
||||
public void setDeltaMovement(Vec3 deltaMovement) {
|
||||
@@ -159,7 +159,7 @@ index b26226f6479f7b9c58a1355639c6f264e161ab50..ee33af29c7f98df04f687dde627413e1
|
||||
}
|
||||
|
||||
public void addDeltaMovement(Vec3 addend) {
|
||||
@@ -5127,9 +5099,7 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
@@ -5126,9 +5098,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 07dd9b8088e363110ecab24026a20485484710c4..a51d506c4ffe11ac2ad8510a9b35d854b2c0d42c 100644
|
||||
index 4be37952a3502f6dbd62932de7dd9cbed1488312..97bcad549d7e2de53ea74753f4e9d6832c678c58 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 07dd9b8088e363110ecab24026a20485484710c4..a51d506c4ffe11ac2ad8510a9b35d854
|
||||
+ // 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 f290b3291ee20c77a301adc57c933788ebc6d56d..57577a81888203f1e19dc8a804ca9f1ee764c49e 100644
|
||||
index 713992baae023165f126e7b98c4afb2a815c1e17..c69efd556b7ce753b9ccf204731e200b483a755f 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 f290b3291ee20c77a301adc57c933788ebc6d56d..57577a81888203f1e19dc8a804ca9f1e
|
||||
}
|
||||
// Paper end - Use single player info update packet on join
|
||||
player.sentListPacket = true;
|
||||
@@ -1403,4 +1407,69 @@ public abstract class PlayerList {
|
||||
@@ -1393,4 +1397,69 @@ public abstract class PlayerList {
|
||||
public boolean isAllowCommandsForAllPlayers() {
|
||||
return this.allowCommandsForAllPlayers;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Optimize level ticking
|
||||
|
||||
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index 668e20075c875775ac0bf355d7318c3ff1426fc0..8c9a1266bfbd1eb2b7612a07df126ea1ba792027 100644
|
||||
index 21f9b04927418778645475fda51d2d978215dc1c..f9d4d8ba415864019bca2a69a142ff1ce0307072 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -944,9 +944,10 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -73,7 +73,7 @@ index 668e20075c875775ac0bf355d7318c3ff1426fc0..8c9a1266bfbd1eb2b7612a07df126ea1
|
||||
|
||||
public void tickChunk(LevelChunk chunk, int randomTickSpeed) {
|
||||
diff --git a/net/minecraft/world/level/chunk/LevelChunk.java b/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
index f68731273f9ca583b3dac6ecb13c1ac9fcc06bed..ac56a14097a9f61bb9aa46e8bc3e01e6d82ba496 100644
|
||||
index 76ba642de5673b407e3a802db9de060bcffae9b0..29f4cce6823ad13bec607523f059166f97a48c22 100644
|
||||
--- a/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
+++ b/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
@@ -84,7 +84,7 @@ public class LevelChunk extends ChunkAccess implements DebugValueSource, ca.spot
|
||||
@@ -86,7 +86,7 @@ index f68731273f9ca583b3dac6ecb13c1ac9fcc06bed..ac56a14097a9f61bb9aa46e8bc3e01e6
|
||||
public final ServerLevel level; // CraftBukkit - type
|
||||
@Nullable
|
||||
diff --git a/net/minecraft/world/ticks/LevelChunkTicks.java b/net/minecraft/world/ticks/LevelChunkTicks.java
|
||||
index 66d0a6390febe929ef774b0a7813329015bc8cc2..c17549c4f8a877852c4b86453b1db7b17aab4665 100644
|
||||
index 2e28cc201e4557ff603aba7a6ed997b8d36fbb4a..37d9459a905ef8e05400d821db24f61a2dd03f10 100644
|
||||
--- a/net/minecraft/world/ticks/LevelChunkTicks.java
|
||||
+++ b/net/minecraft/world/ticks/LevelChunkTicks.java
|
||||
@@ -14,10 +14,10 @@ import javax.annotation.Nullable;
|
||||
@@ -137,7 +137,7 @@ index 66d0a6390febe929ef774b0a7813329015bc8cc2..c17549c4f8a877852c4b86453b1db7b1
|
||||
|
||||
for (ScheduledTick<T> scheduledTick : this.tickQueue) {
|
||||
+ if (scheduledTick == null) continue; // DivineMC - Optimize level ticking
|
||||
list.add(scheduledTick.toSavedTick(gametime));
|
||||
list.add(scheduledTick.toSavedTick(gameTime));
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/ticks/LevelTicks.java b/net/minecraft/world/ticks/LevelTicks.java
|
||||
|
||||
@@ -452,7 +452,7 @@ index d03d075d5c56b7d2beb5f0aafecbb69f5b3bbf5b..ce3b8f4161dde3e2758c5d33445da150
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/server/level/ServerChunkCache.java b/net/minecraft/server/level/ServerChunkCache.java
|
||||
index 50daa39747a0f07c4d31a13c4410819a82d5f076..124bf62b7dd7fb72b4cc076e909449ddfe7793ae 100644
|
||||
index 656cd8e807c914531d249c950341ed48b4618eb0..d08e39ffa47fe99bbbf61d2d3773b28f32c179ba 100644
|
||||
--- a/net/minecraft/server/level/ServerChunkCache.java
|
||||
+++ b/net/minecraft/server/level/ServerChunkCache.java
|
||||
@@ -667,8 +667,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
@@ -466,7 +466,7 @@ index 50daa39747a0f07c4d31a13c4410819a82d5f076..124bf62b7dd7fb72b4cc076e909449dd
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index 8c9a1266bfbd1eb2b7612a07df126ea1ba792027..8db13a734eae1ee946fcf9363d289f5f98d7b6d5 100644
|
||||
index f9d4d8ba415864019bca2a69a142ff1ce0307072..57dcde95d789774dabe18c518219b369cec28d5a 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -186,6 +186,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -495,7 +495,7 @@ index 8c9a1266bfbd1eb2b7612a07df126ea1ba792027..8db13a734eae1ee946fcf9363d289f5f
|
||||
// Paper end - rewrite chunk system
|
||||
}
|
||||
|
||||
@@ -2648,16 +2649,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -2638,16 +2639,13 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
|
||||
public boolean isPositionTickingWithEntitiesLoaded(long chunkPos) {
|
||||
// Paper start - rewrite chunk system
|
||||
|
||||
@@ -59,7 +59,7 @@ index 766b6080160d87742ef4d8caa73b3b8fa52d5589..541d22fdc559717c7fda692c23abae58
|
||||
+ // DivineMC end - lithium: sleeping_block_entity
|
||||
}
|
||||
diff --git a/net/minecraft/server/commands/data/EntityDataAccessor.java b/net/minecraft/server/commands/data/EntityDataAccessor.java
|
||||
index 3092454bf7071deca75fecfc203072593fe5c7e7..098dd4647ae1500195729d6531e90c2bb7603eba 100644
|
||||
index 2b8d394dc30d459127289a1afeee0780003f4c79..2fd2712550a9b8ac79974f113ebcea5dab392bc5 100644
|
||||
--- a/net/minecraft/server/commands/data/EntityDataAccessor.java
|
||||
+++ b/net/minecraft/server/commands/data/EntityDataAccessor.java
|
||||
@@ -55,6 +55,7 @@ public class EntityDataAccessor implements DataAccessor {
|
||||
@@ -71,10 +71,10 @@ index 3092454bf7071deca75fecfc203072593fe5c7e7..098dd4647ae1500195729d6531e90c2b
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index 8db13a734eae1ee946fcf9363d289f5f98d7b6d5..6b72ffe12b0ce259558b5475f4c059dad3694484 100644
|
||||
index 57dcde95d789774dabe18c518219b369cec28d5a..7622b35e2aee4401104f69b0b8e3abe67bfc42bb 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -2500,6 +2500,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -2490,6 +2490,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
|
||||
for (TickingBlockEntity tickingBlockEntity : this.blockEntityTickers) {
|
||||
BlockPos pos = tickingBlockEntity.getPos();
|
||||
@@ -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 ee33af29c7f98df04f687dde627413e186c42221..5904b574e9cc64fadd63ec59a79be23436770865 100644
|
||||
index e8fdcb827af1d7e04bcf1918922e89929d29eba0..bec9307f082b5c809921a06ef9b8b5807008e3da 100644
|
||||
--- a/net/minecraft/world/entity/Entity.java
|
||||
+++ b/net/minecraft/world/entity/Entity.java
|
||||
@@ -5133,6 +5133,18 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
@@ -5132,6 +5132,18 @@ public abstract class Entity implements SyncedDataHolder, DebugValueSource, Name
|
||||
this.setBoundingBox(this.makeBoundingBox());
|
||||
}
|
||||
// Paper end - Block invalid positions and bounding box
|
||||
@@ -119,7 +119,7 @@ index ee33af29c7f98df04f687dde627413e186c42221..5904b574e9cc64fadd63ec59a79be234
|
||||
|
||||
public void checkDespawn() {
|
||||
diff --git a/net/minecraft/world/entity/item/ItemEntity.java b/net/minecraft/world/entity/item/ItemEntity.java
|
||||
index b5d7e5738ce043fdc08cd4872c9daaf952251b9a..a65fa538c930ab94e815b2aac19beefe0bde6da2 100644
|
||||
index 7525184fd5a801e39fbcba2afbcc968862a1cfbb..c074cd9b83015970028ac19c7afafb94d95713c9 100644
|
||||
--- a/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -35,7 +35,7 @@ import net.minecraft.world.level.storage.ValueInput;
|
||||
@@ -234,7 +234,7 @@ index b5d7e5738ce043fdc08cd4872c9daaf952251b9a..a65fa538c930ab94e815b2aac19beefe
|
||||
+ // DivineMC end - lithium: sleeping_block_entity
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java b/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java
|
||||
index 8643d46d21852e9e14f9b2448f1c0eb26a737ebb..91eeb18926278763fbd6650d02c30cc33b9992fb 100644
|
||||
index 0f9bfcd1eab023c1772e9fafcda85d110904bd1c..a54dbf14af2abcf0307c1c43fb82cfd6ab13bfd1 100644
|
||||
--- a/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java
|
||||
+++ b/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java
|
||||
@@ -21,7 +21,7 @@ import net.minecraft.world.level.storage.ValueOutput;
|
||||
@@ -264,7 +264,7 @@ index 8643d46d21852e9e14f9b2448f1c0eb26a737ebb..91eeb18926278763fbd6650d02c30cc3
|
||||
+ // DivineMC end - lithium: sleeping_block_entity
|
||||
}
|
||||
diff --git a/net/minecraft/world/inventory/AbstractContainerMenu.java b/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||
index 97397e5849d3ddc14506776431a69939a2204765..3af415d58e32d89ac7c9289d5a003fc11a98149c 100644
|
||||
index c88b0567d1b9377bfca4e4a62d8eb22daccd83a8..487c8812f921ecc7b00ecac7deee5ac76954aa40 100644
|
||||
--- a/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||
+++ b/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||
@@ -901,6 +901,12 @@ public abstract class AbstractContainerMenu {
|
||||
@@ -281,7 +281,7 @@ index 97397e5849d3ddc14506776431a69939a2204765..3af415d58e32d89ac7c9289d5a003fc1
|
||||
ItemStack item = container.getItem(i);
|
||||
if (!item.isEmpty()) {
|
||||
diff --git a/net/minecraft/world/item/ItemStack.java b/net/minecraft/world/item/ItemStack.java
|
||||
index d04167eccda1fe29abe7fc28cab0c837a14e47ab..64576f34fc452724a56572c1589830128e50d2bc 100644
|
||||
index 52a8a818a636e35b486b8aaf482cd68849a0bbcd..7706bf3cdd8017eb0591a4002489835b97bb4918 100644
|
||||
--- a/net/minecraft/world/item/ItemStack.java
|
||||
+++ b/net/minecraft/world/item/ItemStack.java
|
||||
@@ -96,7 +96,7 @@ import org.apache.commons.lang3.function.TriConsumer;
|
||||
@@ -417,7 +417,7 @@ index d04167eccda1fe29abe7fc28cab0c837a14e47ab..64576f34fc452724a56572c158983012
|
||||
+ // DivineMC end - lithium: sleeping_block_entity
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
|
||||
index ccf9e2d5ef57ecdf1c7471620c5baa33575738e2..1f33d4e9df33670abbb80b15f499960a64578e70 100644
|
||||
index 604b4670f59e0c3ed5c287e8a0c573560826ed78..2f031b9119f7b520d736223ab8a7d96d79b17d52 100644
|
||||
--- a/net/minecraft/world/level/Level.java
|
||||
+++ b/net/minecraft/world/level/Level.java
|
||||
@@ -1475,7 +1475,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
|
||||
@@ -456,7 +456,7 @@ index ccf9e2d5ef57ecdf1c7471620c5baa33575738e2..1f33d4e9df33670abbb80b15f499960a
|
||||
+ // DivineMC end - lithium: sleeping_block_entity
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/block/ComposterBlock.java b/net/minecraft/world/level/block/ComposterBlock.java
|
||||
index 1a805c9926ef1a5641abbe8cdaca06508f1020a5..4b9ac0140c2ca40655cb9d396073f22718722f74 100644
|
||||
index 8cc6f7fcf8da2498fab3a0e300da785c489a63cc..2c3dc9e0131071530eab9b7f0cabe4b8519cc294 100644
|
||||
--- a/net/minecraft/world/level/block/ComposterBlock.java
|
||||
+++ b/net/minecraft/world/level/block/ComposterBlock.java
|
||||
@@ -440,7 +440,7 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder {
|
||||
@@ -493,19 +493,19 @@ index 1a805c9926ef1a5641abbe8cdaca06508f1020a5..4b9ac0140c2ca40655cb9d396073f227
|
||||
private final LevelAccessor level;
|
||||
private final BlockPos pos;
|
||||
diff --git a/net/minecraft/world/level/block/DiodeBlock.java b/net/minecraft/world/level/block/DiodeBlock.java
|
||||
index 558751ade918a92a1173096ccfeacf238f4260d0..1a2c56330dc5d75a566b98232d38da54c6412fcc 100644
|
||||
index a5b4b64b3feef04661c3dcd6eea29ffda7f0785c..c6511c1f40455b1c277542a4d71df453e7470e02 100644
|
||||
--- a/net/minecraft/world/level/block/DiodeBlock.java
|
||||
+++ b/net/minecraft/world/level/block/DiodeBlock.java
|
||||
@@ -173,6 +173,7 @@ public abstract class DiodeBlock extends HorizontalDirectionalBlock {
|
||||
@Override
|
||||
protected void onPlace(BlockState state, Level level, BlockPos pos, BlockState oldState, boolean isMoving) {
|
||||
protected void onPlace(BlockState state, Level level, BlockPos pos, BlockState oldState, boolean movedByPiston) {
|
||||
this.updateNeighborsInFront(level, pos, state);
|
||||
+ if (org.bxteam.divinemc.config.DivineConfig.PerformanceCategory.sleepingBlockEntity && this instanceof ComparatorBlock && !oldState.is(Blocks.COMPARATOR)) net.caffeinemc.mods.lithium.common.block.entity.inventory_comparator_tracking.ComparatorTracking.notifyNearbyBlockEntitiesAboutNewComparator(level, pos); // DivineMC - lithium: sleeping_block_entity
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/level/block/HopperBlock.java b/net/minecraft/world/level/block/HopperBlock.java
|
||||
index 73b602eee0da94f657b4b4cb654147f7ba41c1a4..64bc18c1831e58f114ad1c245183f107c84109ab 100644
|
||||
index 2a6d5790ac3bc4984937c5b6d70f8f49f2c59116..3903871081cc670d7c4532a1ebf3934ff5e0e621 100644
|
||||
--- a/net/minecraft/world/level/block/HopperBlock.java
|
||||
+++ b/net/minecraft/world/level/block/HopperBlock.java
|
||||
@@ -38,7 +38,7 @@ import net.minecraft.world.phys.shapes.CollisionContext;
|
||||
@@ -518,7 +518,7 @@ index 73b602eee0da94f657b4b4cb654147f7ba41c1a4..64bc18c1831e58f114ad1c245183f107
|
||||
public static final EnumProperty<Direction> FACING = BlockStateProperties.FACING_HOPPER;
|
||||
public static final BooleanProperty ENABLED = BlockStateProperties.ENABLED;
|
||||
@@ -101,6 +101,16 @@ public class HopperBlock extends BaseEntityBlock {
|
||||
protected void onPlace(BlockState state, Level level, BlockPos pos, BlockState oldState, boolean isMoving) {
|
||||
protected void onPlace(BlockState state, Level level, BlockPos pos, BlockState oldState, boolean movedByPiston) {
|
||||
if (!oldState.is(state.getBlock())) {
|
||||
this.checkPoweredState(level, pos, state);
|
||||
+ // DivineMC start - lithium: sleeping_block_entity
|
||||
@@ -568,7 +568,7 @@ index 73b602eee0da94f657b4b4cb654147f7ba41c1a4..64bc18c1831e58f114ad1c245183f107
|
||||
+ // DivineMC end - lithium: sleeping_block_entity
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
|
||||
index 57eae0dbb614f57e2a352613c7490145bbfeb5a1..e6d04ab20e800cc1db245efbf9cf23ae5650dff3 100644
|
||||
index ab9200d1b402374e71a9c3b09baf8f5b504ac365..515c0ef0952601ef9e39144ef86c8a48a0f8d267 100644
|
||||
--- a/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
|
||||
+++ b/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
|
||||
@@ -39,7 +39,7 @@ import net.minecraft.world.level.storage.ValueInput;
|
||||
@@ -814,7 +814,7 @@ index 7c2acea8af6a3110d782b9b3afeac0915ac127da..ccad8ed53e846ee0838420a74c8dc4b3
|
||||
+ // DivineMC end - lithium: sleeping_block_entity
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/block/entity/BlockEntity.java b/net/minecraft/world/level/block/entity/BlockEntity.java
|
||||
index 15d3f2f2959c3463f96f410b87c5f0106298352c..ec126adfcd21744e640344b8365bf54eff6a944d 100644
|
||||
index 9a9208d3716c2ed7fbcc5ea8518d4b7d3cb2296a..6a2f56e9925185813b84a70fdc8709801d0e2839 100644
|
||||
--- a/net/minecraft/world/level/block/entity/BlockEntity.java
|
||||
+++ b/net/minecraft/world/level/block/entity/BlockEntity.java
|
||||
@@ -36,7 +36,7 @@ import net.minecraft.world.level.storage.ValueInput;
|
||||
@@ -894,7 +894,7 @@ index 15d3f2f2959c3463f96f410b87c5f0106298352c..ec126adfcd21744e640344b8365bf54e
|
||||
+ // DivineMC end - lithium: sleeping_block_entity
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java b/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java
|
||||
index 8602a42967ebc28821d6156c07e0aad69c12fa9d..da0fe1ad7bf907b31e6ad0c2587543c36607d361 100644
|
||||
index 8b9606c4a89ccea494a7ea55099161c236d4b772..acc14f050147583f1bf82edf74ae1317a8ec9761 100644
|
||||
--- a/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java
|
||||
+++ b/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java
|
||||
@@ -24,7 +24,7 @@ import net.minecraft.world.level.block.state.BlockState;
|
||||
@@ -1086,7 +1086,7 @@ index fb7932e17d7d00ee3050e71c88510fa23befb1bb..d4f8dc6e37eea8da251e3dfb917607a7
|
||||
+ // DivineMC end - lithium: sleeping_block_entity
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/block/entity/ChestBlockEntity.java b/net/minecraft/world/level/block/entity/ChestBlockEntity.java
|
||||
index c0d4dd95812172a86e5b6f4217bf3cb9d7ee6f2a..151e99d1e9100865fa6f8211a53174a9aa99fea1 100644
|
||||
index 6b1299c20573ca009f6bffce829a4a593f548fce..e36049d044d7adc7e587c1c825fba36ce8f37089 100644
|
||||
--- a/net/minecraft/world/level/block/entity/ChestBlockEntity.java
|
||||
+++ b/net/minecraft/world/level/block/entity/ChestBlockEntity.java
|
||||
@@ -25,7 +25,7 @@ import net.minecraft.world.level.block.state.properties.ChestType;
|
||||
@@ -1175,7 +1175,7 @@ index c0d4dd95812172a86e5b6f4217bf3cb9d7ee6f2a..151e99d1e9100865fa6f8211a53174a9
|
||||
+ // DivineMC end - lithium: sleeping_block_entity
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.java b/net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.java
|
||||
index 6b05556a84ae6a8f08025439db29db207325bb7a..456f00b44ec58350d2faaa1a36be38ff0107bcfe 100644
|
||||
index 986d3fb65f3bbcb0357b9764ac4f338d64cb62c9..bfbf72f9f44b0239f92f188074016f6192641992 100644
|
||||
--- a/net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.java
|
||||
+++ b/net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.java
|
||||
@@ -21,7 +21,7 @@ import net.minecraft.world.level.storage.ValueInput;
|
||||
@@ -1200,7 +1200,7 @@ index 6b05556a84ae6a8f08025439db29db207325bb7a..456f00b44ec58350d2faaa1a36be38ff
|
||||
+ // DivineMC end - lithium: sleeping_block_entity
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/block/entity/CrafterBlockEntity.java b/net/minecraft/world/level/block/entity/CrafterBlockEntity.java
|
||||
index a631ad830d4820fbf983ef321b40f3192db4527f..861b29a2ffa728d6e19ac715b4467dd974e4363e 100644
|
||||
index 09f937e826b2a87d11a739e1398cc83a9f84e7e3..d36f925f675d485f8ad86d43b048e6911a918602 100644
|
||||
--- a/net/minecraft/world/level/block/entity/CrafterBlockEntity.java
|
||||
+++ b/net/minecraft/world/level/block/entity/CrafterBlockEntity.java
|
||||
@@ -22,7 +22,7 @@ import net.minecraft.world.level.block.state.BlockState;
|
||||
@@ -1315,7 +1315,7 @@ index b4a155cc914092dad83977df714fbbc033c69d19..f3cd91636539ebd201f6a22ca5a4f8a8
|
||||
+ // DivineMC end - lithium: sleeping_block_entity
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/block/entity/EnderChestBlockEntity.java b/net/minecraft/world/level/block/entity/EnderChestBlockEntity.java
|
||||
index e5cbc9f6d7989e993da566f5f9c239a3fe8c7e8b..4ad785f7d1a5c24a26568c628529751e6bb1bc32 100644
|
||||
index 775928cfe700202a70b19589ca72afd9768b62f1..2eda08301a3e3888c55a21390d1a718b86d50463 100644
|
||||
--- a/net/minecraft/world/level/block/entity/EnderChestBlockEntity.java
|
||||
+++ b/net/minecraft/world/level/block/entity/EnderChestBlockEntity.java
|
||||
@@ -10,7 +10,7 @@ import net.minecraft.world.level.Level;
|
||||
@@ -1341,9 +1341,9 @@ index e5cbc9f6d7989e993da566f5f9c239a3fe8c7e8b..4ad785f7d1a5c24a26568c628529751e
|
||||
this.chestLidController.shouldBeOpen(type > 0);
|
||||
return true;
|
||||
} else {
|
||||
@@ -97,4 +99,35 @@ public class EnderChestBlockEntity extends BlockEntity implements LidBlockEntity
|
||||
public float getOpenNess(float partialTicks) {
|
||||
return this.chestLidController.getOpenness(partialTicks);
|
||||
@@ -99,4 +101,35 @@ public class EnderChestBlockEntity extends BlockEntity implements LidBlockEntity
|
||||
public float getOpenNess(float partialTick) {
|
||||
return this.chestLidController.getOpenness(partialTick);
|
||||
}
|
||||
+
|
||||
+ // DivineMC start - lithium: sleeping_block_entity
|
||||
@@ -2260,7 +2260,7 @@ index daf4f28d04a1ad1e034c6d7dedba9e4e2272f2ea..3afb0ce74c5378ce909c1a1e6182aaae
|
||||
+ }
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity.java b/net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity.java
|
||||
index e2a2811464ff7455e513944b7565f9f226a5ed34..7458e0257996eb1d68237234de526cfd85020bb9 100644
|
||||
index d0880daad9d43e0b3a8d6010fcc114344df9e58a..94685824a6ab1373e9d888e8d02d464d769dd918 100644
|
||||
--- a/net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity.java
|
||||
+++ b/net/minecraft/world/level/block/entity/ShulkerBoxBlockEntity.java
|
||||
@@ -32,7 +32,7 @@ import net.minecraft.world.level.storage.ValueOutput;
|
||||
@@ -2337,7 +2337,7 @@ index e2a2811464ff7455e513944b7565f9f226a5ed34..7458e0257996eb1d68237234de526cfd
|
||||
+ // DivineMC end - lithium: sleeping_block_entity
|
||||
}
|
||||
diff --git a/net/minecraft/world/level/block/state/BlockBehaviour.java b/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
index 5f6fbc7eaa5522bd5e0692c9c2d280457a284e71..03d49e37a39ad9d1963d86da3aff88782db6a201 100644
|
||||
index 611b29ccba29558d8cf54eccb2136a305bf989db..f7362eb5e7f42eac024dc3a89ecb6a46073fc834 100644
|
||||
--- a/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
+++ b/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
@@ -84,7 +84,7 @@ import net.minecraft.world.phys.shapes.CollisionContext;
|
||||
@@ -2358,21 +2358,21 @@ index 5f6fbc7eaa5522bd5e0692c9c2d280457a284e71..03d49e37a39ad9d1963d86da3aff8878
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/world/level/chunk/LevelChunk.java b/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
index aa4b184943eb2ce4683ffd65ff7268ae8880d932..120c5284cda3785cb8f4254860b4f88f20fa6828 100644
|
||||
index 60f3567ef70a82ad1704aec3135e6a72f5033e12..3cd9d7cb9b9506874b7f7a242324ac122a5d1844 100644
|
||||
--- a/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
+++ b/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
@@ -931,12 +931,14 @@ public class LevelChunk extends ChunkAccess implements DebugValueSource, ca.spot
|
||||
(blockPos, rebindableTickingBlockEntityWrapper) -> {
|
||||
(pos, ticker1) -> {
|
||||
TickingBlockEntity tickingBlockEntity = this.createTicker(blockEntity, ticker);
|
||||
if (rebindableTickingBlockEntityWrapper != null) {
|
||||
+ if (org.bxteam.divinemc.config.DivineConfig.PerformanceCategory.sleepingBlockEntity && blockEntity instanceof net.caffeinemc.mods.lithium.common.block.entity.SleepingBlockEntity sleepingBlockEntity) sleepingBlockEntity.lithium$setTickWrapper(rebindableTickingBlockEntityWrapper); // DivineMC - lithium: sleeping_block_entity
|
||||
rebindableTickingBlockEntityWrapper.rebind(tickingBlockEntity);
|
||||
return (LevelChunk.RebindableTickingBlockEntityWrapper)rebindableTickingBlockEntityWrapper;
|
||||
if (ticker1 != null) {
|
||||
+ if (org.bxteam.divinemc.config.DivineConfig.PerformanceCategory.sleepingBlockEntity && blockEntity instanceof net.caffeinemc.mods.lithium.common.block.entity.SleepingBlockEntity sleepingBlockEntity) sleepingBlockEntity.lithium$setTickWrapper(ticker1); // DivineMC - lithium: sleeping_block_entity
|
||||
ticker1.rebind(tickingBlockEntity);
|
||||
return (LevelChunk.RebindableTickingBlockEntityWrapper)ticker1;
|
||||
} else if (this.isInLevel()) {
|
||||
LevelChunk.RebindableTickingBlockEntityWrapper rebindableTickingBlockEntityWrapper1 = new LevelChunk.RebindableTickingBlockEntityWrapper(
|
||||
LevelChunk.RebindableTickingBlockEntityWrapper rebindableTickingBlockEntityWrapper = new LevelChunk.RebindableTickingBlockEntityWrapper(
|
||||
tickingBlockEntity
|
||||
);
|
||||
+ if (org.bxteam.divinemc.config.DivineConfig.PerformanceCategory.sleepingBlockEntity && blockEntity instanceof net.caffeinemc.mods.lithium.common.block.entity.SleepingBlockEntity sleepingBlockEntity) sleepingBlockEntity.lithium$setTickWrapper(rebindableTickingBlockEntityWrapper); // DivineMC - lithium: sleeping_block_entity
|
||||
this.level.addBlockEntityTicker(rebindableTickingBlockEntityWrapper1);
|
||||
return rebindableTickingBlockEntityWrapper1;
|
||||
this.level.addBlockEntityTicker(rebindableTickingBlockEntityWrapper);
|
||||
return rebindableTickingBlockEntityWrapper;
|
||||
} else {
|
||||
|
||||
@@ -187,7 +187,7 @@ index 1e00a7bd89d885cabb4b9ca3c86fbd8cd93cebf5..4fb31f578c2a4a5dc137c38de8f64159
|
||||
+ // DivineMC end - lithium: equipment_tracking
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||
index 86370c9f6e83e5815922080c10336d394075b4e9..85e287bc66c4e2be6f703c3206fe53bba3d15a6d 100644
|
||||
index ca392664826ca8ced5a1c2c8b2d22eb87c5bd139..c08fb102fb9d325cf7c41e32b32833e70474fecb 100644
|
||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -439,9 +439,17 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
@@ -210,7 +210,7 @@ index 86370c9f6e83e5815922080c10336d394075b4e9..85e287bc66c4e2be6f703c3206fe53bb
|
||||
|
||||
super.baseTick();
|
||||
if (this.isAlive() && this.level() instanceof ServerLevel serverLevel1) {
|
||||
@@ -3444,6 +3452,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
@@ -3451,6 +3459,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
public void detectEquipmentUpdates() {
|
||||
Map<EquipmentSlot, ItemStack> map = this.collectEquipmentChanges();
|
||||
if (map != null) {
|
||||
@@ -218,7 +218,7 @@ index 86370c9f6e83e5815922080c10336d394075b4e9..85e287bc66c4e2be6f703c3206fe53bb
|
||||
this.handleHandSwap(map);
|
||||
if (!map.isEmpty()) {
|
||||
this.handleEquipmentChanges(map);
|
||||
@@ -3453,6 +3462,14 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
@@ -3460,6 +3469,14 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
|
||||
@Nullable
|
||||
private Map<EquipmentSlot, ItemStack> collectEquipmentChanges() {
|
||||
@@ -234,7 +234,7 @@ index 86370c9f6e83e5815922080c10336d394075b4e9..85e287bc66c4e2be6f703c3206fe53bb
|
||||
// Paper start - EntityEquipmentChangedEvent
|
||||
record EquipmentChangeImpl(org.bukkit.inventory.ItemStack oldItem, org.bukkit.inventory.ItemStack newItem) implements io.papermc.paper.event.entity.EntityEquipmentChangedEvent.EquipmentChange {
|
||||
diff --git a/net/minecraft/world/entity/decoration/ArmorStand.java b/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
index 79c652fbbc3ecef289e6358c325d98e509f5c216..434f5a331e0beb582dd8229e697ed1c1eecba8cc 100644
|
||||
index 03a350b91948b8309a74edb5e1f35d336316ff34..71f9dac6d592a41d80d7563d3f71884e26d3ece4 100644
|
||||
--- a/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
+++ b/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
@@ -528,8 +528,9 @@ public class ArmorStand extends LivingEntity {
|
||||
|
||||
@@ -23,10 +23,10 @@ index 226088405c019922085285ba5d04d7c131470c69..61bf86a1380060ff118c31b5070b2870
|
||||
}
|
||||
if (entity instanceof final Mob mob && mob.getTarget() != null) {
|
||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||
index 85e287bc66c4e2be6f703c3206fe53bba3d15a6d..fe7232b25458f363dfc43dd1eccab5b95212fc10 100644
|
||||
index c08fb102fb9d325cf7c41e32b32833e70474fecb..3533a8fe46f255025db70242b214fcd51916a6d0 100644
|
||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2236,6 +2236,20 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
@@ -2243,6 +2243,20 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
|
||||
return this.lastClimbablePos;
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ As part of: Airplane (https://github.com/TECHNOVE/Airplane)
|
||||
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
|
||||
|
||||
diff --git a/net/minecraft/world/phys/shapes/EntityCollisionContext.java b/net/minecraft/world/phys/shapes/EntityCollisionContext.java
|
||||
index a2467db9f096368810e3c1ab8ddabf610fa38379..953c28670cecd6a8ceae1c9c3a490df99acd1a73 100644
|
||||
index a2d7eb19fc8963f80c94761138b7c43af0e44fe9..c9b1f73cffd2bcfb426324dcbe15fd599fac0bbf 100644
|
||||
--- a/net/minecraft/world/phys/shapes/EntityCollisionContext.java
|
||||
+++ b/net/minecraft/world/phys/shapes/EntityCollisionContext.java
|
||||
@@ -12,40 +12,35 @@ import net.minecraft.world.level.block.state.BlockState;
|
||||
@@ -41,18 +41,18 @@ index a2467db9f096368810e3c1ab8ddabf610fa38379..953c28670cecd6a8ceae1c9c3a490df9
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
protected EntityCollisionContext(Entity entity, boolean canStandOnFluid, boolean placement) {
|
||||
protected EntityCollisionContext(Entity entity, boolean alwaysCollideWithFluid, boolean placement) {
|
||||
- this(
|
||||
- entity.isDescending(),
|
||||
- placement,
|
||||
- entity.getY(),
|
||||
- entity instanceof LivingEntity livingEntity ? livingEntity.getMainHandItem() : ItemStack.EMPTY,
|
||||
- canStandOnFluid,
|
||||
- alwaysCollideWithFluid,
|
||||
- entity
|
||||
- );
|
||||
+ // DivineMC start - Pufferfish: Make EntityCollisionContext a live representation
|
||||
+ this.placement = placement;
|
||||
+ this.alwaysCollideWithFluid = canStandOnFluid;
|
||||
+ this.alwaysCollideWithFluid = alwaysCollideWithFluid;
|
||||
+ this.entity = entity;
|
||||
+ // DivineMC end - Pufferfish: Make EntityCollisionContext a live representation
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/net/minecraft/server/MinecraftServer.java
|
||||
@@ -986,6 +_,13 @@
|
||||
@@ -1005,6 +_,13 @@
|
||||
if (this.hasStopped) return;
|
||||
this.hasStopped = true;
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
if (!hasLoggedStop && isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging
|
||||
shutdownThread = Thread.currentThread(); // Paper - Improved watchdog support
|
||||
org.spigotmc.WatchdogThread.doStop(); // Paper - Improved watchdog support
|
||||
@@ -1078,6 +_,7 @@
|
||||
@@ -1097,6 +_,7 @@
|
||||
// Paper end - rewrite chunk system
|
||||
// Paper start - Improved watchdog support - move final shutdown items here
|
||||
Util.shutdownExecutors();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1070,6 +_,7 @@
|
||||
@@ -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()));
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
@@ -51,7 +_,7 @@
|
||||
|
||||
@Override
|
||||
public void sendSystemMessage(Component component) {
|
||||
- this.buffer.append(component.getString());
|
||||
+ this.buffer.append(component.getString()).append(System.lineSeparator()); // DivineMC - Fix MC-7569
|
||||
public void sendSystemMessage(Component message) {
|
||||
- this.buffer.append(message.getString());
|
||||
+ this.buffer.append(message.getString()).append(System.lineSeparator()); // DivineMC - Fix MC-7569
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
if (this.repositionEntityAfterLoad()) {
|
||||
this.reapplyPosition();
|
||||
}
|
||||
@@ -4298,6 +_,7 @@
|
||||
@@ -4297,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()) {
|
||||
@@ -4527,6 +_,7 @@
|
||||
@@ -4526,6 +_,7 @@
|
||||
}
|
||||
|
||||
public final void setBoundingBox(AABB bb) {
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
return;
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -2793,6 +_,7 @@
|
||||
@@ -2799,6 +_,7 @@
|
||||
}
|
||||
|
||||
protected void updateSwingTime() {
|
||||
@@ -25,7 +25,7 @@
|
||||
int currentSwingDuration = this.getCurrentSwingDuration();
|
||||
if (this.swinging) {
|
||||
this.swingTime++;
|
||||
@@ -3309,7 +_,13 @@
|
||||
@@ -3315,7 +_,13 @@
|
||||
}
|
||||
|
||||
protected float getFlyingSpeed() {
|
||||
@@ -40,7 +40,7 @@
|
||||
}
|
||||
|
||||
public float getSpeed() {
|
||||
@@ -3758,6 +_,7 @@
|
||||
@@ -3764,6 +_,7 @@
|
||||
protected void updateFallFlying() {
|
||||
this.checkFallDistanceAccumulation();
|
||||
if (!this.level().isClientSide()) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/world/level/GameRules.java
|
||||
+++ b/net/minecraft/world/level/GameRules.java
|
||||
@@ -301,7 +_,7 @@
|
||||
@@ -299,7 +_,7 @@
|
||||
}
|
||||
|
||||
private GameRules(Map<GameRules.Key<?>, GameRules.Value<?>> rules, FeatureFlagSet enabledFeatures) {
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
@@ -392,7 +_,7 @@
|
||||
|
||||
// CraftBukkit start - add method
|
||||
public org.bukkit.inventory.InventoryHolder getOwner() {
|
||||
public @Nullable org.bukkit.inventory.InventoryHolder getOwner() {
|
||||
- return getOwner(true);
|
||||
+ return getOwner(org.bxteam.divinemc.config.DivineConfig.PerformanceCategory.createSnapshotOnRetrievingBlockState); // DivineMC - EMC: Don't use snapshots for acquiring blockstate
|
||||
+ return getOwner(org.bxteam.divinemc.config.DivineConfig.PerformanceCategory.createSnapshotOnRetrievingBlockState); // DivineMC - EMC: Don't use snapshots for acquiring blockstate;
|
||||
}
|
||||
|
||||
public org.bukkit.inventory.InventoryHolder getOwner(boolean useSnapshot) {
|
||||
public @Nullable org.bukkit.inventory.InventoryHolder getOwner(boolean useSnapshot) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java
|
||||
+++ b/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java
|
||||
@@ -160,6 +_,7 @@
|
||||
@@ -162,6 +_,7 @@
|
||||
}
|
||||
|
||||
this.vanillaRender.buffer = colors.array(); // Paper - Use Vanilla map renderer when possible
|
||||
|
||||
@@ -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 60350a65c8073bef3acb8432e41334430eab01cd..782cfca296cd0f5cced549d29ce6eb94ec74319c 100644
|
||||
index 0b536e4ee904cba3a724d98d491185cfded3d723..9baeecc248fe9ee6d7bb6c63d6b390b048a5649c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -2133,4 +2133,18 @@ public class CraftEventFactory {
|
||||
@@ -2132,4 +2132,18 @@ public class CraftEventFactory {
|
||||
event.callEvent();
|
||||
return event.isAllowed();
|
||||
}
|
||||
|
||||
@@ -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 782cfca296cd0f5cced549d29ce6eb94ec74319c..36be4be04cc63b387680be6233fed00123fe6c9f 100644
|
||||
index 9baeecc248fe9ee6d7bb6c63d6b390b048a5649c..3a36b1c3602292a0264cfbe02b9659878fd7a217 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -1804,6 +1804,26 @@ public class CraftEventFactory {
|
||||
@@ -1803,6 +1803,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) {
|
||||
|
||||
@@ -2,7 +2,7 @@ group = org.bxteam.divinemc
|
||||
version=1.21.10-R0.1-SNAPSHOT
|
||||
|
||||
mcVersion=1.21.10
|
||||
purpurRef=49f2891215bdda59a2c1d79f6b96b08d40229a3b
|
||||
purpurRef=45bc9f4160f56de9effebb44241a819e198abd8c
|
||||
experimental=true
|
||||
|
||||
org.gradle.configuration-cache=true
|
||||
|
||||
Reference in New Issue
Block a user