More optimizations
This commit is contained in:
@@ -353,6 +353,21 @@ index 626e9feb6a6e7a2cbc7c63e30ba4fb6b923e85c7..22050e61506e1f3c2f4998ac1e3de4a3
|
||||
|
||||
return item;
|
||||
}
|
||||
diff --git a/net/minecraft/gametest/framework/GameTestServer.java b/net/minecraft/gametest/framework/GameTestServer.java
|
||||
index 54ca624a8194e7d1c0f3b1c0ddba81165523382c..4e5d6a16fbe6af3ff91c40ac0e639c685de10168 100644
|
||||
--- a/net/minecraft/gametest/framework/GameTestServer.java
|
||||
+++ b/net/minecraft/gametest/framework/GameTestServer.java
|
||||
@@ -320,8 +320,10 @@ public class GameTestServer extends MinecraftServer {
|
||||
}
|
||||
// Paper end
|
||||
|
||||
+ /* // Plazma - Remove isClientSide on DedicatedServer
|
||||
@Override
|
||||
public boolean isSingleplayerOwner(GameProfile profile) {
|
||||
return false;
|
||||
}
|
||||
+ */ // Plazma - Remove isClientSide on DedicatedServer
|
||||
}
|
||||
diff --git a/net/minecraft/server/Main.java b/net/minecraft/server/Main.java
|
||||
index 6c54e929f87dd873e0713f5178c05e9c25eaa4c3..2012a1be002fadbbbc2ba75e184a8bdce56649a1 100644
|
||||
--- a/net/minecraft/server/Main.java
|
||||
@@ -375,6 +390,48 @@ index 6c54e929f87dd873e0713f5178c05e9c25eaa4c3..2012a1be002fadbbbc2ba75e184a8bdc
|
||||
}
|
||||
|
||||
// Purpur start - Add toggle for enchant level clamping - load config files early
|
||||
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
||||
index ef5f1131e594036e318e2e1bdb0bf3d0abf8c0ab..9b5e0caf856d491e1062271bc190d26cbbb5302f 100644
|
||||
--- a/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1896,6 +1896,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.port = port;
|
||||
}
|
||||
|
||||
+ /* // Plazma - Remove isClientSide on DedicatedServer
|
||||
@Nullable
|
||||
public GameProfile getSingleplayerProfile() {
|
||||
return this.singleplayerProfile;
|
||||
@@ -1908,6 +1909,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
public boolean isSingleplayer() {
|
||||
return this.singleplayerProfile != null;
|
||||
}
|
||||
+ */ // Plazma - Remove isClientSide on DedicatedServer
|
||||
|
||||
protected void initializeKeyPair() {
|
||||
LOGGER.info("Generating keypair");
|
||||
@@ -2450,10 +2452,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
ServerOpListEntry serverOpListEntry = this.getPlayerList().getOps().get(profile);
|
||||
if (serverOpListEntry != null) {
|
||||
return serverOpListEntry.getLevel();
|
||||
+ /* // Plazma - Remove isClientSide on DedicatedServer
|
||||
} else if (this.isSingleplayerOwner(profile)) {
|
||||
return 4;
|
||||
} else if (this.isSingleplayer()) {
|
||||
return this.getPlayerList().isAllowCommandsForAllPlayers() ? 4 : 0;
|
||||
+ */ // Plazma - Remove isClientSide on DedicatedServer
|
||||
} else {
|
||||
return this.getOperatorUserPermissionLevel();
|
||||
}
|
||||
@@ -2462,7 +2466,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
}
|
||||
}
|
||||
|
||||
- public abstract boolean isSingleplayerOwner(GameProfile profile);
|
||||
+ //public abstract boolean isSingleplayerOwner(GameProfile profile); // Plazma - Remove isClientSide on DedicatedServer
|
||||
|
||||
public void dumpServerProperties(Path path) throws IOException {
|
||||
}
|
||||
diff --git a/net/minecraft/server/commands/JfrCommand.java b/net/minecraft/server/commands/JfrCommand.java
|
||||
index 5b32584379d946dc424c9d716fd0d9be5ddfdd64..cda646e0487087bd78a9bae64a2baa297e8f6094 100644
|
||||
--- a/net/minecraft/server/commands/JfrCommand.java
|
||||
@@ -398,8 +455,62 @@ index 5b32584379d946dc424c9d716fd0d9be5ddfdd64..cda646e0487087bd78a9bae64a2baa29
|
||||
throw START_FAILED.create();
|
||||
} else {
|
||||
source.sendSuccess(() -> Component.translatable("commands.jfr.started"), false);
|
||||
diff --git a/net/minecraft/server/commands/KickCommand.java b/net/minecraft/server/commands/KickCommand.java
|
||||
index 96a85803ceae7054a60067de4ec2116a35720e66..7e2bca85bc6a0d20c1f7ba6605b56b29deb09914 100644
|
||||
--- a/net/minecraft/server/commands/KickCommand.java
|
||||
+++ b/net/minecraft/server/commands/KickCommand.java
|
||||
@@ -47,11 +47,11 @@ public class KickCommand {
|
||||
int i = 0;
|
||||
|
||||
for (ServerPlayer serverPlayer : players) {
|
||||
- if (!source.getServer().isSingleplayerOwner(serverPlayer.getGameProfile())) {
|
||||
+ //if (!source.getServer().isSingleplayerOwner(serverPlayer.getGameProfile())) { // Plazma - Remove isClientSide on DedicatedServer
|
||||
serverPlayer.connection.disconnect(reason, org.bukkit.event.player.PlayerKickEvent.Cause.KICK_COMMAND); // Paper - kick event cause
|
||||
source.sendSuccess(() -> Component.translatable("commands.kick.success", serverPlayer.getDisplayName(), reason), true);
|
||||
i++;
|
||||
- }
|
||||
+ //} // Plazma - Remove isClientSide on DedicatedServer
|
||||
}
|
||||
|
||||
if (i == 0) {
|
||||
diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index a1fdae645d1c7a8716690546c360b4dfa01c7c47..1621a15229cf6baff9c062600a7c83cc6c6eec60 100644
|
||||
--- a/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -136,13 +136,11 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
|
||||
LOGGER.info("Loading properties");
|
||||
DedicatedServerProperties properties = this.settings.getProperties();
|
||||
- if (this.isSingleplayer()) {
|
||||
- this.setLocalIp("127.0.0.1");
|
||||
- } else {
|
||||
- this.setUsesAuthentication(properties.onlineMode);
|
||||
- this.setPreventProxyConnections(properties.preventProxyConnections);
|
||||
- this.setLocalIp(properties.serverIp);
|
||||
- }
|
||||
+ // Plazma start - Remove isClientSide on DedicatedServer
|
||||
+ this.setUsesAuthentication(properties.onlineMode);
|
||||
+ this.setPreventProxyConnections(properties.preventProxyConnections);
|
||||
+ this.setLocalIp(properties.serverIp);
|
||||
+ // Plazma end - Remove isClientSide on DedicatedServer
|
||||
|
||||
// Spigot start
|
||||
this.setPlayerList(new DedicatedPlayerList(this, this.registries(), this.playerDataStorage));
|
||||
@@ -730,10 +728,12 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
SkullBlockEntity.clear();
|
||||
}
|
||||
|
||||
+ /* // Plazma - Remove isClientSide on DedicatedServer
|
||||
@Override
|
||||
public boolean isSingleplayerOwner(GameProfile profile) {
|
||||
return false;
|
||||
}
|
||||
+ */ // Plazma - Remove isClientSide on DedicatedServer
|
||||
|
||||
@Override
|
||||
public int getScaledTrackingDistance(int trackingDistance) {
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index 1b983393fcb170829f981cf0ab1620d92c80ab1d..be4e3533590cd36bbed6f17f3be5941e70f40b8a 100644
|
||||
index 1b983393fcb170829f981cf0ab1620d92c80ab1d..6cfc57fbaea4203630fea50bba0441efcb97da2c 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -597,7 +597,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -411,6 +522,29 @@ index 1b983393fcb170829f981cf0ab1620d92c80ab1d..be4e3533590cd36bbed6f17f3be5941e
|
||||
isDebug,
|
||||
biomeZoomSeed,
|
||||
server.getMaxChainedNeighborUpdates(),
|
||||
@@ -674,9 +674,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
this.prepareWeather();
|
||||
this.getWorldBorder().setAbsoluteMaxSize(server.getAbsoluteMaxWorldSize());
|
||||
this.raids = this.getDataStorage().computeIfAbsent(Raids.factory(this), Raids.getFileId(this.dimensionTypeRegistration()));
|
||||
- if (!server.isSingleplayer()) {
|
||||
- serverLevelData.setGameType(server.getDefaultGameType());
|
||||
- }
|
||||
+ serverLevelData.setGameType(server.getDefaultGameType()); // Plazma - Remove isClientSide on DedicatedServer
|
||||
|
||||
long seed = server.getWorldData().worldGenOptions().seed();
|
||||
this.structureCheck = new StructureCheck(
|
||||
@@ -1131,9 +1129,11 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
return;
|
||||
}
|
||||
|
||||
+ /* // Plazma - Remove isClientSide on DedicatedServer
|
||||
if (this.getServer().isSingleplayer() && !this.getServer().isPublished()) {
|
||||
return;
|
||||
}
|
||||
+ */ // Plazma - Remove isClientSide on DedicatedServer
|
||||
|
||||
int _int = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
|
||||
Component component;
|
||||
diff --git a/net/minecraft/server/level/WorldGenRegion.java b/net/minecraft/server/level/WorldGenRegion.java
|
||||
index 3ba4b970c3781ab89a60687ec41ffb1e6297c9f9..c3f9c65052713c177169a6367d2b5e306af2209c 100644
|
||||
--- a/net/minecraft/server/level/WorldGenRegion.java
|
||||
@@ -428,6 +562,183 @@ index 3ba4b970c3781ab89a60687ec41ffb1e6297c9f9..c3f9c65052713c177169a6367d2b5e30
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
diff --git a/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
index 398c1733824b689520170de0be94006731afa5cd..1e433543ad0e364ca4a18565aa22d48d9ca8a49c 100644
|
||||
--- a/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
@@ -106,10 +106,12 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
|
||||
public void onDisconnect(DisconnectionDetails info, @Nullable net.kyori.adventure.text.Component quitMessage) {
|
||||
// Paper end - Fix kick event leave message not being sent
|
||||
+ /* // Plazma - Remove isClientSide on DedicatedServer
|
||||
if (this.isSingleplayerOwner()) {
|
||||
LOGGER.info("Stopping singleplayer server as player logged out");
|
||||
this.server.halt(false);
|
||||
}
|
||||
+ */ // Plazma - Remove isClientSide on DedicatedServer
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -134,7 +136,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
int i = (int)(Util.getMillis() - this.keepAliveTime);
|
||||
this.latency = (this.latency * 3 + i) / 4;
|
||||
this.keepAlivePending = false;
|
||||
- } else if (!this.isSingleplayerOwner()) {
|
||||
+ } else { //if (!this.isSingleplayerOwner()) { // Plazma - Remove isClientSide on DedicatedServer
|
||||
this.disconnectAsync(TIMEOUT_DISCONNECTION_MESSAGE, org.bukkit.event.player.PlayerKickEvent.Cause.TIMEOUT); // Paper - add proper async disconnect
|
||||
}
|
||||
}
|
||||
@@ -273,7 +275,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
} else
|
||||
// Purpur end - Alternative Keepalive Handling
|
||||
|
||||
- if (!this.isSingleplayerOwner() && elapsedTime >= 15000L) { // use vanilla's 15000L between keep alive packets
|
||||
+ if (/*!this.isSingleplayerOwner() &&*/ elapsedTime >= 15000L) { // use vanilla's 15000L between keep alive packets // Plazma - Remove isClientSide on DedicatedServer
|
||||
if (this.keepAlivePending) {
|
||||
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
|
||||
this.disconnect(TIMEOUT_DISCONNECTION_MESSAGE, org.bukkit.event.player.PlayerKickEvent.Cause.TIMEOUT); // Paper - kick event cause
|
||||
@@ -442,9 +444,11 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
}
|
||||
// Paper end - add proper async disconnect
|
||||
|
||||
+ /* // Plazma - Remove isClientSide on DedicatedServer
|
||||
protected boolean isSingleplayerOwner() {
|
||||
return this.server.isSingleplayerOwner(this.playerProfile());
|
||||
}
|
||||
+ */ // Plazma - Remove isClientSide on DedicatedServer
|
||||
|
||||
protected abstract GameProfile playerProfile();
|
||||
|
||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 43b541df2ce2441dd6383e23768b98caeaacfb11..836a900df1b3e3aac57ef06d59901793d923866a 100644
|
||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -808,7 +808,7 @@ public class ServerGamePacketListenerImpl
|
||||
public void handleCustomCommandSuggestions(ServerboundCommandSuggestionPacket packet) {
|
||||
// PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); // Paper - AsyncTabCompleteEvent; run this async
|
||||
// CraftBukkit start
|
||||
- if (!this.tabSpamThrottler.isIncrementAndUnderThreshold() && !this.server.getPlayerList().isOp(this.player.getGameProfile()) && !this.server.isSingleplayerOwner(this.player.getGameProfile())) { // Paper - configurable tab spam limits
|
||||
+ if (!this.tabSpamThrottler.isIncrementAndUnderThreshold() && !this.server.getPlayerList().isOp(this.player.getGameProfile()) /*&& !this.server.isSingleplayerOwner(this.player.getGameProfile())*/) { // Paper - configurable tab spam limits // Plazma - Remove isClientSide on DedicatedServer
|
||||
this.disconnectAsync(Component.translatable("disconnect.spam"), org.bukkit.event.player.PlayerKickEvent.Cause.SPAM); // Paper - Kick event cause // Paper - add proper async disconnect
|
||||
return;
|
||||
}
|
||||
@@ -2600,7 +2600,7 @@ public class ServerGamePacketListenerImpl
|
||||
if (!this.chatSpamThrottler.isIncrementAndUnderThreshold()
|
||||
// CraftBukkit end
|
||||
&& !this.server.getPlayerList().isOp(this.player.getGameProfile())
|
||||
- && !this.server.isSingleplayerOwner(this.player.getGameProfile())) {
|
||||
+ /*&& !this.server.isSingleplayerOwner(this.player.getGameProfile())*/) { // Plazma - Remove isClientSide on DedicatedServer
|
||||
this.disconnectAsync(Component.translatable("disconnect.spam"), org.bukkit.event.player.PlayerKickEvent.Cause.SPAM); // Paper - kick event cause & add proper async disconnect
|
||||
}
|
||||
}
|
||||
@@ -3597,15 +3597,17 @@ public class ServerGamePacketListenerImpl
|
||||
@Override
|
||||
public void handleChangeDifficulty(ServerboundChangeDifficultyPacket packet) {
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
|
||||
+ /* // Plazma - Remove isClientSide on DedicatedServer
|
||||
if (this.player.hasPermissions(2) || this.isSingleplayerOwner()) {
|
||||
// this.server.setDifficulty(packet.getDifficulty(), false); // Paper - per level difficulty; don't allow clients to change this
|
||||
}
|
||||
+ */ // Plazma - Remove isClientSide on DedicatedServer
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleLockDifficulty(ServerboundLockDifficultyPacket packet) {
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
|
||||
- if (this.player.hasPermissions(2) || this.isSingleplayerOwner()) {
|
||||
+ if (this.player.hasPermissions(2) /*|| this.isSingleplayerOwner()*/) { // Plazma - Remove isClientSide on DedicatedServer
|
||||
this.server.setDifficultyLocked(packet.isLocked());
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
||||
index 45ea5fa0ef57724acce46008c53f7fa216cf78ee..d530c9492dcb7a9eac2470ff8bfcb922dd6d3155 100644
|
||||
--- a/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
|
||||
@@ -179,10 +179,11 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
|
||||
}
|
||||
// Paper end - Validate usernames
|
||||
this.requestedUsername = packet.name();
|
||||
+ /* // Plazma - Remove isClientSide on DedicatedServer
|
||||
GameProfile singleplayerProfile = this.server.getSingleplayerProfile();
|
||||
if (singleplayerProfile != null && this.requestedUsername.equalsIgnoreCase(singleplayerProfile.getName())) {
|
||||
this.startClientVerification(singleplayerProfile);
|
||||
- } else {
|
||||
+ } else*/ { // Plazma - Remove isClientSide on DedicatedServer
|
||||
if (this.server.usesAuthentication() && !this.connection.isMemoryConnection()) {
|
||||
this.state = ServerLoginPacketListenerImpl.State.KEY;
|
||||
this.connection.send(new ClientboundHelloPacket("", this.server.getKeyPair().getPublic().getEncoded(), this.challenge, true));
|
||||
@@ -303,21 +304,25 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
|
||||
// CraftBukkit end
|
||||
ServerLoginPacketListenerImpl.LOGGER.info("UUID of player {} is {}", gameProfile.getName(), gameProfile.getId());
|
||||
ServerLoginPacketListenerImpl.this.startClientVerification(gameProfile);
|
||||
+ /* // Plazma - Remove isClientSide on DedicatedServer
|
||||
} else if (ServerLoginPacketListenerImpl.this.server.isSingleplayer()) {
|
||||
ServerLoginPacketListenerImpl.LOGGER.warn("Failed to verify username but will let them in anyway!");
|
||||
ServerLoginPacketListenerImpl.this.startClientVerification(ServerLoginPacketListenerImpl.this.createOfflineProfile(string1)); // Spigot
|
||||
+ */ // Plazma - Remove isClientSide on DedicatedServer
|
||||
} else {
|
||||
ServerLoginPacketListenerImpl.this.disconnect(org.purpurmc.purpur.PurpurConfig.unverifiedUsername.equals("default") ? Component.translatable("multiplayer.disconnect.unverified_username") : io.papermc.paper.adventure.PaperAdventure.asVanilla(net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(org.purpurmc.purpur.PurpurConfig.unverifiedUsername))); // Purpur - Config for unverified username message
|
||||
ServerLoginPacketListenerImpl.LOGGER.error("Username '{}' tried to join with an invalid session", string1);
|
||||
}
|
||||
} catch (AuthenticationUnavailableException var4) {
|
||||
+ /* // Plazma - Remove isClientSide on DedicatedServer
|
||||
if (ServerLoginPacketListenerImpl.this.server.isSingleplayer()) {
|
||||
ServerLoginPacketListenerImpl.LOGGER.warn("Authentication servers are down but will let them in anyway!");
|
||||
ServerLoginPacketListenerImpl.this.startClientVerification(ServerLoginPacketListenerImpl.this.createOfflineProfile(string1)); // Spigot
|
||||
} else {
|
||||
+ */ // Plazma - Remove isClientSide on DedicatedServer
|
||||
ServerLoginPacketListenerImpl.this.disconnect(io.papermc.paper.adventure.PaperAdventure.asVanilla(io.papermc.paper.configuration.GlobalConfiguration.get().messages.kick.authenticationServersDown)); // Paper - Configurable kick message
|
||||
ServerLoginPacketListenerImpl.LOGGER.error("Couldn't verify username because servers are unavailable");
|
||||
- }
|
||||
+ //} // Plazma - Remove isClientSide on DedicatedServer
|
||||
// CraftBukkit start - catch all exceptions
|
||||
} catch (Exception ex) {
|
||||
ServerLoginPacketListenerImpl.this.disconnect("Failed to verify username!");
|
||||
diff --git a/net/minecraft/server/players/OldUsersConverter.java b/net/minecraft/server/players/OldUsersConverter.java
|
||||
index 7dbcd9d96f052bb10127ad2b061154c23cc9ffd4..a1c72fe770cbbd02822eef073b9862ddd040c993 100644
|
||||
--- a/net/minecraft/server/players/OldUsersConverter.java
|
||||
+++ b/net/minecraft/server/players/OldUsersConverter.java
|
||||
@@ -247,7 +247,7 @@ public class OldUsersConverter {
|
||||
Optional<UUID> optional = server.getProfileCache().get(username).map(GameProfile::getId);
|
||||
if (optional.isPresent()) {
|
||||
return optional.get();
|
||||
- } else if (!server.isSingleplayer() && server.usesAuthentication()) {
|
||||
+ } else if (/*!server.isSingleplayer() &&*/ server.usesAuthentication()) { // Plazma - Remove isClientSide on DedicatedServer
|
||||
final List<GameProfile> list = Lists.newArrayList();
|
||||
ProfileLookupCallback profileLookupCallback = new ProfileLookupCallback() {
|
||||
@Override
|
||||
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
|
||||
index e8ff6e79ce7ba0ec8b2a90bcb81283f52106c535..89c9333f39885c842c267c7609929c2ed79d6b5d 100644
|
||||
--- a/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/net/minecraft/server/players/PlayerList.java
|
||||
@@ -468,17 +468,7 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public Optional<CompoundTag> load(ServerPlayer player) {
|
||||
- CompoundTag loadedPlayerTag = this.server.getWorldData().getLoadedPlayerTag();
|
||||
- Optional<CompoundTag> optional;
|
||||
- if (this.server.isSingleplayerOwner(player.getGameProfile()) && loadedPlayerTag != null) {
|
||||
- optional = Optional.of(loadedPlayerTag);
|
||||
- player.load(loadedPlayerTag);
|
||||
- LOGGER.debug("loading single player");
|
||||
- } else {
|
||||
- optional = this.playerIo.load(player);
|
||||
- }
|
||||
-
|
||||
- return optional;
|
||||
+ return this.playerIo.load(player); // Plazma - Remove isClientSide on DedicatedServer
|
||||
}
|
||||
|
||||
protected void save(ServerPlayer player) {
|
||||
@@ -1074,7 +1064,7 @@ public abstract class PlayerList {
|
||||
|
||||
public boolean isOp(GameProfile profile) {
|
||||
return this.ops.contains(profile)
|
||||
- || this.server.isSingleplayerOwner(profile) && this.server.getWorldData().isAllowCommands()
|
||||
+ //|| this.server.isSingleplayerOwner(profile) && this.server.getWorldData().isAllowCommands() // Plazma - Remove isClientSide on DedicatedServer
|
||||
|| this.allowCommandsForAllPlayers;
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/util/profiling/jfr/Environment.java b/net/minecraft/util/profiling/jfr/Environment.java
|
||||
deleted file mode 100644
|
||||
index 2b27173c700dbd9f418d470ca5ce81eadf0bb8ce..0000000000000000000000000000000000000000
|
||||
@@ -993,7 +1304,7 @@ index f003a65b34027dff14455860815c7d719c5289fa..89a360c1121418d650b2749621f94595
|
||||
|
||||
this.life--;
|
||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||
index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b8733f885 100644
|
||||
index f3e93fa5ff257701ea909c7f4d4a8555fcda1f60..6e9fdb286efacd5e0310316d9f07e0ed3bab40b8 100644
|
||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -450,7 +450,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1132,7 +1443,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
}
|
||||
|
||||
private void refreshDirtyAttributes() {
|
||||
@@ -1736,6 +1736,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1737,6 +1737,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
private void breakItem(ItemStack stack) {
|
||||
if (!stack.isEmpty()) {
|
||||
@@ -1140,7 +1451,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
if (!this.isSilent()) {
|
||||
this.level()
|
||||
.playLocalSound(
|
||||
@@ -1749,6 +1750,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1750,6 +1751,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
false
|
||||
);
|
||||
}
|
||||
@@ -1148,7 +1459,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
|
||||
this.spawnItemParticles(stack, 5);
|
||||
}
|
||||
@@ -1795,7 +1797,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1796,7 +1798,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.stopSleeping();
|
||||
}
|
||||
|
||||
@@ -1157,7 +1468,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
if (org.spigotmc.SpigotConfig.logNamedDeaths) LivingEntity.LOGGER.info("Named entity {} died: {}", this, this.getCombatTracker().getDeathMessage().getString()); // Spigot
|
||||
}
|
||||
|
||||
@@ -2626,9 +2628,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2627,9 +2629,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
case 52:
|
||||
this.breakItem(this.getItemBySlot(EquipmentSlot.FEET));
|
||||
break;
|
||||
@@ -1169,7 +1480,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
case 55:
|
||||
this.swapHandItems();
|
||||
break;
|
||||
@@ -2945,13 +2949,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2948,13 +2952,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
MobEffectInstance effect = this.getEffect(MobEffects.LEVITATION);
|
||||
if (effect != null) {
|
||||
d += (0.05 * (effect.getAmplifier() + 1) - vec3.y) * 0.2;
|
||||
@@ -1186,7 +1497,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
|
||||
if (this.shouldDiscardFriction()) {
|
||||
this.setDeltaMovement(vec3.x, d, vec3.z);
|
||||
@@ -3019,10 +3025,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3022,10 +3028,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
double d = deltaMovement.horizontalDistance();
|
||||
this.setDeltaMovement(this.updateFallFlyingMovement(deltaMovement));
|
||||
this.move(MoverType.SELF, this.getDeltaMovement());
|
||||
@@ -1199,7 +1510,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
}
|
||||
|
||||
private Vec3 updateFallFlyingMovement(Vec3 deltaMovement) {
|
||||
@@ -3179,41 +3185,41 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3182,41 +3188,41 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
super.tick();
|
||||
this.updatingUsingItem();
|
||||
this.updateSwimAmount();
|
||||
@@ -1267,7 +1578,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
if (!this.isRemoved()) {
|
||||
this.aiStep();
|
||||
}
|
||||
@@ -3535,14 +3541,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3538,14 +3544,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.travel(vec3);
|
||||
}
|
||||
|
||||
@@ -1284,7 +1595,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
int ticksFrozen = this.getTicksFrozen();
|
||||
if (this.isInPowderSnow && this.canFreeze()) {
|
||||
this.setTicksFrozen(Math.min(this.getTicksRequiredToFreeze(), ticksFrozen + 1));
|
||||
@@ -3634,36 +3638,40 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3637,36 +3641,40 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
protected void updateFallFlying() {
|
||||
this.checkSlowFallDistance();
|
||||
@@ -1348,7 +1659,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
}
|
||||
|
||||
public boolean canGlide() {
|
||||
@@ -3751,7 +3759,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3754,7 +3762,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.autoSpinAttackTicks = 0;
|
||||
}
|
||||
|
||||
@@ -1357,7 +1668,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
this.setLivingEntityFlag(4, false);
|
||||
this.autoSpinAttackDmg = 0.0F;
|
||||
this.autoSpinAttackItemStack = null;
|
||||
@@ -3780,7 +3788,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3783,7 +3791,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
// Paper end - Force entity dismount during teleportation
|
||||
Entity vehicle = this.getVehicle();
|
||||
super.stopRiding(suppressCancellation); // Paper - Force entity dismount during teleportation
|
||||
@@ -1366,7 +1677,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
this.dismountVehicle(vehicle);
|
||||
}
|
||||
}
|
||||
@@ -3852,7 +3860,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3855,7 +3863,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
public void take(Entity entity, int amount) {
|
||||
if (!entity.isRemoved()
|
||||
@@ -1375,7 +1686,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
&& (entity instanceof ItemEntity || entity instanceof AbstractArrow || entity instanceof ExperienceOrb)) {
|
||||
((ServerLevel)this.level()).getChunkSource().broadcastAndSend(this, new ClientboundTakeItemEntityPacket(entity.getId(), this.getId(), amount)); // Paper - broadcast with collector as source
|
||||
}
|
||||
@@ -3992,7 +4000,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3995,7 +4003,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
// Paper start - lag compensate eating
|
||||
// we add 1 to the expected time to avoid lag compensating when we should not
|
||||
final boolean shouldLagCompensate = this.useItem.has(DataComponents.FOOD) && this.eatStartTime != -1 && (System.nanoTime() - this.eatStartTime) > ((1L + this.totalEatTimeTicks) * 50L * (1000L * 1000L));
|
||||
@@ -1384,7 +1695,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
this.useItemRemaining = 0;
|
||||
// Paper end - lag compensate eating
|
||||
this.completeUsingItem();
|
||||
@@ -4032,22 +4040,23 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -4035,22 +4043,23 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.useItemRemaining = this.totalEatTimeTicks = itemInHand.getUseDuration(this);
|
||||
this.eatStartTime = System.nanoTime();
|
||||
// Paper end - lag compensate eating
|
||||
@@ -1412,7 +1723,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
if (this.isUsingItem() && this.useItem.isEmpty()) {
|
||||
this.useItem = this.getItemInHand(this.getUsedItemHand());
|
||||
if (!this.useItem.isEmpty()) {
|
||||
@@ -4061,6 +4070,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -4064,6 +4073,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
// Paper end - lag compensate eating
|
||||
}
|
||||
}
|
||||
@@ -1420,7 +1731,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -4091,58 +4101,66 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -4094,58 +4104,66 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
public void completeUsingItem() {
|
||||
@@ -1533,7 +1844,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
}
|
||||
|
||||
public void handleExtraItemsCreatedOnUse(ItemStack stack) {
|
||||
@@ -4173,13 +4191,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -4176,13 +4194,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
public void stopUsingItem() {
|
||||
@@ -1549,7 +1860,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
|
||||
this.useItem = ItemStack.EMPTY;
|
||||
// Paper start - lag compensate eating
|
||||
@@ -4594,7 +4612,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -4597,7 +4615,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
@Override
|
||||
public boolean isCurrentlyGlowing() {
|
||||
@@ -1559,7 +1870,7 @@ index f37d77c98f6bc0a6113ff5896c7ee6e401df6e30..70f848346a13b3aedb4c0787b7bdc62b
|
||||
|
||||
@Override
|
||||
diff --git a/net/minecraft/world/entity/Mob.java b/net/minecraft/world/entity/Mob.java
|
||||
index 70ee86993d381445855ac7e7290da384d6675987..b786fef4c0e8c1c4ec043904a574b445deae695a 100644
|
||||
index deecd0894f1f4a12188f46a80690a57c2d9d94c8..1719945797b7f98d307135591805cd869c4acd21 100644
|
||||
--- a/net/minecraft/world/entity/Mob.java
|
||||
+++ b/net/minecraft/world/entity/Mob.java
|
||||
@@ -399,11 +399,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||
@@ -10166,7 +10477,7 @@ index 481cb46973acb9785fdee5732e98aac560c6ec08..27ca4de54e03ca58a6aa675688113eef
|
||||
public boolean is(TagKey<Fluid> tag) {
|
||||
return this.getType().builtInRegistryHolder().is(tag);
|
||||
diff --git a/net/minecraft/world/level/material/LavaFluid.java b/net/minecraft/world/level/material/LavaFluid.java
|
||||
index f748c2af98a8dcd3d73023957c32957dfc70e426..4cc354be3e1cb7c8105fb3597f551f8209502231 100644
|
||||
index b5ff7828f3d56153934e51bd8e2722b260fae4cd..9d759bb9e832eba344550978d14d65c4f0f35d2b 100644
|
||||
--- a/net/minecraft/world/level/material/LavaFluid.java
|
||||
+++ b/net/minecraft/world/level/material/LavaFluid.java
|
||||
@@ -43,6 +43,7 @@ public abstract class LavaFluid extends FlowingFluid {
|
||||
@@ -10186,7 +10497,7 @@ index f748c2af98a8dcd3d73023957c32957dfc70e426..4cc354be3e1cb7c8105fb3597f551f82
|
||||
@Override
|
||||
public void randomTick(ServerLevel level, BlockPos pos, FluidState state, RandomSource random) {
|
||||
diff --git a/net/minecraft/world/level/material/WaterFluid.java b/net/minecraft/world/level/material/WaterFluid.java
|
||||
index 9a59e23f8038e3ae539e35545a45eeb8ed710c8e..fe62c8f9905e256aaac0374f94926f306e4714a2 100644
|
||||
index eb233843183f2aaa3d58432a8eac8e3be94f95c8..ba0fb7aa9a3e87391089dc5ead349a611d1283df 100644
|
||||
--- a/net/minecraft/world/level/material/WaterFluid.java
|
||||
+++ b/net/minecraft/world/level/material/WaterFluid.java
|
||||
@@ -42,6 +42,7 @@ public abstract class WaterFluid extends FlowingFluid {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Remove Mojang Profiler
|
||||
|
||||
|
||||
diff --git a/net/minecraft/commands/Commands.java b/net/minecraft/commands/Commands.java
|
||||
index d7922847bd398d809e8b8a31bf136c804305a32b..b705539a0e7d5f09c1a922f7ff97fb5d8a2ba185 100644
|
||||
index ebd54d6d45fbabe76cad3747f52ca793b0a69c3e..473b24cfe9894c6e38060bdc5c22384284c025d4 100644
|
||||
--- a/net/minecraft/commands/Commands.java
|
||||
+++ b/net/minecraft/commands/Commands.java
|
||||
@@ -132,7 +132,7 @@ import net.minecraft.server.commands.WorldBorderCommand;
|
||||
@@ -48,7 +48,7 @@ import net.minecraft.server.commands.*; // Plazma - Register every commands
|
||||
import net.minecraft.server.commands.data.DataCommands;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.tags.TagKey;
|
||||
@@ -17,7 +17,7 @@ index d7922847bd398d809e8b8a31bf136c804305a32b..b705539a0e7d5f09c1a922f7ff97fb5d
|
||||
import net.minecraft.util.profiling.jfr.JvmProfiler;
|
||||
import net.minecraft.world.flag.FeatureFlagSet;
|
||||
import net.minecraft.world.flag.FeatureFlags;
|
||||
@@ -357,7 +357,7 @@ public class Commands {
|
||||
@@ -274,7 +274,7 @@ public class Commands {
|
||||
public void performCommand(ParseResults<CommandSourceStack> parseResults, String command, String label, boolean throwCommandError) {
|
||||
// Paper end
|
||||
CommandSourceStack commandSourceStack = parseResults.getContext().getSource();
|
||||
@@ -26,7 +26,7 @@ index d7922847bd398d809e8b8a31bf136c804305a32b..b705539a0e7d5f09c1a922f7ff97fb5d
|
||||
ContextChain contextChain = this.finishParsing(parseResults, command, commandSourceStack, label); // CraftBukkit // Paper - Add UnknownCommandEvent
|
||||
|
||||
try {
|
||||
@@ -394,9 +394,10 @@ public class Commands {
|
||||
@@ -311,9 +311,10 @@ public class Commands {
|
||||
commandSourceStack.sendFailure(Component.literal(Util.describeError(var12)));
|
||||
LOGGER.error("'/{}' threw an exception", command, var12);
|
||||
}
|
||||
@@ -38,7 +38,7 @@ index d7922847bd398d809e8b8a31bf136c804305a32b..b705539a0e7d5f09c1a922f7ff97fb5d
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -452,7 +453,7 @@ public class Commands {
|
||||
@@ -369,7 +370,7 @@ public class Commands {
|
||||
int max = Math.max(1, server.getGameRules().getInt(GameRules.RULE_MAX_COMMAND_CHAIN_LENGTH));
|
||||
int _int = server.getGameRules().getInt(GameRules.RULE_MAX_COMMAND_FORK_COUNT);
|
||||
|
||||
@@ -147,7 +147,7 @@ index 18071dcc69cc28471dddb7de94e803ec1e5fc2e4..8b8ed964767177d9bda01a9ba1bec51d
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
||||
index ef5f1131e594036e318e2e1bdb0bf3d0abf8c0ab..ba99735ce201330a7402e88a0fb2ea2b6327f20b 100644
|
||||
index 9b5e0caf856d491e1062271bc190d26cbbb5302f..832cd3efd2047c669194e4dfd8916e1b7e6f8635 100644
|
||||
--- a/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/net/minecraft/server/MinecraftServer.java
|
||||
@@ -114,19 +114,19 @@ import net.minecraft.util.TimeUtil;
|
||||
@@ -422,7 +422,7 @@ index ef5f1131e594036e318e2e1bdb0bf3d0abf8c0ab..ba99735ce201330a7402e88a0fb2ea2b
|
||||
}
|
||||
|
||||
public boolean isLevelEnabled(Level level) {
|
||||
@@ -2580,6 +2585,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -2584,6 +2589,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -430,7 +430,7 @@ index ef5f1131e594036e318e2e1bdb0bf3d0abf8c0ab..ba99735ce201330a7402e88a0fb2ea2b
|
||||
private ProfilerFiller createProfiler() {
|
||||
if (this.willStartRecordingMetrics) {
|
||||
this.metricsRecorder = ActiveMetricsRecorder.createStarted(
|
||||
@@ -2628,6 +2634,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -2632,6 +2638,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
public void cancelRecordingMetrics() {
|
||||
this.metricsRecorder.cancel();
|
||||
}
|
||||
@@ -438,7 +438,7 @@ index ef5f1131e594036e318e2e1bdb0bf3d0abf8c0ab..ba99735ce201330a7402e88a0fb2ea2b
|
||||
|
||||
public Path getWorldPath(LevelResource levelResource) {
|
||||
return this.storageSource.getLevelPath(levelResource);
|
||||
@@ -2678,6 +2685,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -2682,6 +2689,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
return this.isSaving;
|
||||
}
|
||||
|
||||
@@ -446,7 +446,7 @@ index ef5f1131e594036e318e2e1bdb0bf3d0abf8c0ab..ba99735ce201330a7402e88a0fb2ea2b
|
||||
public boolean isTimeProfilerRunning() {
|
||||
return this.debugCommandProfilerDelayStart || this.debugCommandProfiler != null;
|
||||
}
|
||||
@@ -2695,6 +2703,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -2699,6 +2707,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
return profileResults;
|
||||
}
|
||||
}
|
||||
@@ -454,7 +454,7 @@ index ef5f1131e594036e318e2e1bdb0bf3d0abf8c0ab..ba99735ce201330a7402e88a0fb2ea2b
|
||||
|
||||
public int getMaxChainedNeighborUpdates() {
|
||||
return 1000000;
|
||||
@@ -2801,6 +2810,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -2805,6 +2814,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
public record ServerResourcePackInfo(UUID id, String url, String hash, boolean isRequired, @Nullable Component prompt) {
|
||||
}
|
||||
|
||||
@@ -462,7 +462,7 @@ index ef5f1131e594036e318e2e1bdb0bf3d0abf8c0ab..ba99735ce201330a7402e88a0fb2ea2b
|
||||
static class TimeProfiler {
|
||||
final long startNanos;
|
||||
final int startTick;
|
||||
@@ -2849,6 +2859,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -2853,6 +2863,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -720,7 +720,7 @@ index a3192400b37274620977e5a40d4283bfec3ab9b3..a936031e38f8a1f40e484b55dcf0ac84
|
||||
- }
|
||||
}
|
||||
diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index a1fdae645d1c7a8716690546c360b4dfa01c7c47..23a9e8936e39766f3d4db1f13fc9d5b02dd87b4a 100644
|
||||
index 1621a15229cf6baff9c062600a7c83cc6c6eec60..fc3db195693e26519e42bf49e083c259a4610c19 100644
|
||||
--- a/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -766,11 +766,13 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -961,7 +961,7 @@ index 6540b2d6a1062d883811ce240c49d30d1925b291..81d52d29c906e52da3e5bde480d2197d
|
||||
}
|
||||
|
||||
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
|
||||
index be4e3533590cd36bbed6f17f3be5941e70f40b8a..684052e40649d499d6f538922354f54438cc438a 100644
|
||||
index 6cfc57fbaea4203630fea50bba0441efcb97da2c..25b6206fd01bc55e9c6404d66296c0bf5af985e7 100644
|
||||
--- a/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -77,8 +77,8 @@ import net.minecraft.util.ProgressListener;
|
||||
@@ -975,7 +975,7 @@ index be4e3533590cd36bbed6f17f3be5941e70f40b8a..684052e40649d499d6f538922354f544
|
||||
import net.minecraft.util.valueproviders.IntProvider;
|
||||
import net.minecraft.util.valueproviders.UniformInt;
|
||||
import net.minecraft.world.DifficultyInstance;
|
||||
@@ -752,16 +752,16 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -750,16 +750,16 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
}
|
||||
|
||||
public void tick(BooleanSupplier hasTimeLeft) {
|
||||
@@ -996,7 +996,7 @@ index be4e3533590cd36bbed6f17f3be5941e70f40b8a..684052e40649d499d6f538922354f544
|
||||
}
|
||||
|
||||
int _int = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
|
||||
@@ -795,41 +795,41 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -793,41 +793,41 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
this.tickTime();
|
||||
}
|
||||
|
||||
@@ -1049,7 +1049,7 @@ index be4e3533590cd36bbed6f17f3be5941e70f40b8a..684052e40649d499d6f538922354f544
|
||||
}
|
||||
|
||||
io.papermc.paper.entity.activation.ActivationRange.activateEntities(this); // Paper - EAR
|
||||
@@ -839,9 +839,9 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -837,9 +837,9 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
}
|
||||
|
||||
if (!tickRateManager.isEntityFrozen(entity)) {
|
||||
@@ -1061,7 +1061,7 @@ index be4e3533590cd36bbed6f17f3be5941e70f40b8a..684052e40649d499d6f538922354f544
|
||||
// Plazma start - Improve code styling
|
||||
// Paper start - Rewrite chunk system
|
||||
Entity vehicle = entity.getVehicle();
|
||||
@@ -853,20 +853,20 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -851,20 +851,20 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
entity.stopRiding();
|
||||
}
|
||||
|
||||
@@ -1087,7 +1087,7 @@ index be4e3533590cd36bbed6f17f3be5941e70f40b8a..684052e40649d499d6f538922354f544
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -883,9 +883,9 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -881,9 +881,9 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
|
||||
long l = this.levelData.getGameTime() + 1L;
|
||||
this.serverLevelData.setGameTime(l);
|
||||
@@ -1099,7 +1099,7 @@ index be4e3533590cd36bbed6f17f3be5941e70f40b8a..684052e40649d499d6f538922354f544
|
||||
if (this.serverLevelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) {
|
||||
// Purpur start - Configurable daylight cycle
|
||||
int incrementTicks = isDay() ? this.purpurConfig.daytimeTicks : this.purpurConfig.nighttimeTicks;
|
||||
@@ -986,8 +986,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -984,8 +984,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
boolean isRaining = this.isRaining();
|
||||
int minBlockX = pos.getMinBlockX();
|
||||
int minBlockZ = pos.getMinBlockZ();
|
||||
@@ -1110,7 +1110,7 @@ index be4e3533590cd36bbed6f17f3be5941e70f40b8a..684052e40649d499d6f538922354f544
|
||||
if (!this.paperConfig().environment.disableThunder && isRaining && this.isThundering() && this.spigotConfig.thunderChance > 0 && simpleRandom.nextInt(this.spigotConfig.thunderChance) == 0) { // Spigot // Paper - Option to disable thunder // Paper - optimise random ticking
|
||||
BlockPos blockPos = this.findLightningTargetAround(this.getBlockRandomPos(minBlockX, 0, minBlockZ, 15));
|
||||
if (this.isRainingAt(blockPos)) {
|
||||
@@ -1023,7 +1023,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -1021,7 +1021,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1119,7 +1119,7 @@ index be4e3533590cd36bbed6f17f3be5941e70f40b8a..684052e40649d499d6f538922354f544
|
||||
|
||||
if (!this.paperConfig().environment.disableIceAndSnow) { // Paper - Option to disable ice and snow
|
||||
for (int i = 0; i < randomTickSpeed; i++) {
|
||||
@@ -1033,12 +1033,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -1031,12 +1031,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
}
|
||||
} // Paper - Option to disable ice and snow
|
||||
|
||||
@@ -1181,7 +1181,7 @@ index be4e3533590cd36bbed6f17f3be5941e70f40b8a..684052e40649d499d6f538922354f544
|
||||
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 43a873acfb8596147e950713eab2ecfe0153b038..02a98ceb68fc69e926f1e0907ba5160bcaea1a1d 100644
|
||||
index 150f8364b805b59647f2f054e781ef65ebbc80d4..b8dfe7aab52dcad5710c262f308b869a0e0ae3e0 100644
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -96,8 +96,8 @@ import net.minecraft.tags.FluidTags;
|
||||
@@ -1224,7 +1224,7 @@ index 43a873acfb8596147e950713eab2ecfe0153b038..02a98ceb68fc69e926f1e0907ba5160b
|
||||
this.stopUsingItem();
|
||||
this.connection.send(new ClientboundPlayerAbilitiesPacket(this.getAbilities()));
|
||||
diff --git a/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
index 398c1733824b689520170de0be94006731afa5cd..f44467c6ceae194f781d046b8040698a398211fa 100644
|
||||
index 1e433543ad0e364ca4a18565aa22d48d9ca8a49c..5e6161be805e2a17965a6c449ba6e4c5ef572fd1 100644
|
||||
--- a/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
+++ b/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
@@ -24,7 +24,7 @@ import net.minecraft.network.protocol.cookie.ServerboundCookieResponsePacket;
|
||||
@@ -1236,7 +1236,7 @@ index 398c1733824b689520170de0be94006731afa5cd..f44467c6ceae194f781d046b8040698a
|
||||
import org.slf4j.Logger;
|
||||
|
||||
public abstract class ServerCommonPacketListenerImpl implements ServerCommonPacketListener, org.bukkit.craftbukkit.entity.CraftPlayer.TransferCookieConnection { // CraftBukkit
|
||||
@@ -252,7 +252,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
@@ -254,7 +254,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
}
|
||||
|
||||
protected void keepConnectionAlive() {
|
||||
@@ -1245,7 +1245,7 @@ index 398c1733824b689520170de0be94006731afa5cd..f44467c6ceae194f781d046b8040698a
|
||||
long millis = Util.getMillis();
|
||||
// Paper start - give clients a longer time to respond to pings as per pre 1.12.2 timings
|
||||
// This should effectively place the keepalive handling back to "as it was" before 1.12.2
|
||||
@@ -287,7 +287,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
@@ -289,7 +289,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3886,7 +3886,7 @@ index 51ae9e838ba836b57c49d76dd95a08caa72539dc..68b072b5ca2163fb164041151a5d134b
|
||||
}
|
||||
}
|
||||
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
|
||||
index 70f848346a13b3aedb4c0787b7bdc62b8733f885..83040a740a602314ec85e80f834cbccf743fe594 100644
|
||||
index 6e9fdb286efacd5e0310316d9f07e0ed3bab40b8..fb9df97e42a2d2c58e7de6f3528ddd109c19af50 100644
|
||||
--- a/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -72,8 +72,8 @@ import net.minecraft.tags.FluidTags;
|
||||
@@ -3920,7 +3920,7 @@ index 70f848346a13b3aedb4c0787b7bdc62b8733f885..83040a740a602314ec85e80f834cbccf
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -3252,11 +3252,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3255,11 +3255,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
this.run = this.run + (f3 - this.run) * 0.3F;
|
||||
@@ -3936,7 +3936,7 @@ index 70f848346a13b3aedb4c0787b7bdc62b8733f885..83040a740a602314ec85e80f834cbccf
|
||||
|
||||
// Paper start - stop large pitch and yaw changes from crashing the server
|
||||
this.yRotO += Math.round((this.getYRot() - this.yRotO) / 360.0F) * 360.0F;
|
||||
@@ -3267,7 +3267,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3270,7 +3270,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
this.yHeadRotO += Math.round((this.yHeadRot - this.yHeadRotO) / 360.0F) * 360.0F;
|
||||
|
||||
@@ -3945,7 +3945,7 @@ index 70f848346a13b3aedb4c0787b7bdc62b8733f885..83040a740a602314ec85e80f834cbccf
|
||||
this.animStep += f2;
|
||||
if (this.isFallFlying()) {
|
||||
this.fallFlyTicks++;
|
||||
@@ -3479,20 +3479,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3482,20 +3482,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
this.setDeltaMovement(d, d1, d2);
|
||||
@@ -3972,7 +3972,7 @@ index 70f848346a13b3aedb4c0787b7bdc62b8733f885..83040a740a602314ec85e80f834cbccf
|
||||
if (this.jumping && this.isAffectedByFluids()) {
|
||||
double fluidHeight;
|
||||
if (this.isInLava()) {
|
||||
@@ -3521,8 +3521,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3524,8 +3524,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.noJumpDelay = 0;
|
||||
}
|
||||
|
||||
@@ -3983,7 +3983,7 @@ index 70f848346a13b3aedb4c0787b7bdc62b8733f885..83040a740a602314ec85e80f834cbccf
|
||||
this.xxa *= 0.98F;
|
||||
this.zza *= 0.98F;
|
||||
if (this.isFallFlying()) {
|
||||
@@ -3544,8 +3544,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3547,8 +3547,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.applyEffectsFromBlocks(); // Plazma - Remove isClientSide on DedicatedServer
|
||||
|
||||
this.calculateEntityAnimation(this instanceof FlyingAnimal);
|
||||
@@ -3994,7 +3994,7 @@ index 70f848346a13b3aedb4c0787b7bdc62b8733f885..83040a740a602314ec85e80f834cbccf
|
||||
if (/*!this.level().isClientSide &&*/ !this.isDeadOrDying() && !this.freezeLocked) { // Paper - Freeze Tick Lock API // == true // Plazma - Remove isClientSide on DedicatedServer
|
||||
int ticksFrozen = this.getTicksFrozen();
|
||||
if (this.isInPowderSnow && this.canFreeze()) {
|
||||
@@ -3561,15 +3561,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3564,15 +3564,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.hurtServer(serverLevel, this.damageSources().freeze(), 1.0F);
|
||||
}
|
||||
|
||||
@@ -4014,7 +4014,7 @@ index 70f848346a13b3aedb4c0787b7bdc62b8733f885..83040a740a602314ec85e80f834cbccf
|
||||
// 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 b786fef4c0e8c1c4ec043904a574b445deae695a..be5a3da146062781de2e71fb4275e90b61ba44fd 100644
|
||||
index 1719945797b7f98d307135591805cd869c4acd21..9c26ae3f6842b4c4f8f1b2c7b2fad4b0558e55b2 100644
|
||||
--- a/net/minecraft/world/entity/Mob.java
|
||||
+++ b/net/minecraft/world/entity/Mob.java
|
||||
@@ -33,8 +33,8 @@ import net.minecraft.sounds.SoundEvent;
|
||||
@@ -4072,12 +4072,12 @@ index b786fef4c0e8c1c4ec043904a574b445deae695a..be5a3da146062781de2e71fb4275e90b
|
||||
// Paper end - Allow nerfed mobs to jump and float
|
||||
- ProfilerFiller profilerFiller = Profiler.get();
|
||||
- profilerFiller.push("sensing");
|
||||
- profilerFiller.pop();
|
||||
+ //ProfilerFiller profilerFiller = Profiler.get(); // Plazma - Remove Mojang Profiler
|
||||
+ //profilerFiller.push("sensing"); // Plazma - Remove Mojang Profiler
|
||||
this.sensing.tick();
|
||||
- profilerFiller.pop();
|
||||
+ //profilerFiller.pop(); // Plazma - Remove Mojang Profiler
|
||||
int i = this.tickCount + this.getId();
|
||||
if (i % this.level().plazmaConfig().entity.sensorTick == 0) this.sensing.tick(); // Plazma - Moved down; Configurable entity sensor tick
|
||||
if (i % 2 != 0 && this.tickCount > 1) {
|
||||
- profilerFiller.push("targetSelector");
|
||||
+ //profilerFiller.push("targetSelector"); // Plazma - Remove Mojang Profiler
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
--- a/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -216,7 +_,7 @@
|
||||
private long lastActionTime = Util.getMillis();
|
||||
@Nullable
|
||||
private Entity camera;
|
||||
- public boolean isChangingDimension;
|
||||
+ private boolean isChangingDimension; // Plazma - AT (public -> private); Use ServerPlayer#isChangingDimension()
|
||||
public boolean seenCredits;
|
||||
private final ServerRecipeBook recipeBook;
|
||||
@Nullable
|
||||
@@ -1361,7 +_,7 @@
|
||||
if (block instanceof RespawnAnchorBlock && (forced || blockState.getValue(RespawnAnchorBlock.CHARGE) > 0) && RespawnAnchorBlock.canSetSpawn(level)) {
|
||||
Optional<Vec3> optional = RespawnAnchorBlock.findStandUpPosition(EntityType.PLAYER, level, pos);
|
||||
|
||||
@@ -103,12 +103,12 @@
|
||||
+ }
|
||||
+
|
||||
+ int totalSpawned = 0;
|
||||
+ for (final ServerPlayer serverPlayer : level.players()) {
|
||||
+ if (serverPlayer.isSpectator() || (level.paperConfig().entities.behavior.phantomsDoNotSpawnOnCreativePlayers && serverPlayer.isCreative())) { // Paper - Add phantom creative and insomniac controls
|
||||
+ for (final ServerPlayer player : level.players()) {
|
||||
+ if (player.isSpectator() || (level.paperConfig().entities.behavior.phantomsDoNotSpawnOnCreativePlayers && player.isCreative())) { // Paper - Add phantom creative and insomniac controls
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ final BlockPos blockPos = serverPlayer.blockPosition();
|
||||
+ final BlockPos blockPos = player.blockPosition();
|
||||
+ if (level.dimensionType().hasSkyLight()
|
||||
+ && ((level.purpurConfig.phantomSpawnOnlyAboveSeaLevel && blockPos.getY() < level.getSeaLevel())
|
||||
+ || (level.purpurConfig.phantomSpawnOnlyWithVisibleSky && !level.canSeeSky(blockPos))
|
||||
@@ -122,7 +122,7 @@
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ final ServerStatsCounter stats = serverPlayer.getStats();
|
||||
+ final ServerStatsCounter stats = player.getStats();
|
||||
+ int timeSinceRest = Mth.clamp(stats.getValue(Stats.CUSTOM.get(Stats.TIME_SINCE_REST)), 1, Integer.MAX_VALUE);
|
||||
+ if (randomSource.nextInt(timeSinceRest) < level.paperConfig().entities.behavior.playerInsomniaStartTicks) { // Paper - Ability to control player's insomnia and phantoms
|
||||
+ continue;
|
||||
@@ -146,7 +146,7 @@
|
||||
+
|
||||
+ for (int i = 0; i < maxAttempts; i++) {
|
||||
+ // Paper start - PhantomPreSpawnEvent
|
||||
+ com.destroystokyo.paper.event.entity.PhantomPreSpawnEvent event = new com.destroystokyo.paper.event.entity.PhantomPreSpawnEvent(io.papermc.paper.util.MCUtil.toLocation(level, blockPos1), serverPlayer.getBukkitEntity(), org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL);
|
||||
+ com.destroystokyo.paper.event.entity.PhantomPreSpawnEvent event = new com.destroystokyo.paper.event.entity.PhantomPreSpawnEvent(io.papermc.paper.util.MCUtil.toLocation(level, blockPos1), player.getBukkitEntity(), org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL);
|
||||
+ if (!event.callEvent()) {
|
||||
+ if (event.shouldAbortSpawn()) {
|
||||
+ break;
|
||||
@@ -163,7 +163,7 @@
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ phantom.spawningEntity = serverPlayer.getUUID(); // Paper - PhantomPreSpawnEvent
|
||||
+ phantom.spawningEntity = player.getUUID(); // Paper - PhantomPreSpawnEvent
|
||||
+ phantom.moveTo(blockPos1, 0.0F, 0.0F);
|
||||
+ spawnGroupData = phantom.finalizeSpawn(level, currentDifficultyAt, EntitySpawnReason.NATURAL, spawnGroupData);
|
||||
+ level.addFreshEntityWithPassengers(phantom, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL); // CraftBukkit
|
||||
|
||||
Reference in New Issue
Block a user