Posted March 4, 20214 yr I am having some issues with text formatting. I format my text like this: player.sendStatusMessage(new StringTextComponent(ticksRemaining/20 + " §f| §4" + redstoneAdded + " §f| §a" + emeraldAdded + " §f| §b" + diamondAdded + " §f| §0" + coalAdded), true) and it appears like this in the game chat: Edited March 6, 20214 yr by NullDev
March 4, 20214 yr Author 1 hour ago, diesieben07 said: IFormattableTextComponent#mergeStyle(TextFormatting) I've done that like this, but now it just appears all black IFormattableTextComponent toSend = new StringTextComponent("Info: "); toSend.func_240701_a_(TextFormatting.WHITE) .func_230529_a_(new StringTextComponent(ticksRemaining/20 + " | ")) .func_240701_a_(TextFormatting.RED) .func_230529_a_(new StringTextComponent(Integer.toString(redstoneAdded))) .func_240701_a_(TextFormatting.WHITE) .func_230529_a_(new StringTextComponent(" | ")) .func_240701_a_(TextFormatting.GREEN) .func_230529_a_(new StringTextComponent(Integer.toString(emeraldAdded))) .func_240701_a_(TextFormatting.WHITE) .func_230529_a_(new StringTextComponent(" | ")) .func_240701_a_(TextFormatting.AQUA) .func_230529_a_(new StringTextComponent(Integer.toString(diamondAdded))) .func_240701_a_(TextFormatting.WHITE) .func_230529_a_(new StringTextComponent(" | ")) .func_240701_a_(TextFormatting.BLACK) .func_230529_a_(new StringTextComponent(Integer.toString(coalAdded))); player.sendStatusMessage(toSend, true);
March 5, 20214 yr @diesieben07 I could not understand, how do we send mixed colored messages? For an example, I wanna send a message: Quote SKIL_NAME level: N Where N (is any number, got through a method) and it's color is DARK_PURPLE and everything else is GOLD. How do I achieve that? Since using .append and .mergeStyle in a sequence doesn't work, as @NullDev tried.
March 5, 20214 yr Author 5 hours ago, diesieben07 said: ou completely ignore the result of the methods you call and just use the original, unformatted, component. I changed it to this and it is still all black: StringTextComponent toSend = new StringTextComponent("Info: "); player.sendStatusMessage(toSend.func_240701_a_(TextFormatting.WHITE) .func_230529_a_(new StringTextComponent(ticksRemaining/20 + " | ")) .func_240701_a_(TextFormatting.RED) .func_230529_a_(new StringTextComponent(Integer.toString(redstoneAdded))) .func_240701_a_(TextFormatting.WHITE) .func_230529_a_(new StringTextComponent(" | ")) .func_240701_a_(TextFormatting.GREEN) .func_230529_a_(new StringTextComponent(Integer.toString(emeraldAdded))) .func_240701_a_(TextFormatting.WHITE) .func_230529_a_(new StringTextComponent(" | ")) .func_240701_a_(TextFormatting.AQUA) .func_230529_a_(new StringTextComponent(Integer.toString(diamondAdded))) .func_240701_a_(TextFormatting.WHITE) .func_230529_a_(new StringTextComponent(" | ")) .func_240701_a_(TextFormatting.BLACK) .func_230529_a_(new StringTextComponent(Integer.toString(coalAdded))), true);
March 5, 20214 yr Author 1 hour ago, diesieben07 said: Every time you do that you overwrite the previously set color So how would I do it without overriding it?
March 6, 20214 yr Author 8 hours ago, diesieben07 said: You keep calling mergeStyle on the outer text component with a color For anyone else with this issue, I figured it out. Do this for each new StringTextComponent: toReturn.func_230529_a_( new StringTextComponent("New Text With New Color").func_240701_a_(TextFormatting.WHITE) ) I call the mergestyle on the new StringTextComponent that I am adding with the appendText function.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.