diff --git a/src/main/java/com/glodblock/github/network/CPacketRenamer.java b/src/main/java/com/glodblock/github/network/CPacketRenamer.java index e8944a75..987d57a2 100644 --- a/src/main/java/com/glodblock/github/network/CPacketRenamer.java +++ b/src/main/java/com/glodblock/github/network/CPacketRenamer.java @@ -2,6 +2,8 @@ package com.glodblock.github.network; import static com.glodblock.github.common.item.ItemWirelessUltraTerminal.getGuis; +import java.util.Objects; + import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.DimensionManager; @@ -97,15 +99,23 @@ public class CPacketRenamer implements IMessage { public static class Handler implements IMessageHandler { + private String _getName(ICustomNameObject obj) { + // "‎" is a zero size character, sent because simple channel does not support empty string + return obj.hasCustomName() ? obj.getCustomName() : "\u200E"; + } + private String getName(TileEntity tile, ForgeDirection side) { if (tile instanceof TileCableBus) { - return ((ICustomNameObject) ((TileCableBus) tile).getPart(side)).getCustomName(); + return _getName((ICustomNameObject) ((TileCableBus) tile).getPart(side)); } else { - return ((ICustomNameObject) tile).getCustomName(); + return _getName((ICustomNameObject) tile); } } private void setName(TileEntity tile, ForgeDirection side, String text) { + if (Objects.equals(text, "\u200E")) { + text = ""; + } if (tile instanceof TileCableBus) { ((ICustomNameObject) ((TileCableBus) tile).getPart(side)).setCustomName(text); } else { diff --git a/src/main/java/com/glodblock/github/network/SPacketStringUpdate.java b/src/main/java/com/glodblock/github/network/SPacketStringUpdate.java index 2348613f..d0b0ae58 100644 --- a/src/main/java/com/glodblock/github/network/SPacketStringUpdate.java +++ b/src/main/java/com/glodblock/github/network/SPacketStringUpdate.java @@ -1,5 +1,7 @@ package com.glodblock.github.network; +import java.util.Objects; + import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiScreen; @@ -53,7 +55,7 @@ public class SPacketStringUpdate implements IMessage { public IMessage onMessage(SPacketStringUpdate message, MessageContext ctx) { final GuiScreen gs = Minecraft.getMinecraft().currentScreen; if (gs instanceof GuiRenamer) { - ((GuiRenamer) gs).postUpdate(message.text); + ((GuiRenamer) gs).postUpdate(Objects.equals(message.text, "\u200E") ? "" : message.text); } return null; }