diff --git a/src/main/java/dev/galacticraft/machinelib/api/block/MachineBlock.java b/src/main/java/dev/galacticraft/machinelib/api/block/MachineBlock.java index 8704a08b..5205b436 100644 --- a/src/main/java/dev/galacticraft/machinelib/api/block/MachineBlock.java +++ b/src/main/java/dev/galacticraft/machinelib/api/block/MachineBlock.java @@ -212,7 +212,7 @@ public void onPlace(BlockState state, Level level, BlockPos pos, BlockState bloc @Override public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, @NotNull TooltipFlag flag) { if (Screen.hasShiftDown()) { - tooltip.addAll(DisplayUtil.wrapText(Component.translatable(this.getDescriptionId() + ".description"), 128)); + tooltip.addAll(DisplayUtil.wrapText(Component.translatable(this.getDescriptionId() + ".description").withStyle(Constant.Text.GRAY_STYLE), 150)); } else { tooltip.add(PRESS_SHIFT); } diff --git a/src/main/java/dev/galacticraft/machinelib/client/api/util/DisplayUtil.java b/src/main/java/dev/galacticraft/machinelib/client/api/util/DisplayUtil.java index 099d3724..f7e4849b 100644 --- a/src/main/java/dev/galacticraft/machinelib/client/api/util/DisplayUtil.java +++ b/src/main/java/dev/galacticraft/machinelib/client/api/util/DisplayUtil.java @@ -91,26 +91,10 @@ public static String truncateDecimal(double d, int places) { } public static @NotNull @Unmodifiable List wrapText(@NotNull String text, int length, @Nullable Style style) { - if (text.length() <= length) { - return ImmutableList.of(Component.literal(text)); - } - Minecraft minecraft = Minecraft.getInstance(); ImmutableList.Builder list = ImmutableList.builder(); - StringBuilder builder = new StringBuilder(); - int lineLength = 0; - for (int i = 0; i < text.length(); i++) { - char c = text.charAt(i); - lineLength += minecraft.font.width(String.valueOf(c)); - if (Character.isWhitespace(c) && lineLength >= length) { - lineLength = 0; - list.add(Component.literal(builder.toString()).setStyle(style)); - builder.delete(0, builder.length()); - } else { - builder.append(c); - } - } - list.add(Component.literal(builder.toString()).setStyle(style)); + minecraft.font.getSplitter().splitLines(text, length, Style.EMPTY).stream() + .forEach(formattedText -> list.add(Component.literal(formattedText.getString()).withStyle(style))); return list.build(); } diff --git a/src/testmod/resources/assets/machinelib_testmod/lang/en_us.json b/src/testmod/resources/assets/machinelib_testmod/lang/en_us.json index ad38c694..a2676eff 100644 --- a/src/testmod/resources/assets/machinelib_testmod/lang/en_us.json +++ b/src/testmod/resources/assets/machinelib_testmod/lang/en_us.json @@ -1,5 +1,8 @@ { "block.machinelib_testmod.generator": "Generator", + "block.machinelib_testmod.generator.description": "Burns the same items that can be used to power a furnace to instead produce energy which can be used to charge batteries and power other machines.", "block.machinelib_testmod.mixer": "Mixer", - "block.machinelib_testmod.melter": "Melter" + "block.machinelib_testmod.mixer.description": "Combines water and lava to produce obsidian in a controlled environment.", + "block.machinelib_testmod.melter": "Melter", + "block.machinelib_testmod.melter.description": "Melts cobblestone into lava." } \ No newline at end of file