@@ -174,7 +174,7 @@ public abstract class MixinMinecraftServer {
|
|||||||
|
|
||||||
for (int i = 0; i < worlds.size(); ++i) {
|
for (int i = 0; i < worlds.size(); ++i) {
|
||||||
WorldServer world = worlds.get(i);
|
WorldServer world = worlds.get(i);
|
||||||
tickConflictSync(world);
|
tickUnsafeSync(world);
|
||||||
|
|
||||||
world.getTracker().updatePlayers();
|
world.getTracker().updatePlayers();
|
||||||
world.explosionDensityCache.clear(); // Paper - Optimize explosions
|
world.explosionDensityCache.clear(); // Paper - Optimize explosions
|
||||||
@@ -199,8 +199,10 @@ public abstract class MixinMinecraftServer {
|
|||||||
MinecraftTimings.tickablesTimer.stopTiming();
|
MinecraftTimings.tickablesTimer.stopTiming();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void tickConflictSync(WorldServer world) {
|
public void tickUnsafeSync(WorldServer world) {
|
||||||
;
|
world.timings.doChunkMap.startTiming();
|
||||||
|
world.manager.flush();
|
||||||
|
world.timings.doChunkMap.stopTiming();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package io.akarin.server.mixin.core;
|
||||||
|
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||||
|
|
||||||
|
import net.minecraft.server.WorldServer;
|
||||||
|
|
||||||
|
@Mixin(value = WorldServer.class, remap = false)
|
||||||
|
public class MixinWorldServer {
|
||||||
|
@Redirect(method = "doTick", at = @At(
|
||||||
|
value = "INVOKE",
|
||||||
|
target = "net/minecraft/server/PlayerChunkMap.flush()V"
|
||||||
|
))
|
||||||
|
public void onFlush() {} // Migrated to main thread
|
||||||
|
}
|
||||||
@@ -17,6 +17,7 @@ import org.spongepowered.asm.mixin.Overwrite;
|
|||||||
import org.spongepowered.asm.mixin.Shadow;
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
|
||||||
|
import io.akarin.api.Akari;
|
||||||
import io.akarin.api.LocalAddress;
|
import io.akarin.api.LocalAddress;
|
||||||
import io.akarin.server.core.AkarinGlobalConfig;
|
import io.akarin.server.core.AkarinGlobalConfig;
|
||||||
import io.akarin.server.core.ChannelAdapter;
|
import io.akarin.server.core.ChannelAdapter;
|
||||||
|
|||||||
@@ -47,6 +47,12 @@ import org.bukkit.util.Vector;
|
|||||||
import org.spigotmc.event.player.PlayerSpawnLocationEvent;
|
import org.spigotmc.event.player.PlayerSpawnLocationEvent;
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <b>Akarin Changes Note</b><br>
|
||||||
|
* <br>
|
||||||
|
* 1) Modify disconnect and connect messages<br>
|
||||||
|
* @author cakoyo
|
||||||
|
*/
|
||||||
public abstract class PlayerList {
|
public abstract class PlayerList {
|
||||||
|
|
||||||
public static final File a = new File("banned-players.json");
|
public static final File a = new File("banned-players.json");
|
||||||
|
|||||||
1517
sources/src/main/java/net/minecraft/server/WorldServer.java
Normal file
1517
sources/src/main/java/net/minecraft/server/WorldServer.java
Normal file
File diff suppressed because it is too large
Load Diff
@@ -13,10 +13,10 @@
|
|||||||
"bootstrap.MetricsBootstrap",
|
"bootstrap.MetricsBootstrap",
|
||||||
|
|
||||||
"core.MixinMCUtil",
|
"core.MixinMCUtil",
|
||||||
"core.MixinPlayerList",
|
|
||||||
"core.MixinCommandBan",
|
"core.MixinCommandBan",
|
||||||
"core.MixinCommandKick",
|
"core.MixinCommandKick",
|
||||||
"core.MixinCraftServer",
|
"core.MixinCraftServer",
|
||||||
|
"core.MixinWorldServer",
|
||||||
"core.MixinCommandBanIp",
|
"core.MixinCommandBanIp",
|
||||||
"core.MixinAsyncCatcher",
|
"core.MixinAsyncCatcher",
|
||||||
"core.MixinTimingHandler",
|
"core.MixinTimingHandler",
|
||||||
|
|||||||
Reference in New Issue
Block a user