Fixes a crash, #6 #7, also fixes typo #8

This commit is contained in:
Sotr
2018-06-13 22:45:08 +08:00
parent 2b49aba77c
commit f45908ae38
6 changed files with 1546 additions and 4 deletions

View File

@@ -174,7 +174,7 @@ public abstract class MixinMinecraftServer {
for (int i = 0; i < worlds.size(); ++i) {
WorldServer world = worlds.get(i);
tickConflictSync(world);
tickUnsafeSync(world);
world.getTracker().updatePlayers();
world.explosionDensityCache.clear(); // Paper - Optimize explosions
@@ -199,8 +199,10 @@ public abstract class MixinMinecraftServer {
MinecraftTimings.tickablesTimer.stopTiming();
}
public void tickConflictSync(WorldServer world) {
;
public void tickUnsafeSync(WorldServer world) {
world.timings.doChunkMap.startTiming();
world.manager.flush();
world.timings.doChunkMap.stopTiming();
}
}

View File

@@ -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
}

View File

@@ -17,6 +17,7 @@ import org.spongepowered.asm.mixin.Overwrite;
import org.spongepowered.asm.mixin.Shadow;
import com.google.common.collect.Lists;
import io.akarin.api.Akari;
import io.akarin.api.LocalAddress;
import io.akarin.server.core.AkarinGlobalConfig;
import io.akarin.server.core.ChannelAdapter;

View File

@@ -47,6 +47,12 @@ import org.bukkit.util.Vector;
import org.spigotmc.event.player.PlayerSpawnLocationEvent;
// CraftBukkit end
/**
* <b>Akarin Changes Note</b><br>
* <br>
* 1) Modify disconnect and connect messages<br>
* @author cakoyo
*/
public abstract class PlayerList {
public static final File a = new File("banned-players.json");

File diff suppressed because it is too large Load Diff