diff --git a/sources/src/main/java/io/akarin/server/mixin/core/MixinPlayerConnection.java b/sources/src/main/java/io/akarin/server/mixin/core/MixinPlayerConnection.java index 6ec221159..0af09df21 100644 --- a/sources/src/main/java/io/akarin/server/mixin/core/MixinPlayerConnection.java +++ b/sources/src/main/java/io/akarin/server/mixin/core/MixinPlayerConnection.java @@ -9,6 +9,6 @@ import net.minecraft.server.PlayerConnection; public class MixinPlayerConnection { @Overwrite private long d() { - return System.currentTimeMillis(); + return System.currentTimeMillis(); // nanoTime() / 1000000L } } diff --git a/sources/src/main/java/net/minecraft/server/NetworkManager.java b/sources/src/main/java/net/minecraft/server/NetworkManager.java index 7844b8890..8c71f7599 100644 --- a/sources/src/main/java/net/minecraft/server/NetworkManager.java +++ b/sources/src/main/java/net/minecraft/server/NetworkManager.java @@ -17,6 +17,7 @@ import io.netty.handler.timeout.TimeoutException; import io.netty.util.AttributeKey; import io.netty.util.concurrent.Future; import io.netty.util.concurrent.GenericFutureListener; + import java.net.SocketAddress; import java.util.Queue; import java.util.concurrent.locks.ReentrantReadWriteLock; @@ -34,7 +35,6 @@ import org.apache.logging.log4j.MarkerManager; *
* 1) Add volatile to fields
* 2) Expose private members
- * 3) Change writeLock back to readLock (Paper Anti-XRay modification) by integrating checks * @author cakoyo */ public class NetworkManager extends SimpleChannelInboundHandler> { diff --git a/sources/src/main/java/net/minecraft/server/PlayerConnection.java b/sources/src/main/java/net/minecraft/server/PlayerConnection.java index ea8a45b4c..42489ffe5 100644 --- a/sources/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/sources/src/main/java/net/minecraft/server/PlayerConnection.java @@ -107,7 +107,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { private int receivedMovePackets; private int processedMovePackets; private AutoRecipe H = new AutoRecipe(); - private static final long KEEPALIVE_LIMIT = /*Long.getLong("paper.playerconnection.keepalive", 30)*/ AkarinGlobalConfig.keepAliveTimeout * 1000; // Paper - provide property to set keepalive limit // Akarin - more accessible - keep for compatibility + private static final long KEEPALIVE_LIMIT = /*Long.getLong("paper.playerconnection.keepalive", 30)*/ AkarinGlobalConfig.keepAliveTimeout * 1000; // Paper - provide property to set keepalive limit // Akarin - more accessible - keep changes public PlayerConnection(MinecraftServer minecraftserver, NetworkManager networkmanager, EntityPlayer entityplayer) { this.minecraftServer = minecraftserver; @@ -1154,7 +1154,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { // CraftBukkit start - Rarely it would send a disconnect line twice if (this.processedDisconnect) { return; - }else { + } else { this.processedDisconnect = true; } // CraftBukkit end diff --git a/sources/src/main/java/net/minecraft/server/WorldServer.java b/sources/src/main/java/net/minecraft/server/WorldServer.java index d2b370e53..15f1741b3 100644 --- a/sources/src/main/java/net/minecraft/server/WorldServer.java +++ b/sources/src/main/java/net/minecraft/server/WorldServer.java @@ -3,7 +3,6 @@ package net.minecraft.server; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.util.concurrent.ListenableFuture; - import java.io.File; import java.util.ArrayList; import java.util.Collection; @@ -30,10 +29,11 @@ import org.bukkit.event.weather.LightningStrikeEvent; /** * Akarin Changes Note
*
- * 1) Add tick lock for per world
+ * 1) Add lock object for per world
* @author cakoyo */ public class WorldServer extends World implements IAsyncTaskHandler { + public final Object tickLock = new Object(); // Akarin - in case concurrently tick one world private static final Logger a = LogManager.getLogger(); boolean stopPhysicsEvent = false; // Paper @@ -52,8 +52,6 @@ public class WorldServer extends World implements IAsyncTaskHandler { private final WorldServer.BlockActionDataList[] U = new WorldServer.BlockActionDataList[] { new WorldServer.BlockActionDataList(null), new WorldServer.BlockActionDataList(null)}; private int V; private final List W = Lists.newArrayList(); - - public final Object tickLock = new Object(); // Akarin - in case concurrently tick one world // CraftBukkit start public final int dimension;