diff --git a/sources/src/main/java/io/akarin/server/mixin/core/MixinMinecraftServer.java b/sources/src/main/java/io/akarin/server/mixin/core/MixinMinecraftServer.java index 9db4f53fa..1867ed7b7 100644 --- a/sources/src/main/java/io/akarin/server/mixin/core/MixinMinecraftServer.java +++ b/sources/src/main/java/io/akarin/server/mixin/core/MixinMinecraftServer.java @@ -5,6 +5,8 @@ import java.util.Queue; import java.util.concurrent.ExecutorCompletionService; import java.util.concurrent.Executors; import java.util.concurrent.FutureTask; + +import org.bukkit.World; import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.chunkio.ChunkIOExecutor; import org.bukkit.event.inventory.InventoryMoveItemEvent; @@ -197,8 +199,9 @@ public abstract class MixinMinecraftServer { Akari.worldTiming.startTiming(); if (AkarinGlobalConfig.legacyWorldTimings) { for (int i = 0; i < worlds.size(); ++i) { - worlds.get(i).timings.tickEntities.startTiming(); - worlds.get(i).timings.doTick.startTiming(); + WorldServer world = worlds.get(i); + world.timings.tickEntities.startTiming(); + world.timings.doTick.startTiming(); } } Akari.STAGE_TICK.submit(() -> { @@ -226,8 +229,9 @@ public abstract class MixinMinecraftServer { Akari.worldTiming.stopTiming(); if (AkarinGlobalConfig.legacyWorldTimings) { for (int i = 0; i < worlds.size(); ++i) { - worlds.get(i).timings.tickEntities.stopTiming(); - worlds.get(i).timings.doTick.stopTiming(); + WorldServer world = worlds.get(i); + world.timings.tickEntities.stopTiming(); + world.timings.doTick.stopTiming(); } } diff --git a/sources/src/main/java/io/akarin/server/mixin/core/MixinWorld.java b/sources/src/main/java/io/akarin/server/mixin/core/MixinWorld.java index bfaf7d016..fdf9d2abb 100644 --- a/sources/src/main/java/io/akarin/server/mixin/core/MixinWorld.java +++ b/sources/src/main/java/io/akarin/server/mixin/core/MixinWorld.java @@ -5,6 +5,7 @@ import java.util.List; import javax.annotation.Nullable; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Overwrite; import org.spongepowered.asm.mixin.Shadow; import net.minecraft.server.AxisAlignedBB; @@ -21,6 +22,7 @@ public abstract class MixinWorld { /** * Returns true if there are no solid, live entities in the specified AxisAlignedBB, excluding the given entity */ + @Overwrite public boolean a(AxisAlignedBB box, @Nullable Entity target) { // PAIL: checkNoEntityCollision List list = this.getEntities(null, box); diff --git a/sources/src/main/java/io/akarin/server/mixin/core/MixinWorldServer.java b/sources/src/main/java/io/akarin/server/mixin/core/MixinWorldServer.java index 94c809e83..28fcffe46 100644 --- a/sources/src/main/java/io/akarin/server/mixin/core/MixinWorldServer.java +++ b/sources/src/main/java/io/akarin/server/mixin/core/MixinWorldServer.java @@ -4,7 +4,6 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; -import io.akarin.api.internal.Akari; import io.akarin.api.internal.mixin.IMixinLockProvider; import net.minecraft.server.WorldServer; @@ -14,9 +13,7 @@ public abstract class MixinWorldServer implements IMixinLockProvider { value = "INVOKE", target = "net/minecraft/server/PlayerChunkMap.flush()V" )) - public void onFlush() { - Akari.logger.warn("Cancelled"); - } // Migrated to main thread + public void onFlush() {} // Migrated to main thread private final Object tickLock = new Object();