Better handle server name changes

This commit is contained in:
Sotr
2018-05-30 16:23:30 +08:00
parent 0425dbce8f
commit f6cbfe9399

View File

@@ -1,14 +1,25 @@
package io.akarin.server.mixin.core;
import org.bukkit.craftbukkit.CraftServer;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Mutable;
import org.spongepowered.asm.mixin.Overwrite;
import org.spongepowered.asm.mixin.Shadow;
@Mixin(value = CraftServer.class, remap = false)
public class MixinCraftServer {
@Shadow @Final @Mutable private String serverName;
private boolean unhookServerName = true;
@Overwrite
public String getName() {
return "Akarin";
// We cannot apply the name modification in <init> method,
// cause the initializer will be added to the tail
if (unhookServerName) {
serverName = "Akarin";
unhookServerName = false;
}
return serverName;
}
}