From f6cbfe939900549c528e664501b499e803841d82 Mon Sep 17 00:00:00 2001 From: Sotr Date: Wed, 30 May 2018 16:23:30 +0800 Subject: [PATCH] Better handle server name changes --- .../server/mixin/core/MixinCraftServer.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) 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; } }