diff --git a/sources/src/main/java/io/akarin/server/mixin/core/MixinCraftServer.java b/sources/src/main/java/io/akarin/server/mixin/core/MixinCraftServer.java index 19f7459f8..3311f0fee 100644 --- a/sources/src/main/java/io/akarin/server/mixin/core/MixinCraftServer.java +++ b/sources/src/main/java/io/akarin/server/mixin/core/MixinCraftServer.java @@ -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 method, + // cause the initializer will be added to the tail + if (unhookServerName) { + serverName = "Akarin"; + unhookServerName = false; + } + return serverName; } }