浏览代码

potentially fixed a tab list sync error on join

Kajetan Johannes Hammerle 5 年之前
父节点
当前提交
b9ca4270d8

+ 5 - 2
src/main/java/me/km/overrides/ModEntityPlayerMP.java

@@ -52,11 +52,14 @@ public class ModEntityPlayerMP extends ServerPlayerEntity
         tickData();
     }
     
-    public void setTabListDisplayName(String name)
+    public void setTabListDisplayName(String name, ISnuviScheduler scheduler)
     {
         tabDisplayName = new StringTextComponent(name);
-        server.getPlayerList().sendPacketToAllPlayers(
+        scheduler.scheduleTask(() -> 
+        {
+            server.getPlayerList().sendPacketToAllPlayers(
                 new SPlayerListItemPacket(SPlayerListItemPacket.Action.UPDATE_DISPLAY_NAME, this));
+        });
     }
 
     @Override

+ 1 - 3
src/main/java/me/km/snuviscript/MinecraftFunctions.java

@@ -25,7 +25,6 @@ import me.hammerle.snuviscript.code.Script;
 import me.hammerle.snuviscript.code.ScriptManager;
 import me.hammerle.snuviscript.code.SnuviUtils;
 import me.hammerle.snuviscript.inputprovider.InputProvider;
-import me.km.Server;
 import me.km.blockprotections.IBlockProtection;
 import me.km.databank.DataBank;
 import me.km.utils.Location;
@@ -76,7 +75,6 @@ import net.minecraft.command.arguments.BlockStateArgument;
 import net.minecraft.command.arguments.BlockStateParser;
 import net.minecraft.command.arguments.EnchantmentArgument;
 import net.minecraft.command.arguments.ItemArgument;
-import net.minecraft.command.arguments.ItemInput;
 import net.minecraft.command.arguments.PotionArgument;
 import net.minecraft.entity.AgeableEntity;
 import net.minecraft.entity.EntityType;
@@ -694,7 +692,7 @@ public class MinecraftFunctions
         });
         sm.registerFunction("player.setdisplayname", (sc, in) -> 
         {     
-            ((ModEntityPlayerMP) in[0].get(sc)).setTabListDisplayName(in[1].getString(sc));
+            ((ModEntityPlayerMP) in[0].get(sc)).setTabListDisplayName(in[1].getString(sc), scheduler);
             return Void.TYPE;
         });