package me.km.utils; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.network.play.server.SPacketUpdateTileEntity; import net.minecraft.tileentity.TileEntitySign; import net.minecraft.util.text.TextComponentString; public class SpecialBlockUtils { public static void setSignLine(TileEntitySign sign, int line, String text, boolean update) { if(line < 0 || line > 3) { return; } sign.signText[line] = new TextComponentString(text); if(update) { SPacketUpdateTileEntity packet = sign.getUpdatePacket(); sign.getWorld().playerEntities.stream().filter(p -> p instanceof EntityPlayerMP) .forEach(p -> ((EntityPlayerMP) p).connection.sendPacket(packet)); } } public static void setSignLine(TileEntitySign sign, int line, String text) { setSignLine(sign, line, text, true); } }