9
0
mirror of https://github.com/Dreeam-qwq/Gale.git synced 2025-12-23 16:59:23 +00:00

Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@3b45454 Port random ticking optimisation from Moonrise
PaperMC/Paper@77fcb29 Apply incremental player/level saving patch
PaperMC/Paper@9fd7710 Apply automatic regionfile header recalculation patch
PaperMC/Paper@b57b24d Do not try to stop main thread during watchdog shutdown
This commit is contained in:
Dreeam
2024-07-16 04:58:59 +08:00
parent 655a887c4c
commit c38b773dc4
105 changed files with 140 additions and 168 deletions

View File

@@ -64,4 +64,5 @@ Binaries are licensed under GPL-3.0.
## TODO
check Cache CubeVoxelShape shape array (crash)
check performance of Use aging cache for biome temperatures
check backupRegionFile() in Add xor-shift random patch

View File

@@ -2,7 +2,7 @@ group=org.galemc.gale
version=1.21-R0.1-SNAPSHOT
mcVersion=1.21
paperRef=8b230185755c54a85194d85461f0a4262185c10c
paperRef=b57b24d549c65ddc5eb3edcc1ecc6aad2826dbd8
org.gradle.caching=false
org.gradle.parallel=true

View File

@@ -463,25 +463,6 @@ index 790bad0494454ca12ee152e3de6da3da634d9b20..2596e0ee4df5b96f181e28a742ef3459
}
@Override
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 54e581db732c3a104142a2bbc228ecbe16aec0fc..bccbc04c3322db5050871abcbf5ef592c38e95d4 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1029,7 +1029,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
shutdownThread = Thread.currentThread();
org.spigotmc.WatchdogThread.doStop(); // Paper
if (!isSameThread()) {
- MinecraftServer.LOGGER.info("Stopping main thread (Ignore any thread death message you see! - DO NOT REPORT THREAD DEATH TO PAPER)");
+ // Gale start - branding changes
+ /*
+ We do not want people to report thread issues to Paper,
+ but we do want people to report thread issues to Gale.
+ */
+ MinecraftServer.LOGGER.info("Stopping main thread (Ignore any thread death message you see! - DO NOT REPORT THREAD DEATH TO PAPER - If you think this is a Gale bug, please report it at https://github.com/GaleMC/Gale/issues)");
+ // Gale end - branding changes
while (this.getRunningThread().isAlive()) {
this.getRunningThread().stop();
try {
diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java
index bb1a60180e58c1333e7bb33e8acf1b0225eda8a8..4d037e899e0b5548be406ad55acd2062603b7da1 100644
--- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java
@@ -496,10 +477,10 @@ index bb1a60180e58c1333e7bb33e8acf1b0225eda8a8..4d037e899e0b5548be406ad55acd2062
DamageSource damageSource = this.cloneInstance();
damageSource.customEventDamager = entity;
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java
index 0615fd82b71efb9a397de01615050e6d906c2844..b797ca4b68d110bbf64eac4ae422a7bc8bce145a 100644
index 40689256711cc94a806ca1da346f4f62eda31526..11cf6a20550e252501a92be5bdffafcff007cbf9 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java
@@ -146,7 +146,13 @@ public class RegionFileStorage implements AutoCloseable, ca.spottedleaf.moonrise
@@ -177,7 +177,13 @@ public class RegionFileStorage implements AutoCloseable, ca.spottedleaf.moonrise
// Paper start
private static void printOversizedLog(String msg, Path file, int x, int z) {

View File

@@ -189,7 +189,7 @@ index 8f23276796037d048eb114952891a01a40971b3e..ac9ceb54b894119cb30a22d37e035e2c
}
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index bccbc04c3322db5050871abcbf5ef592c38e95d4..6c7ab5870ec1393f1e23e6b6e4c346ec547f1eb8 100644
index aeae4f8d4ead24db315631c3d2c0b930d0d51e02..4dac66a7c5750e130db7bb5181672a879f83ce98 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -3,9 +3,6 @@ package net.minecraft.server;
@@ -289,10 +289,10 @@ index 7d82cc6b847124cf4225428ba310309544928148..ac703c9ef504779dffbd8d7e676dbb51
if (this.convertOldUsers()) {
this.getProfileCache().save(false); // Paper
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 4e5fc39f3839d4d626925bcef1c83415376195f4..6ff76ecf4c0f30e2ede834c3ec5199ba65295481 100644
index b3ca52c0a1c4c9c2f4d86b83ad2d6308e3ba9e7c..90f5c98ed793fafb4b6f95b66f35583d15af77d8 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -536,7 +536,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -527,7 +527,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
// Holder holder = worlddimension.type(); // CraftBukkit - decompile error
// Objects.requireNonNull(minecraftserver); // CraftBukkit - decompile error
@@ -302,7 +302,7 @@ index 4e5fc39f3839d4d626925bcef1c83415376195f4..6ff76ecf4c0f30e2ede834c3ec5199ba
this.convertable = convertable_conversionsession;
this.uuid = WorldUUID.getUUID(convertable_conversionsession.levelDirectory.path().toFile());
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index a72a189f537e0a64c2c31e7eefbb49fa896a6f3c..fa7b08052d57a5425020b391a7dec3b6ce8a81b7 100644
index bbb0d543197001fe8bb5179dde7201327fec4274..3a791b1f4b2e652408faf9ae133cef1e3f89b980 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -12,7 +12,6 @@ import java.util.function.Supplier;
@@ -343,9 +343,9 @@ index a72a189f537e0a64c2c31e7eefbb49fa896a6f3c..fa7b08052d57a5425020b391a7dec3b6
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
@@ -652,9 +656,10 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -684,9 +688,10 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
}
// Paper end - optimise collisions
// Paper end - optimise random ticking
- protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config & Anti-Xray
+ protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.function.Function<org.spigotmc.SpigotWorldConfig, GaleWorldConfiguration> galeWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config & Anti-Xray // Gale - Gale configuration

View File

@@ -7,10 +7,10 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
Gale - https://galemc.org
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 6c7ab5870ec1393f1e23e6b6e4c346ec547f1eb8..ab978cb0ed5ae972beb642adf644cdae142f70ae 100644
index 4dac66a7c5750e130db7bb5181672a879f83ce98..5f5cad9b8f978b251bec18e89de9a657122e4c5f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1593,7 +1593,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1578,7 +1578,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void tickServer(BooleanSupplier shouldKeepTicking) {
@@ -19,7 +19,7 @@ index 6c7ab5870ec1393f1e23e6b6e4c346ec547f1eb8..ab978cb0ed5ae972beb642adf644cdae
long i = Util.getNanos();
// Paper start - move oversleep into full server tick
@@ -1651,7 +1651,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1648,7 +1648,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.logTickMethodTime(i);
this.profiler.pop();
org.spigotmc.WatchdogThread.tick(); // Spigot

View File

@@ -164,7 +164,7 @@ index e9775b4506909bee65a74964f0d5391a0513de1d..1c4dd8acdcd571aceffe4b78599ca2c7
}
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6eccdf0c63 100644
index 5f5cad9b8f978b251bec18e89de9a657122e4c5f..ece0bbc6524aa2db40a480b575d2e257fe4d84cd 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -103,18 +103,9 @@ import net.minecraft.util.datafix.DataFixers;
@@ -215,8 +215,8 @@ index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6e
this.random = RandomSource.create();
this.port = -1;
this.levels = Maps.newLinkedHashMap();
@@ -1047,9 +1023,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
@@ -1032,9 +1008,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
org.spigotmc.WatchdogThread.doStop(); // Paper
// Paper end
// CraftBukkit end
- if (this.metricsRecorder.isRecording()) {
@@ -225,7 +225,7 @@ index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6e
MinecraftServer.LOGGER.info("Stopping server");
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
@@ -1304,16 +1277,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1289,16 +1262,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
boolean flag = i == 0L;
@@ -242,7 +242,7 @@ index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6e
this.tickServer(flag ? () -> {
return false;
} : this::haveTime);
@@ -1324,7 +1290,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1309,7 +1275,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new RuntimeException("Chunk system crash propagated to tick()", crash);
}
// Paper end - rewrite chunk system
@@ -250,7 +250,7 @@ index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6e
this.mayHaveDelayedTasks = true;
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);
this.startMeasuringTaskExecutionTime();
@@ -1334,9 +1299,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1319,9 +1284,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickRateManager.endTickWork();
}
@@ -260,7 +260,7 @@ index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6e
this.isReady = true;
JvmProfiler.INSTANCE.onServerTick(this.smoothedTickTimeMillis);
}
@@ -1546,7 +1509,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1531,7 +1494,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void doRunTask(TickTask ticktask) { // CraftBukkit - decompile error
@@ -268,17 +268,23 @@ index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6e
super.doRunTask(ticktask);
}
@@ -1619,9 +1581,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.ticksUntilAutosave = this.autosavePeriod;
// CraftBukkit end
MinecraftServer.LOGGER.debug("Autosave started");
- this.profiler.push("save");
this.saveEverything(true, false, false);
- this.profiler.pop();
MinecraftServer.LOGGER.debug("Autosave finished");
@@ -1604,7 +1566,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (playerSaveInterval < 0) {
playerSaveInterval = autosavePeriod;
}
- this.profiler.push("save");
final boolean fullSave = autosavePeriod > 0 && this.tickCount % autosavePeriod == 0;
try {
this.isSaving = true;
@@ -1619,7 +1580,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} finally {
this.isSaving = false;
}
- this.profiler.pop();
// Paper end - Incremental chunk and player saving
io.papermc.paper.util.CachedLists.reset(); // Paper
@@ -1635,7 +1595,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper start - move executeAll() into full server tick timing
@@ -1632,7 +1592,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long remaining = (TICK_TIME - (endTime - lastTick)) - catchupTime;
new com.destroystokyo.paper.event.server.ServerTickEndEvent(this.tickCount, ((double)(endTime - lastTick) / 1000000D), remaining).callEvent();
// Paper end - Server Tick Events
@@ -286,7 +292,7 @@ index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6e
long j = Util.getNanos() - i;
int k = this.tickCount % 100;
@@ -1649,7 +1608,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1646,7 +1605,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickTimes60s.add(this.tickCount, j);
// Paper end - Add tick times API and /mspt command
this.logTickMethodTime(i);
@@ -294,7 +300,7 @@ index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6e
org.spigotmc.WatchdogThread.tick(); // Spigot
co.aikar.timings.TimingsManager.FULL_SERVER_TICK.stopTimingFullServerTick(); // Paper // Gale - final timings calls
}
@@ -1740,11 +1698,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1737,11 +1695,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
});
// Paper end - Folia scheduler API
io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
@@ -306,7 +312,7 @@ index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6e
//Iterator iterator = this.getAllLevels().iterator(); // Paper - Throw exception on world create while being ticked; moved down
// CraftBukkit start
@@ -1786,21 +1742,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1783,21 +1739,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers
worldserver.updateLagCompensationTick(); // Paper - lag compensation
@@ -328,7 +334,7 @@ index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6e
try {
worldserver.timings.doTick.startTiming(); // Spigot
worldserver.tick(shouldKeepTicking);
@@ -1812,17 +1759,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1809,17 +1756,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
throw new ReportedException(crashreport);
}
@@ -346,7 +352,7 @@ index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6e
MinecraftTimings.playerListTimer.startTiming(); // Spigot // Paper
this.playerList.tick();
MinecraftTimings.playerListTimer.stopTiming(); // Spigot // Paper
@@ -1830,15 +1773,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1827,15 +1770,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
GameTestTicker.SINGLETON.tick();
}
@@ -362,7 +368,7 @@ index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6e
iterator = this.playerList.getPlayers().iterator();
while (iterator.hasNext()) {
@@ -1848,7 +1788,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1845,7 +1785,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
entityplayer.connection.resumeFlushing();
}
@@ -370,7 +376,7 @@ index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6e
}
private void synchronizeTime(ServerLevel world) {
@@ -1856,7 +1795,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1853,7 +1792,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void forceTimeSynchronization() {
@@ -378,7 +384,7 @@ index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6e
Iterator iterator = this.getAllLevels().iterator();
while (iterator.hasNext()) {
@@ -1864,8 +1802,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1861,8 +1799,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.synchronizeTime(worldserver);
}
@@ -387,7 +393,7 @@ index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6e
}
public boolean isLevelEnabled(Level world) {
@@ -2577,7 +2513,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2574,7 +2510,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public ProfilerFiller getProfiler() {
@@ -396,7 +402,7 @@ index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6e
}
public abstract boolean isSingleplayerOwner(GameProfile profile);
@@ -2822,53 +2758,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2819,53 +2755,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
// CraftBukkit end
@@ -450,7 +456,7 @@ index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6e
public Path getWorldPath(LevelResource worldSavePath) {
return this.storageSource.getLevelPath(worldSavePath);
}
@@ -2918,25 +2807,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2915,25 +2804,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
return this.isSaving;
}
@@ -476,7 +482,7 @@ index ab978cb0ed5ae972beb642adf644cdae142f70ae..9aceca3b61a6b79be0637268faf21e6e
public int getMaxChainedNeighborUpdates() {
return 1000000;
}
@@ -3035,56 +2905,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -3032,56 +2902,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
}
@@ -643,7 +649,7 @@ index 6df79aab2f0a75bbe347dc92e9ed5d62ceec7983..d3c0c50646794b36ffa5c6a8f6292eca
public boolean hasWork() {
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 36fbbf45ae064a345bf4aafbb9ac527197326eb9..2baf654b926d96c198ffe31835a7a45748078194 100644
index 3575fe6f57457ab865a29d20836512f6f5a98115..ccd6a21e502bfd25a0a84fdf1b6d6f2606cf7156 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -22,7 +22,6 @@ import net.minecraft.network.protocol.Packet;
@@ -752,7 +758,7 @@ index 36fbbf45ae064a345bf4aafbb9ac527197326eb9..2baf654b926d96c198ffe31835a7a457
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 6ff76ecf4c0f30e2ede834c3ec5199ba65295481..4919999f2df67a97ad0607f90fc3dc28a787e817 100644
index 90f5c98ed793fafb4b6f95b66f35583d15af77d8..f027997cb227bbadf6000ddb236fa6622304216d 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -80,7 +80,6 @@ import net.minecraft.util.ProgressListener;
@@ -763,7 +769,7 @@ index 6ff76ecf4c0f30e2ede834c3ec5199ba65295481..4919999f2df67a97ad0607f90fc3dc28
import net.minecraft.util.valueproviders.IntProvider;
import net.minecraft.util.valueproviders.UniformInt;
import net.minecraft.world.DifficultyInstance;
@@ -536,15 +535,17 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -527,15 +526,17 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
// Holder holder = worlddimension.type(); // CraftBukkit - decompile error
// Objects.requireNonNull(minecraftserver); // CraftBukkit - decompile error
@@ -784,7 +790,7 @@ index 6ff76ecf4c0f30e2ede834c3ec5199ba65295481..4919999f2df67a97ad0607f90fc3dc28
this.pathTypesByPosCache = new PathTypeCache();
this.navigatingMobs = new ObjectOpenHashSet();
this.blockEvents = new ObjectLinkedOpenHashSet();
@@ -657,16 +658,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -648,16 +649,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
public void tick(BooleanSupplier shouldKeepTicking) {
@@ -801,7 +807,7 @@ index 6ff76ecf4c0f30e2ede834c3ec5199ba65295481..4919999f2df67a97ad0607f90fc3dc28
this.advanceWeatherCycle();
}
@@ -698,30 +695,23 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -689,30 +686,23 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
this.tickTime();
}
@@ -832,7 +838,7 @@ index 6ff76ecf4c0f30e2ede834c3ec5199ba65295481..4919999f2df67a97ad0607f90fc3dc28
if (flag) {
this.timings.doSounds.startTiming(); // Spigot
this.runBlockEvents();
@@ -729,7 +719,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -720,7 +710,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
this.handlingTick = false;
@@ -840,7 +846,7 @@ index 6ff76ecf4c0f30e2ede834c3ec5199ba65295481..4919999f2df67a97ad0607f90fc3dc28
boolean flag1 = !paperConfig().unsupportedSettings.disableWorldTickingWhenEmpty || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players // Paper - restore this
if (flag1) {
@@ -737,12 +726,9 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -728,12 +717,9 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
if (flag1 || this.emptyTime++ < 300) {
@@ -853,7 +859,7 @@ index 6ff76ecf4c0f30e2ede834c3ec5199ba65295481..4919999f2df67a97ad0607f90fc3dc28
}
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
@@ -752,9 +738,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -743,9 +729,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed
entity.discard();
} else if (!tickratemanager.isEntityFrozen(entity)) {
@@ -863,7 +869,7 @@ index 6ff76ecf4c0f30e2ede834c3ec5199ba65295481..4919999f2df67a97ad0607f90fc3dc28
if (true || this.chunkSource.chunkMap.getDistanceManager().inEntityTickingRange(entity.chunkPosition().toLong())) { // Paper - rewrite chunk system
Entity entity1 = entity.getVehicle();
@@ -766,22 +750,17 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -757,22 +741,17 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
entity.stopRiding();
}
@@ -886,7 +892,7 @@ index 6ff76ecf4c0f30e2ede834c3ec5199ba65295481..4919999f2df67a97ad0607f90fc3dc28
}
@Override
@@ -836,9 +815,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -884,9 +863,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
boolean flag = this.isRaining();
int j = chunkcoordintpair.getMinBlockX();
int k = chunkcoordintpair.getMinBlockZ();
@@ -896,7 +902,7 @@ index 6ff76ecf4c0f30e2ede834c3ec5199ba65295481..4919999f2df67a97ad0607f90fc3dc28
if (!this.paperConfig().environment.disableThunder && flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && this.random.nextInt(this.spigotConfig.thunderChance) == 0) { // Spigot // Paper - Option to disable thunder
BlockPos blockposition = this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15));
@@ -867,8 +844,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -915,8 +892,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
}
@@ -905,30 +911,14 @@ index 6ff76ecf4c0f30e2ede834c3ec5199ba65295481..4919999f2df67a97ad0607f90fc3dc28
if (!this.paperConfig().environment.disableIceAndSnow) { // Paper - Option to disable ice and snow
for (int l = 0; l < randomTickSpeed; ++l) {
if (this.random.nextInt(48) == 0) {
@@ -877,7 +852,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -925,14 +900,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
} // Paper - Option to disable ice and snow
- gameprofilerfiller.popPush("tickBlocks");
timings.chunkTicksBlocks.startTiming(); // Paper
if (randomTickSpeed > 0) {
LevelChunkSection[] achunksection = chunk.getSections();
@@ -892,7 +866,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
for (int l1 = 0; l1 < randomTickSpeed; ++l1) {
BlockPos blockposition1 = this.getBlockRandomPos(j, k1, k, 15);
- gameprofilerfiller.push("randomTick");
BlockState iblockdata = chunksection.getBlockState(blockposition1.getX() - j, blockposition1.getY() - k1, blockposition1.getZ() - k);
if (iblockdata.isRandomlyTicking()) {
@@ -905,14 +878,12 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
fluid.randomTick(this, blockposition1, this.random);
}
- gameprofilerfiller.pop();
}
}
}
this.optimiseRandomTick(chunk, randomTickSpeed); // Paper - optimise random ticking
}
timings.chunkTicksBlocks.stopTiming(); // Paper
@@ -936,7 +926,7 @@ index 6ff76ecf4c0f30e2ede834c3ec5199ba65295481..4919999f2df67a97ad0607f90fc3dc28
}
@VisibleForTesting
@@ -1240,19 +1211,13 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1260,19 +1233,13 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
try {
// Paper end - timings
entity.setOldPosAndRot();
@@ -956,7 +946,7 @@ index 6ff76ecf4c0f30e2ede834c3ec5199ba65295481..4919999f2df67a97ad0607f90fc3dc28
} finally { timer.stopTiming(); } // Paper - timings
Iterator iterator = entity.getPassengers().iterator();
@@ -1281,12 +1246,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1301,12 +1268,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
// Paper end
passenger.setOldPosAndRot();
++passenger.tickCount;
@@ -969,7 +959,7 @@ index 6ff76ecf4c0f30e2ede834c3ec5199ba65295481..4919999f2df67a97ad0607f90fc3dc28
// Paper start - EAR 2
if (isActive) {
passenger.rideTick();
@@ -1298,7 +1258,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1318,7 +1280,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
vehicle.positionRider(passenger);
}
// Paper end - EAR 2
@@ -978,10 +968,10 @@ index 6ff76ecf4c0f30e2ede834c3ec5199ba65295481..4919999f2df67a97ad0607f90fc3dc28
while (iterator.hasNext()) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 9d1e68c09fa7093cf0f6fa636f90cb15a44cbb38..57cc965c7147d0a1fac150e7bcae0f76d0b5c5ab 100644
index 71882332ee61023d656a6de3955ca34fcef1f536..ca7dba4f8b9a4d87fe7e990abd3f575db100bff6 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1373,7 +1373,6 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1374,7 +1374,6 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
this.unsetRemoved();
*/
// CraftBukkit end
@@ -989,7 +979,7 @@ index 9d1e68c09fa7093cf0f6fa636f90cb15a44cbb38..57cc965c7147d0a1fac150e7bcae0f76
if (worldserver != null && resourcekey == LevelStem.OVERWORLD && worldserver.getTypeKey() == LevelStem.NETHER) { // CraftBukkit - empty to fall through to null to event
this.enteredNetherPosition = this.position();
}
@@ -1389,8 +1388,6 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1390,8 +1389,6 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
worldserver = ((CraftWorld) exit.getWorld()).getHandle();
// CraftBukkit end
@@ -998,7 +988,7 @@ index 9d1e68c09fa7093cf0f6fa636f90cb15a44cbb38..57cc965c7147d0a1fac150e7bcae0f76
// CraftBukkit start
this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds
LevelData worlddata = worldserver.getLevelData();
@@ -1407,7 +1404,6 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -1408,7 +1405,6 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
this.connection.teleport(exit); // CraftBukkit - use internal teleport without event
this.connection.resetPosition();
worldserver.addDuringTeleport(this);
@@ -1777,7 +1767,7 @@ index a248d859cbce48f4a34c4771a7acffc17d7edc84..fbcf01243381ec5bb9d81b45ace22a86
if (this.fire) {
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index fa7b08052d57a5425020b391a7dec3b6ce8a81b7..9be6e2cf104f39bce8703b2cf235804e286f1a56 100644
index 3a791b1f4b2e652408faf9ae133cef1e3f89b980..950d8d94ce2ae521b50b6aa523a92fe2be99a250 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -133,7 +133,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1804,16 +1794,16 @@ index fa7b08052d57a5425020b391a7dec3b6ce8a81b7..9be6e2cf104f39bce8703b2cf235804e
final List<Entity> ret = new java.util.ArrayList<>();
((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemLevel)this).moonrise$getEntityLookup().getHardCollidingEntities(entity, box, ret, predicate);
@@ -656,7 +653,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -688,7 +685,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
}
// Paper end - optimise collisions
// Paper end - optimise random ticking
- protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.function.Function<org.spigotmc.SpigotWorldConfig, GaleWorldConfiguration> galeWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config & Anti-Xray // Gale - Gale configuration
+ protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.function.Function<org.spigotmc.SpigotWorldConfig, GaleWorldConfiguration> galeWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config & Anti-Xray // Gale - Gale configuration // Gale - Purpur - remove vanilla profiler
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config
this.galeConfig = galeWorldConfigCreator.apply(this.spigotConfig); // Gale - Gale configuration
@@ -671,7 +668,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -703,7 +700,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
}
// CraftBukkit end
@@ -1821,7 +1811,7 @@ index fa7b08052d57a5425020b391a7dec3b6ce8a81b7..9be6e2cf104f39bce8703b2cf235804e
this.levelData = worlddatamutable;
this.dimensionTypeRegistration = holder;
final DimensionType dimensionmanager = (DimensionType) holder.value();
@@ -1339,9 +1335,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1371,9 +1367,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
}
protected void tickBlockEntities() {
@@ -1831,7 +1821,7 @@ index fa7b08052d57a5425020b391a7dec3b6ce8a81b7..9be6e2cf104f39bce8703b2cf235804e
this.timings.tileEntityPending.startTiming(); // Spigot
this.tickingBlockEntities = true;
if (!this.pendingBlockEntityTickers.isEmpty()) {
@@ -1384,7 +1377,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1416,7 +1409,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
this.timings.tileEntityTick.stopTiming(); // Spigot
this.tickingBlockEntities = false;
co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper
@@ -1839,7 +1829,7 @@ index fa7b08052d57a5425020b391a7dec3b6ce8a81b7..9be6e2cf104f39bce8703b2cf235804e
this.spigotConfig.currentPrimedTnt = 0; // Spigot
}
@@ -1596,7 +1588,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1628,7 +1620,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@Override
public List<Entity> getEntities(@Nullable Entity except, AABB box, Predicate<? super Entity> predicate) {
@@ -1847,7 +1837,7 @@ index fa7b08052d57a5425020b391a7dec3b6ce8a81b7..9be6e2cf104f39bce8703b2cf235804e
// Paper start - rewrite chunk system
final List<Entity> ret = new java.util.ArrayList<>();
@@ -1622,8 +1613,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1654,8 +1645,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
public <T extends Entity> void getEntities(final EntityTypeTest<Entity, T> entityTypeTest,
final AABB boundingBox, final Predicate<? super T> predicate,
final List<? super T> into, final int maxCount) {
@@ -1856,7 +1846,7 @@ index fa7b08052d57a5425020b391a7dec3b6ce8a81b7..9be6e2cf104f39bce8703b2cf235804e
if (entityTypeTest instanceof net.minecraft.world.entity.EntityType<T> byType) {
if (maxCount != Integer.MAX_VALUE) {
((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemLevel)this).moonrise$getEntityLookup().getEntities(byType, boundingBox, into, predicate, maxCount);
@@ -1917,11 +1906,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1949,11 +1938,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
}
public ProfilerFiller getProfiler() {

View File

@@ -31,12 +31,12 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 9be6e2cf104f39bce8703b2cf235804e286f1a56..d54120728655bc32d480f16161e302dc897d4f5f 100644
index 950d8d94ce2ae521b50b6aa523a92fe2be99a250..e82f6b86e70410b43335c0f6bf9fd9e85a9bb9a2 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -653,6 +653,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -685,6 +685,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
}
// Paper end - optimise collisions
// Paper end - optimise random ticking
+ // Gale start - Airplane - inline level height
+ private final int minBuildHeight, levelHeightAccessorMinSection, height, maxBuildHeight, levelHeightAccessorMaxSection;
@@ -50,7 +50,7 @@ index 9be6e2cf104f39bce8703b2cf235804e286f1a56..d54120728655bc32d480f16161e302dc
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.function.Function<org.spigotmc.SpigotWorldConfig, GaleWorldConfiguration> galeWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config & Anti-Xray // Gale - Gale configuration // Gale - Purpur - remove vanilla profiler
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config
@@ -672,6 +681,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -704,6 +713,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
this.dimensionTypeRegistration = holder;
final DimensionType dimensionmanager = (DimensionType) holder.value();

View File

@@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 4919999f2df67a97ad0607f90fc3dc28a787e817..9ff8779e47c82fd2fdfd43a07a256062140c64d7 100644
index f027997cb227bbadf6000ddb236fa6622304216d..8b8dbaf0a2cb8cb39bf178edb1a78f60f2043096 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -750,7 +750,20 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -741,7 +741,20 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
entity.stopRiding();
}
@@ -57,10 +57,10 @@ index 4919999f2df67a97ad0607f90fc3dc28a787e817..9ff8779e47c82fd2fdfd43a07a256062
}
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index d54120728655bc32d480f16161e302dc897d4f5f..3335409c3a5fbe3234a3de10d54189a82bf23043 100644
index e82f6b86e70410b43335c0f6bf9fd9e85a9bb9a2..4ec5f84925a52d6391439ec183c04be0114b39b5 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1400,15 +1400,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1432,15 +1432,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
try {
tickConsumer.accept(entity);
} catch (Throwable throwable) {

View File

@@ -142,18 +142,18 @@ index 4b48cac0c8861dfaad16d5ecfa3e73c9b5db0bb7..a4091552f900b06fd629a22b0685759d
if (vec3d.length() > 0.0D) {
if (k1 > 0) {
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
index d4bd71f70f80ea74947e6d478ff636be2ab7d432..93834db062943a77432920064cff084e9fb45141 100644
index c3b1caa352b988ec44fa2b2eb0536517711f5460..33747ef8211066155cd70ce2818862cf3e79db53 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
@@ -25,6 +25,7 @@ public class LevelChunkSection implements ca.spottedleaf.moonrise.patches.collis
@@ -25,6 +25,7 @@ public class LevelChunkSection implements ca.spottedleaf.moonrise.patches.block_
public final PalettedContainer<BlockState> states;
// CraftBukkit start - read/write
private PalettedContainer<Holder<Biome>> biomes;
+ public short fluidStateCount; // Gale - Airplane - reduce entity fluid lookups if no fluids
// Paper start - optimise collisions
private int specialCollidingBlocks;
@@ -91,6 +92,7 @@ public class LevelChunkSection implements ca.spottedleaf.moonrise.patches.collis
// Paper start - block counting
private static final it.unimi.dsi.fastutil.ints.IntArrayList FULL_LIST = new it.unimi.dsi.fastutil.ints.IntArrayList(16*16*16);
@@ -104,6 +105,7 @@ public class LevelChunkSection implements ca.spottedleaf.moonrise.patches.block_
if (!fluid.isEmpty()) {
--this.tickingFluidCount;
@@ -161,15 +161,15 @@ index d4bd71f70f80ea74947e6d478ff636be2ab7d432..93834db062943a77432920064cff084e
}
if (!state.isAir()) {
@@ -102,6 +104,7 @@ public class LevelChunkSection implements ca.spottedleaf.moonrise.patches.collis
@@ -115,6 +117,7 @@ public class LevelChunkSection implements ca.spottedleaf.moonrise.patches.block_
if (!fluid1.isEmpty()) {
++this.tickingFluidCount;
+ ++this.fluidStateCount; // Gale - Airplane - reduce entity fluid lookups if no fluids
}
// Paper start - optimise collisions
@@ -181,6 +184,7 @@ public class LevelChunkSection implements ca.spottedleaf.moonrise.patches.collis
// Paper start - block counting
@@ -208,6 +211,7 @@ public class LevelChunkSection implements ca.spottedleaf.moonrise.patches.block_
if (fluid.isRandomlyTicking()) {
this.tickingFluidCount += paletteCount;
}

View File

@@ -13,10 +13,10 @@ As part of: EmpireCraft (https://github.com/starlis/empirecraft)
Licensed under: MIT (https://opensource.org/licenses/MIT)
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 57cc965c7147d0a1fac150e7bcae0f76d0b5c5ab..d18c3c20b556fbf5146eb7cc614cc1b0e442d52e 100644
index ca7dba4f8b9a4d87fe7e990abd3f575db100bff6..f0ba5738958382cf22033c3c909df9e4ee3c83b6 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -295,6 +295,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -296,6 +296,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
public boolean joining = true;
public boolean sentListPacket = false;
public boolean supressTrackerForLogin = false; // Paper - Fire PlayerJoinEvent when Player is actually ready
@@ -38,7 +38,7 @@ index 13adcb90134f03cf951c3e7eaa3123e033224df6..4ff3dbb9c1bcac000e4ed293cbc1a48a
// CraftBukkit start
if (sync) {
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 5f20606cc2c79ad9a4c4d4d6c9e6a2a31a88b282..b6236d28c6ef3b94625950eb5934ebb11c14c9f4 100644
index dfcaff15a145bf29e8a538d853bb04aec8c36179..3badc71743dbd4a1360081da1819a57bbb3c4e3d 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -350,6 +350,8 @@ public abstract class PlayerList {

View File

@@ -29,7 +29,7 @@ index 14e412ebf75b0e06ab53a1c8f9dd1be6ad1e2680..f962e82e2c70f328a23dc99193d072f8
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index b6236d28c6ef3b94625950eb5934ebb11c14c9f4..a34407257d6281e499498247712a2291c67aed25 100644
index 3badc71743dbd4a1360081da1819a57bbb3c4e3d..98bef79ab2307bf57b13c0ad0f39a5eaf967c3df 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -102,6 +102,7 @@ import net.minecraft.world.phys.Vec3;
@@ -40,7 +40,7 @@ index b6236d28c6ef3b94625950eb5934ebb11c14c9f4..a34407257d6281e499498247712a2291
import org.slf4j.Logger;
// CraftBukkit start
@@ -1373,7 +1374,7 @@ public abstract class PlayerList {
@@ -1386,7 +1387,7 @@ public abstract class PlayerList {
// Paper end
boolean flag = this.verifyChatTrusted(message);

View File

@@ -13,7 +13,7 @@ As part of: JettPack (https://gitlab.com/Titaniumtown/JettPack)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index a34407257d6281e499498247712a2291c67aed25..aabca85eb35085511b24ace968d3bf1b85303445 100644
index 98bef79ab2307bf57b13c0ad0f39a5eaf967c3df..87d547fa078bf0b9bde3f919e081af0921ee6225 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -483,7 +483,13 @@ public abstract class PlayerList {

View File

@@ -102,7 +102,7 @@ index 87d2b3ec165e2e9e4bdbedd7adddaa2130ed507b..1260b9abca3d194507f3f982add32ef0
public void callEntitiesLoadEvent() {
diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java b/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java
index 3cbd02085cc3e2ddb15458faea4b553868cff39a..0bb41d25325011c8afb8ea6caa890ffe0edd4bbb 100644
index 748ab4d637ce463272bae4fdbab6842a27385126..6a3f1d5362b29db321d6c03d0f5ab5e6c915a02d 100644
--- a/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java
+++ b/src/main/java/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java
@@ -1113,7 +1113,7 @@ public final class CollisionUtil {
@@ -487,7 +487,7 @@ index 0ee04fe6ff6a4d09754f326526ae04fe7226bab2..365598a660e79d266f5d4a439cb1ba01
}
}
diff --git a/src/main/java/net/minecraft/util/ZeroBitStorage.java b/src/main/java/net/minecraft/util/ZeroBitStorage.java
index 50040c497a819cd1229042ab3cb057d34a32cacc..e085197001ba0e50dc84fe488cf531cce0950cb1 100644
index 15c5164d0ef41a978c16ee317fa73e97f2480207..0723c625c38e567f13b77dfe2a98684e5a6b9417 100644
--- a/src/main/java/net/minecraft/util/ZeroBitStorage.java
+++ b/src/main/java/net/minecraft/util/ZeroBitStorage.java
@@ -5,7 +5,7 @@ import java.util.function.IntConsumer;
@@ -669,10 +669,10 @@ index fce49b17905ab97e691aa8499a5dfed67adf0c40..986d0151aeeb2ce0f752c424c526fb0c
if (stackPredicate.test(itemStack)) {
ItemEnchantments itemEnchantments = itemStack.getOrDefault(DataComponents.ENCHANTMENTS, ItemEnchantments.EMPTY);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 3335409c3a5fbe3234a3de10d54189a82bf23043..d02812eabc5ab5d5671f227ad83d98a1a0d3bb0c 100644
index 4ec5f84925a52d6391439ec183c04be0114b39b5..9da1b9e2afac5d6a82eeff66f685c032c19e0366 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1689,7 +1689,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -1721,7 +1721,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
public org.bukkit.entity.Entity[] getChunkEntities(int chunkX, int chunkZ) {
ca.spottedleaf.moonrise.patches.chunk_system.level.entity.ChunkEntitySlices slices = ((ServerLevel)this).moonrise$getEntityLookup().getChunk(chunkX, chunkZ);
if (slices == null) {

View File

@@ -214,7 +214,7 @@ index 0000000000000000000000000000000000000000..349618b7f544bf9a30e0796d4d9a2640
+ }
+}
diff --git a/src/main/java/net/minecraft/util/BitStorage.java b/src/main/java/net/minecraft/util/BitStorage.java
index 68648c5a5e3ff079f832092af0f2f801c42d1ede..5a85e499aeb02885cab5ba7d571d6f6ae470bce8 100644
index 19661e106612b8e4e152085fb398db7bd06acc23..f852d2c0c0e37df78dbea28e183aee3572978dee 100644
--- a/src/main/java/net/minecraft/util/BitStorage.java
+++ b/src/main/java/net/minecraft/util/BitStorage.java
@@ -1,6 +1,7 @@
@@ -223,17 +223,17 @@ index 68648c5a5e3ff079f832092af0f2f801c42d1ede..5a85e499aeb02885cab5ba7d571d6f6a
import java.util.function.IntConsumer;
+import net.minecraft.world.level.chunk.Palette;
public interface BitStorage {
public interface BitStorage extends ca.spottedleaf.moonrise.patches.block_counting.BlockCountingBitStorage { // Paper - block counting
int getAndSet(int index, int value);
@@ -20,4 +21,6 @@ public interface BitStorage {
void unpack(int[] out);
BitStorage copy();
@@ -38,4 +39,6 @@ public interface BitStorage extends ca.spottedleaf.moonrise.patches.block_counti
return ret;
}
// Paper end - block counting
+
+ <T> void compact(Palette<T> srcPalette, Palette<T> dstPalette, short[] out); // Gale - Lithium - faster chunk serialization
}
diff --git a/src/main/java/net/minecraft/util/SimpleBitStorage.java b/src/main/java/net/minecraft/util/SimpleBitStorage.java
index 9f438d9c6eb05e43d24e4af68188a3d4c46a938c..0af2e2cc59db228e01afa880f83c2024dade4ff0 100644
index 8acf2f2491a8d9d13392c5e89b2bd5c9918285e1..0b8b0cf58f637d72eae28e21266df14183f11fb1 100644
--- a/src/main/java/net/minecraft/util/SimpleBitStorage.java
+++ b/src/main/java/net/minecraft/util/SimpleBitStorage.java
@@ -2,6 +2,7 @@ package net.minecraft.util;
@@ -244,7 +244,7 @@ index 9f438d9c6eb05e43d24e4af68188a3d4c46a938c..0af2e2cc59db228e01afa880f83c2024
import org.apache.commons.lang3.Validate;
public class SimpleBitStorage implements BitStorage {
@@ -367,4 +368,45 @@ public class SimpleBitStorage implements BitStorage {
@@ -401,4 +402,45 @@ public class SimpleBitStorage implements BitStorage {
super(message);
}
}
@@ -291,13 +291,13 @@ index 9f438d9c6eb05e43d24e4af68188a3d4c46a938c..0af2e2cc59db228e01afa880f83c2024
+
}
diff --git a/src/main/java/net/minecraft/util/ZeroBitStorage.java b/src/main/java/net/minecraft/util/ZeroBitStorage.java
index e085197001ba0e50dc84fe488cf531cce0950cb1..267d22559002741c113755e75e7c75e4232cf644 100644
index 0723c625c38e567f13b77dfe2a98684e5a6b9417..b02a0d9c71550d39aad08ed0932043531b661305 100644
--- a/src/main/java/net/minecraft/util/ZeroBitStorage.java
+++ b/src/main/java/net/minecraft/util/ZeroBitStorage.java
@@ -62,4 +62,6 @@ public class ZeroBitStorage implements BitStorage {
public BitStorage copy() {
return this;
@@ -80,4 +80,6 @@ public class ZeroBitStorage implements BitStorage {
return ret;
}
// Paper end - block counting
+
+ @Override public <T> void compact(net.minecraft.world.level.chunk.Palette<T> srcPalette, net.minecraft.world.level.chunk.Palette<T> dstPalette, short[] out) {} // Gale - Lithium - faster chunk serialization
}

View File

@@ -13,10 +13,10 @@ As part of: SportPaper (https://github.com/Electroid/SportPaper)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 9ff8779e47c82fd2fdfd43a07a256062140c64d7..cbe5bd9902fa948a9c928c75961a6525404708b5 100644
index 8b8dbaf0a2cb8cb39bf178edb1a78f60f2043096..ec3edbfe8c9a7aef5a9f37fa1d2279acf4827660 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -1549,7 +1549,17 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1600,7 +1600,17 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@Override
public void destroyBlockProgress(int entityId, BlockPos pos, int progress) {
@@ -35,7 +35,7 @@ index 9ff8779e47c82fd2fdfd43a07a256062140c64d7..cbe5bd9902fa948a9c928c75961a6525
// CraftBukkit start
Player entityhuman = null;
@@ -1583,7 +1593,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -1634,7 +1644,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
// CraftBukkit end
if (d0 * d0 + d1 * d1 + d2 * d2 < 1024.0D) {

View File

@@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index aabca85eb35085511b24ace968d3bf1b85303445..d77e3502ce709166126047da1f63d229a0943a90 100644
index 87d547fa078bf0b9bde3f919e081af0921ee6225..4cb9ce2d80507a1b73bf09a78e3593612f913d44 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -13,6 +13,8 @@ import java.net.SocketAddress;
@@ -70,7 +70,7 @@ index aabca85eb35085511b24ace968d3bf1b85303445..d77e3502ce709166126047da1f63d229
this.playersByName.put(player.getScoreboardName().toLowerCase(java.util.Locale.ROOT), player); // Spigot
this.playersByUUID.put(player.getUUID(), player);
// this.broadcastAll(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(List.of(entityplayer))); // CraftBukkit - replaced with loop below
@@ -660,6 +664,7 @@ public abstract class PlayerList {
@@ -661,6 +665,7 @@ public abstract class PlayerList {
entityplayer.retireScheduler(); // Paper - Folia schedulers
entityplayer.getAdvancements().stopListening();
this.players.remove(entityplayer);
@@ -78,7 +78,7 @@ index aabca85eb35085511b24ace968d3bf1b85303445..d77e3502ce709166126047da1f63d229
this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot
this.server.getCustomBossEvents().onPlayerDisconnect(entityplayer);
UUID uuid = entityplayer.getUUID();
@@ -816,6 +821,7 @@ public abstract class PlayerList {
@@ -817,6 +822,7 @@ public abstract class PlayerList {
public ServerPlayer respawn(ServerPlayer entityplayer, boolean flag, Entity.RemovalReason entity_removalreason, RespawnReason reason, Location location) {
entityplayer.stopRiding(); // CraftBukkit
this.players.remove(entityplayer);
@@ -86,7 +86,7 @@ index aabca85eb35085511b24ace968d3bf1b85303445..d77e3502ce709166126047da1f63d229
this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot
entityplayer.serverLevel().removePlayerImmediately(entityplayer, entity_removalreason);
/* CraftBukkit start
@@ -898,6 +904,7 @@ public abstract class PlayerList {
@@ -899,6 +905,7 @@ public abstract class PlayerList {
if (!entityplayer.connection.isDisconnected()) {
worldserver.addRespawnedPlayer(entityplayer1);
this.players.add(entityplayer1);
@@ -94,7 +94,7 @@ index aabca85eb35085511b24ace968d3bf1b85303445..d77e3502ce709166126047da1f63d229
this.playersByName.put(entityplayer1.getScoreboardName().toLowerCase(java.util.Locale.ROOT), entityplayer1); // Spigot
this.playersByUUID.put(entityplayer1.getUUID(), entityplayer1);
}
@@ -976,20 +983,55 @@ public abstract class PlayerList {
@@ -977,20 +984,55 @@ public abstract class PlayerList {
this.sendPlayerPermissionLevel(player, i, recalculatePermissions); // Paper - avoid recalculating permissions if possible
}

View File

@@ -37,10 +37,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index d77e3502ce709166126047da1f63d229a0943a90..876bffc0d03cd3a781c4139a9b5e4858215afdc9 100644
index 4cb9ce2d80507a1b73bf09a78e3593612f913d44..e523dbfb89c77e396d8ac4a7678642399fdd28f2 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1019,14 +1019,18 @@ public abstract class PlayerList {
@@ -1020,14 +1020,18 @@ public abstract class PlayerList {
// Gale start - Purpur - spread out sending all player info
ServerPlayer[] sendAllPlayerInfoBucket = this.sendAllPlayerInfoBuckets[this.sendAllPlayerInfoIn];
if (sendAllPlayerInfoBucket != null) {

View File

@@ -13,10 +13,10 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index d18c3c20b556fbf5146eb7cc614cc1b0e442d52e..705890ab08f97158faaccadbaf7e534666ce86ff 100644
index f0ba5738958382cf22033c3c909df9e4ee3c83b6..60455f936a9f8a517b62f867ec4a7ac767dc5783 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2150,12 +2150,18 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -2151,12 +2151,18 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@Override
public void crit(Entity target) {

View File

@@ -13,7 +13,7 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index 2baf654b926d96c198ffe31835a7a45748078194..fe96ee6b36d38a7da61c80715716365d2a33f07d 100644
index ccd6a21e502bfd25a0a84fdf1b6d6f2606cf7156..3b81ba4c283e474493e9bc97bbfa230a7878cdbc 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -431,11 +431,16 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon

View File

@@ -14,7 +14,7 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 876bffc0d03cd3a781c4139a9b5e4858215afdc9..28354aa3ed55f7a86c210f805b1aecb5ae06b466 100644
index e523dbfb89c77e396d8ac4a7678642399fdd28f2..503eafc89cbbd7286108eb2edf32af01d5e5c57d 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -275,6 +275,13 @@ public abstract class PlayerList {

View File

@@ -59,10 +59,10 @@ index 039a86034928a5eb7aaa2d7ca76a7bddcca346bd..7c32c60100cf2bd109eb8762efa856c1
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 9aceca3b61a6b79be0637268faf21e6eccdf0c63..fc0f6639472ee2a3756152a586fb4166eeafb1a6 100644
index ece0bbc6524aa2db40a480b575d2e257fe4d84cd..b1eac1f972fcb4a3706febdbeb2c4a4892d03f0f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1148,6 +1148,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1133,6 +1133,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
private long lastTick = 0;
private long catchupTime = 0;
@@ -70,7 +70,7 @@ index 9aceca3b61a6b79be0637268faf21e6eccdf0c63..fc0f6639472ee2a3756152a586fb4166
public final RollingAverage tps1 = new RollingAverage(60);
public final RollingAverage tps5 = new RollingAverage(60 * 5);
public final RollingAverage tps15 = new RollingAverage(60 * 15);
@@ -1262,6 +1263,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1247,6 +1248,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (++MinecraftServer.currentTick % MinecraftServer.SAMPLE_INTERVAL == 0) {
final long diff = currentTime - tickSection;
final java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);

View File

@@ -23,10 +23,10 @@ The above copyright notice and this permission notice shall be included in all c
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index fc0f6639472ee2a3756152a586fb4166eeafb1a6..af3cca0c4d00247231d31ea596268b57767e8d3a 100644
index b1eac1f972fcb4a3706febdbeb2c4a4892d03f0f..a5e4e457bf76bd27f6edeff229e75217643b842d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1196,6 +1196,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1181,6 +1181,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper end
// Spigot End
@@ -38,7 +38,7 @@ index fc0f6639472ee2a3756152a586fb4166eeafb1a6..af3cca0c4d00247231d31ea596268b57
protected void runServer() {
try {
long serverStartTime = Util.getNanos(); // Paper
@@ -1282,9 +1287,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1267,9 +1272,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
//MinecraftServer.currentTick = (int) (System.currentTimeMillis() / 50); // CraftBukkit // Paper - don't overwrite current tick time
lastTick = currentTime;
this.nextTickTimeNanos += i;
@@ -50,7 +50,7 @@ index fc0f6639472ee2a3756152a586fb4166eeafb1a6..af3cca0c4d00247231d31ea596268b57
// Paper start - rewrite chunk system
final Throwable crash = this.chunkSystemCrash;
if (crash != null) {
@@ -1448,9 +1455,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1433,9 +1440,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
protected void waitUntilNextTick() {
//this.executeAll(); // Paper - move this into the tick method for timings

View File

@@ -26,10 +26,10 @@ index b47a8a082170bcb630c4354be7c77a4cac71d105..b49e3f2cdc1fa5ff3723fae452404664
double d1 = (double) (center.y - maxRange);
double d2 = (double) (center.x + maxRange);
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 705890ab08f97158faaccadbaf7e534666ce86ff..3993b360455361acf6c49495283285992d71d927 100644
index 60455f936a9f8a517b62f867ec4a7ac767dc5783..4a69885e173cebc8ab427e02145e1020282ea95d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -467,7 +467,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -468,7 +468,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
long l = k * k;
int i1 = l > 2147483647L ? Integer.MAX_VALUE : (int) l;
int j1 = this.getCoprime(i1);
@@ -38,7 +38,7 @@ index 705890ab08f97158faaccadbaf7e534666ce86ff..3993b360455361acf6c4949528328599
for (int l1 = 0; l1 < i1; ++l1) {
int i2 = (k1 + j1 * l1) % i1;
@@ -506,7 +506,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -507,7 +507,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
long l = k * k;
int i1 = l > 2147483647L ? Integer.MAX_VALUE : (int) l;
int j1 = this.getCoprime(i1);

Some files were not shown because too many files have changed in this diff Show More