mojira.dev
MC-248778

The item count symbol within shulker box tooltips is untranslatable

The Bug:

The "x" symbol that exists before the number of items in shulker box tooltips is untranslatable and is missing a translation key.

Steps to Reproduce:

  1. Attempt to search for the existence of this string by using this search filter on the official Minecraft crowdin project.

  2. Take note as to whether or not the item count symbol within shulker box tooltips is untranslatable.

Observed Behavior:

The item count symbol within shulker box tooltips is untranslatable.

Expected Behavior:

The item count symbol within shulker box tooltips would be translatable.

Code Analysis:

Code analysis by @unknown can be found below.

The following is based on a decompiled version of Minecraft 1.18.1 using MCP-Reborn.

net.minecraft.world.level.block.ShulkerBoxBlock.java

public class ShulkerBoxBlock extends BaseEntityBlock {
   ...
   public void appendHoverText(ItemStack $is, @Nullable BlockGetter $bg, List<Component> $l, TooltipFlag $tf) {
      ...
      if (compoundtag != null) {
         ...
         if (compoundtag.contains("Items", 9)) {
            NonNullList<ItemStack> nonnulllist = NonNullList.withSize(27, ItemStack.EMPTY);
            ContainerHelper.loadAllItems(compoundtag, nonnulllist);
            int i = 0;
            int j = 0;

            for(ItemStack itemstack : nonnulllist) {
               if (!itemstack.isEmpty()) {
                  ++j;
                  if (i <= 4) {
                     ++i;
                     MutableComponent mutablecomponent = itemstack.getHoverName().copy();
                     mutablecomponent.append(" x").append(String.valueOf(itemstack.getCount()));
                     $l.add(mutablecomponent);
                  }
               }
            }
            ...

If we look at the above class, we can see that the item count symbol within shulker box tooltips is hardcoded, and as a result, is untranslatable. This is evident through the following line of code:

mutablecomponent.append(" x").append(String.valueOf(itemstack.getCount()));

Linked issues

Attachments

Comments 1

The ideal fix would include variables for the item name and the amount (so something like %s x%s), so that translators can change the word order or spacing if needed. You might want to add this to the OP.

Avoma

slicedlime

Confirmed

Platform

Normal

Internationalisation

shulker_box, translatability

1.18.1, 1.18.2 Release Candidate 1, 1.18.2, 1.19 Pre-release 1, 1.19, ..., 22w43a, 22w45a, 1.19.3, 1.19.4, 1.20.1

1.20.2 Pre-release 1

Retrieved