From cede9c99fa90da492e10c7d49d40c8c125706d8e Mon Sep 17 00:00:00 2001 From: Sotr Date: Mon, 16 Jul 2018 04:30:57 +0800 Subject: [PATCH] [CI-SKIP] Removes unused nms changes w/ Better changes note for unmixinable classes --- .../java/co/aikar/timings/TimingHandler.java | 6 +- .../server/mixin/lighting/MixinChunk.java | 2 +- .../main/java/net/minecraft/server/Chunk.java | 11 +-- .../minecraft/server/EnchantmentManager.java | 6 +- .../net/minecraft/server/EntityPlayer.java | 7 +- .../net/minecraft/server/EntityTracker.java | 6 +- .../minecraft/server/EntityTrackerEntry.java | 4 + .../net/minecraft/server/EnumDirection.java | 6 +- .../net/minecraft/server/ItemEnderEye.java | 6 +- .../net/minecraft/server/MinecraftServer.java | 4 + .../net/minecraft/server/NetworkManager.java | 10 +- .../minecraft/server/PaperLightingQueue.java | 98 ------------------- .../net/minecraft/server/PlayerChunk.java | 6 +- .../minecraft/server/PlayerConnection.java | 11 +-- .../java/net/minecraft/server/PlayerList.java | 6 +- .../net/minecraft/server/TileEntitySkull.java | 4 + .../java/net/minecraft/server/WorldData.java | 6 +- .../net/minecraft/server/WorldServer.java | 7 +- .../org/bukkit/craftbukkit/CraftServer.java | 5 +- .../craftbukkit/entity/CraftPlayer.java | 6 +- 20 files changed, 55 insertions(+), 162 deletions(-) delete mode 100644 sources/src/main/java/net/minecraft/server/PaperLightingQueue.java diff --git a/sources/src/main/java/co/aikar/timings/TimingHandler.java b/sources/src/main/java/co/aikar/timings/TimingHandler.java index f51b4eeb2..72950f91d 100644 --- a/sources/src/main/java/co/aikar/timings/TimingHandler.java +++ b/sources/src/main/java/co/aikar/timings/TimingHandler.java @@ -30,10 +30,8 @@ import org.bukkit.Bukkit; import java.util.logging.Level; /** - * Akarin Changes Note
- *
- * 1) Add volatile to fields
- * @author cakoyo + * Akarin Changes Note + * 1) Add volatile to fields (safety issue) */ class TimingHandler implements Timing { diff --git a/sources/src/main/java/io/akarin/server/mixin/lighting/MixinChunk.java b/sources/src/main/java/io/akarin/server/mixin/lighting/MixinChunk.java index 755c41fba..b2d682a85 100644 --- a/sources/src/main/java/io/akarin/server/mixin/lighting/MixinChunk.java +++ b/sources/src/main/java/io/akarin/server/mixin/lighting/MixinChunk.java @@ -293,7 +293,7 @@ public abstract class MixinChunk implements IMixinChunk { if (chunk == null) { continue; } - chunk.checkLightSide(enumfacing.opposite()); + chunk.a(enumfacing.opposite()); // PAIL: checkLightSide } this.setSkylightUpdated(); diff --git a/sources/src/main/java/net/minecraft/server/Chunk.java b/sources/src/main/java/net/minecraft/server/Chunk.java index 245ac4ff3..42acb6d9a 100644 --- a/sources/src/main/java/net/minecraft/server/Chunk.java +++ b/sources/src/main/java/net/minecraft/server/Chunk.java @@ -20,11 +20,9 @@ import org.bukkit.Server; // CraftBukkit import org.bukkit.craftbukkit.util.CraftMagicNumbers; // Paper /** - * Akarin Changes Note
- *
- * 1) Add volatile to fields
- * 2) Add OBFHELPER
- * @author cakoyo + * Akarin Changes Note + * 1) Add volatile to fields (async lighting) + * 2) Expose private methods (async lighting) */ public class Chunk { @@ -1340,8 +1338,7 @@ public class Chunk { this.h(false); } - public void checkLightSide(EnumDirection direction) { a(direction); } // Akarin - OBFHELPER - private void a(EnumDirection enumdirection) { + public void a(EnumDirection enumdirection) { // Akarin - private -> public if (this.done) { int i; diff --git a/sources/src/main/java/net/minecraft/server/EnchantmentManager.java b/sources/src/main/java/net/minecraft/server/EnchantmentManager.java index e86e978fc..10e89e7e9 100644 --- a/sources/src/main/java/net/minecraft/server/EnchantmentManager.java +++ b/sources/src/main/java/net/minecraft/server/EnchantmentManager.java @@ -11,10 +11,8 @@ import java.util.Random; import java.util.Map.Entry; /** - * Akarin Changes Note
- *
- * 1) Expose private members
- * @author cakoyo + * Akarin Changes Note + * 1) Expose private members (cause mixin errors) */ public class EnchantmentManager { diff --git a/sources/src/main/java/net/minecraft/server/EntityPlayer.java b/sources/src/main/java/net/minecraft/server/EntityPlayer.java index 4c5cf0cbf..e22dbfdea 100644 --- a/sources/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/sources/src/main/java/net/minecraft/server/EntityPlayer.java @@ -32,10 +32,9 @@ import org.bukkit.inventory.MainHand; // CraftBukkit end /** - * Akarin Changes Note
- *
- * 1) Add volatile to fields
- * @author cakoyo + * Akarin Changes Note + * 1) Add volatile to fields (time update) + * 2) Add lock to player track (safety issue) */ public class EntityPlayer extends EntityHuman implements ICrafting { diff --git a/sources/src/main/java/net/minecraft/server/EntityTracker.java b/sources/src/main/java/net/minecraft/server/EntityTracker.java index eb92f4155..aeb5a8cd3 100644 --- a/sources/src/main/java/net/minecraft/server/EntityTracker.java +++ b/sources/src/main/java/net/minecraft/server/EntityTracker.java @@ -12,10 +12,8 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; /** - * Akarin Changes Note
- *
- * 1) Add lock for entries-set operations
- * @author cakoyo + * Akarin Changes Note + * 1) Add lock for entries set operations (safety issue) */ public class EntityTracker { diff --git a/sources/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/sources/src/main/java/net/minecraft/server/EntityTrackerEntry.java index 66a9c2625..6645c26ea 100644 --- a/sources/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/sources/src/main/java/net/minecraft/server/EntityTrackerEntry.java @@ -13,6 +13,10 @@ import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerVelocityEvent; // CraftBukkit end +/** + * Akarin Changes Note + * 1) Make trackedPlayerMap thread-safe (safety issue) + */ public class EntityTrackerEntry { private static final Logger c = LogManager.getLogger(); diff --git a/sources/src/main/java/net/minecraft/server/EnumDirection.java b/sources/src/main/java/net/minecraft/server/EnumDirection.java index 53e445c9b..141e1c302 100644 --- a/sources/src/main/java/net/minecraft/server/EnumDirection.java +++ b/sources/src/main/java/net/minecraft/server/EnumDirection.java @@ -10,10 +10,8 @@ import java.util.Random; import javax.annotation.Nullable; /** - * Akarin Changes Note
- *
- * 1) Add OBFHELPER
- * @author cakoyo + * Akarin Changes Note + * 1) Add OBFHELPER (panda redstone) */ public enum EnumDirection implements INamable { diff --git a/sources/src/main/java/net/minecraft/server/ItemEnderEye.java b/sources/src/main/java/net/minecraft/server/ItemEnderEye.java index ae70e0e73..57bab9f03 100644 --- a/sources/src/main/java/net/minecraft/server/ItemEnderEye.java +++ b/sources/src/main/java/net/minecraft/server/ItemEnderEye.java @@ -3,10 +3,8 @@ package net.minecraft.server; import io.akarin.server.core.AkarinGlobalConfig; /** - * Akarin Changes Note
- *
- * 1) Add end portal disable feature
- * @author cakoyo + * Akarin Changes Note + * 1) Add end portal disable feature (feature) */ public class ItemEnderEye extends Item { diff --git a/sources/src/main/java/net/minecraft/server/MinecraftServer.java b/sources/src/main/java/net/minecraft/server/MinecraftServer.java index e9bf949cd..d2f7ecd79 100644 --- a/sources/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/sources/src/main/java/net/minecraft/server/MinecraftServer.java @@ -43,6 +43,10 @@ import joptsimple.OptionSet; import org.spigotmc.SlackActivityAccountant; // Spigot import co.aikar.timings.MinecraftTimings; // Paper +/** + * Akarin Changes Note + * 1) Make worlds list thread-safe (slack service) + */ public abstract class MinecraftServer implements ICommandListener, Runnable, IAsyncTaskHandler, IMojangStatistics { private static MinecraftServer SERVER; // Paper diff --git a/sources/src/main/java/net/minecraft/server/NetworkManager.java b/sources/src/main/java/net/minecraft/server/NetworkManager.java index e0439887d..047c67c29 100644 --- a/sources/src/main/java/net/minecraft/server/NetworkManager.java +++ b/sources/src/main/java/net/minecraft/server/NetworkManager.java @@ -32,11 +32,11 @@ import org.apache.logging.log4j.Marker; import org.apache.logging.log4j.MarkerManager; /** - * Akarin Changes Note
- *
- * 1) Add volatile to fields
- * 2) Expose private members
- * @author cakoyo + * Akarin Changes Note + * 1) Add volatile to fields (nsc) + * 2) Expose private members (nsc) + * 3) Changes lock type to updatable lock (compatibility) + * 4) Removes unneed array creation (performance) */ public class NetworkManager extends SimpleChannelInboundHandler> { diff --git a/sources/src/main/java/net/minecraft/server/PaperLightingQueue.java b/sources/src/main/java/net/minecraft/server/PaperLightingQueue.java deleted file mode 100644 index 8fa62c20b..000000000 --- a/sources/src/main/java/net/minecraft/server/PaperLightingQueue.java +++ /dev/null @@ -1,98 +0,0 @@ -package net.minecraft.server; - -import co.aikar.timings.Timing; -import it.unimi.dsi.fastutil.objects.ObjectCollection; - -import java.util.ArrayDeque; - -/** - * Akarin Changes Note
- *
- * 1) Expose private members
- * @author cakoyo - */ -class PaperLightingQueue { - private static final long MAX_TIME = (long) (1000000000 / 20 * .95); - private static int updatesThisTick; - - - static void processQueue(long curTime) { - updatesThisTick = 0; - - final long startTime = System.nanoTime(); - final long maxTickTime = MAX_TIME - (startTime - curTime); - - START: - for (World world : MinecraftServer.getServer().worlds) { - if (!world.paperConfig.queueLightUpdates) { - continue; - } - - ObjectCollection loadedChunks = ((WorldServer) world).getChunkProviderServer().chunks.values(); - for (Chunk chunk : loadedChunks.toArray(new Chunk[loadedChunks.size()])) { - if (chunk.lightingQueue.processQueue(startTime, maxTickTime)) { - break START; - } - } - } - } - - public static class LightingQueue extends ArrayDeque { // Akarin - public - final private Chunk chunk; - - LightingQueue(Chunk chunk) { - super(); - this.chunk = chunk; - } - - /** - * Processes the lighting queue for this chunk - * - * @param startTime If start Time is 0, we will not limit execution time - * @param maxTickTime Maximum time to spend processing lighting updates - * @return true to abort processing furthur lighting updates - */ - private boolean processQueue(long startTime, long maxTickTime) { - if (this.isEmpty()) { - return false; - } - try (Timing ignored = chunk.world.timings.lightingQueueTimer.startTiming()) { - Runnable lightUpdate; - while ((lightUpdate = this.poll()) != null) { - lightUpdate.run(); - if (startTime > 0 && ++PaperLightingQueue.updatesThisTick % 10 == 0 && PaperLightingQueue.updatesThisTick > 10) { - if (System.nanoTime() - startTime > maxTickTime) { - return true; - } - } - } - } - - return false; - } - - /** - * Flushes lighting updates to unload the chunk - */ - public void processUnload() { // Akarin - public - if (!chunk.world.paperConfig.queueLightUpdates) { - return; - } - processQueue(0, 0); // No timeout - - final int radius = 1; // TODO: bitflip, why should this ever be 2? - for (int x = chunk.locX - radius; x <= chunk.locX + radius; ++x) { - for (int z = chunk.locZ - radius; z <= chunk.locZ + radius; ++z) { - if (x == chunk.locX && z == chunk.locZ) { - continue; - } - - Chunk neighbor = MCUtil.getLoadedChunkWithoutMarkingActive(chunk.world, x, z); - if (neighbor != null) { - neighbor.lightingQueue.processQueue(0, 0); // No timeout - } - } - } - } - } -} diff --git a/sources/src/main/java/net/minecraft/server/PlayerChunk.java b/sources/src/main/java/net/minecraft/server/PlayerChunk.java index bc0434a51..aa5e8722f 100644 --- a/sources/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/sources/src/main/java/net/minecraft/server/PlayerChunk.java @@ -14,10 +14,8 @@ import org.bukkit.craftbukkit.chunkio.ChunkIOExecutor; // CraftBukkit end /** - * Akarin Changes Note
- *
- * 1) Check player list empty
- * @author cakoyo + * Akarin Changes Note + * 1) Check whether players empty (performance, MC-120780) */ public class PlayerChunk { diff --git a/sources/src/main/java/net/minecraft/server/PlayerConnection.java b/sources/src/main/java/net/minecraft/server/PlayerConnection.java index e247281db..f892a865e 100644 --- a/sources/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/sources/src/main/java/net/minecraft/server/PlayerConnection.java @@ -62,12 +62,11 @@ import co.aikar.timings.MinecraftTimings; // Paper // CraftBukkit end /** - * Akarin Changes Note
- *
- * 1) Add volatile to fields
- * 2) Expose private members
- * 3) Migrated keep alive packet handling to service thread
- * @author cakoyo + * Akarin Changes Note + * 1) Add volatile to fields (slack service) + * 2) Expose private members (slack service) + * 3) Removed keep-alive codes (slack service) + * 4) Accessible keep-alive limit (feature, compatibility) */ public class PlayerConnection implements PacketListenerPlayIn, ITickable { diff --git a/sources/src/main/java/net/minecraft/server/PlayerList.java b/sources/src/main/java/net/minecraft/server/PlayerList.java index ce4b58d43..0ec255217 100644 --- a/sources/src/main/java/net/minecraft/server/PlayerList.java +++ b/sources/src/main/java/net/minecraft/server/PlayerList.java @@ -48,10 +48,8 @@ import org.spigotmc.event.player.PlayerSpawnLocationEvent; // CraftBukkit end /** - * Akarin Changes Note
- *
- * 1) Modify disconnect and connect messages
- * @author cakoyo + * Akarin Changes Note + * 1) Changes (dis)connect messages (feature) */ public abstract class PlayerList { diff --git a/sources/src/main/java/net/minecraft/server/TileEntitySkull.java b/sources/src/main/java/net/minecraft/server/TileEntitySkull.java index df58de738..60aa80fa8 100644 --- a/sources/src/main/java/net/minecraft/server/TileEntitySkull.java +++ b/sources/src/main/java/net/minecraft/server/TileEntitySkull.java @@ -24,6 +24,10 @@ import com.mojang.authlib.ProfileLookupCallback; import java.util.concurrent.Callable; // Spigot end +/** + * Akarin Changes Note + * 1) Guava -> Caffeine (performance) + */ public class TileEntitySkull extends TileEntity /*implements ITickable*/ { // Paper - remove tickable private int a; diff --git a/sources/src/main/java/net/minecraft/server/WorldData.java b/sources/src/main/java/net/minecraft/server/WorldData.java index 943557e68..0c64de254 100644 --- a/sources/src/main/java/net/minecraft/server/WorldData.java +++ b/sources/src/main/java/net/minecraft/server/WorldData.java @@ -12,10 +12,8 @@ import org.bukkit.event.weather.WeatherChangeEvent; // CraftBukkit end /** - * Akarin Changes Note
- *
- * 1) Add volatile to fields
- * @author cakoyo + * Akarin Changes Note + * 1) Add volatile to fields (slack service) */ public class WorldData { diff --git a/sources/src/main/java/net/minecraft/server/WorldServer.java b/sources/src/main/java/net/minecraft/server/WorldServer.java index 27c0c28b4..d1931dae2 100644 --- a/sources/src/main/java/net/minecraft/server/WorldServer.java +++ b/sources/src/main/java/net/minecraft/server/WorldServer.java @@ -27,10 +27,9 @@ import org.bukkit.event.weather.LightningStrikeEvent; // CraftBukkit end /** - * Akarin Changes Note
- *
- * 1) Expose private members
- * @author cakoyo + * Akarin Changes Note + * 1) Expose private members (core, safety issue) + * 2) Removed hardcore difficulty codes (slack service, feature) */ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/sources/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/sources/src/main/java/org/bukkit/craftbukkit/CraftServer.java index c34dfc198..71583c422 100644 --- a/sources/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/sources/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -138,7 +138,10 @@ import net.md_5.bungee.api.chat.BaseComponent; import javax.annotation.Nullable; // Paper import javax.annotation.Nonnull; // Paper - +/** + * Akarin Changes Note + * 1) Guava -> Caffeine (performance) + */ public final class CraftServer implements Server { private final String serverName = "Paper"; private final String serverVersion; diff --git a/sources/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/sources/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java index 6b7455acc..66c757e17 100644 --- a/sources/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/sources/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -76,10 +76,8 @@ import org.bukkit.scoreboard.Scoreboard; import javax.annotation.Nullable; /** - * Akarin Changes Note
- *
- * 1) Make hidden-players-set concurrent
- * @author cakoyo + * Akarin Changes Note + * 1) Make hidden players thread-safe (safety issue) */ @DelegateDeserialization(CraftOfflinePlayer.class) public class CraftPlayer extends CraftHumanEntity implements Player {