From 3a767e1894716176e19bf50f67668eab1ffbc843 Mon Sep 17 00:00:00 2001 From: Mrbysco Date: Tue, 12 Mar 2024 21:31:29 +0100 Subject: [PATCH] Replace more calls to I18n with Component.translatable Fix up the Relay item Whitelist GUI --- .../mod/blocks/BlockPhantom.java | 5 +- .../mod/blocks/render/RenderBatteryBox.java | 4 +- .../mod/event/ClientEvents.java | 14 ++-- .../mod/inventory/gui/GuiFilter.java | 2 +- .../gui/GuiLaserRelayItemWhitelist.java | 82 ++++++++++++------- .../mod/inventory/gui/GuiOilGenerator.java | 3 +- .../mod/items/ItemFilter.java | 3 +- .../mod/jei/coffee/CoffeeMachineCategory.java | 3 +- .../mod/tile/TileEntityLaserRelayEnergy.java | 1 - .../TileEntityLaserRelayItemAdvanced.java | 2 +- 10 files changed, 69 insertions(+), 50 deletions(-) diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockPhantom.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockPhantom.java index ede38df75..0310e89d0 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockPhantom.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/BlockPhantom.java @@ -19,7 +19,6 @@ import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.client.resources.language.I18n; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.network.chat.Component; @@ -154,7 +153,7 @@ public class BlockPhantom extends BlockContainerBase implements IHudDisplay { BlockEntity tile = minecraft.level.getBlockEntity(pos); if (tile != null) { if (tile instanceof IPhantomTile phantom) { - guiGraphics.drawString(minecraft.font, ChatFormatting.GOLD + I18n.get("tooltip." + ActuallyAdditions.MODID + ".blockPhantomRange.desc") + ": " + phantom.getRange(), resolution.getGuiScaledWidth() / 2 + 5, resolution.getGuiScaledHeight() / 2 - 40, ChatFormatting.WHITE.getColor()); + guiGraphics.drawString(minecraft.font, Component.translatable("tooltip." + ActuallyAdditions.MODID + ".blockPhantomRange.desc").append(": " + phantom.getRange()).withStyle(ChatFormatting.GOLD), resolution.getGuiScaledWidth() / 2 + 5, resolution.getGuiScaledHeight() / 2 - 40, ChatFormatting.WHITE.getColor()); if (phantom.hasBoundPosition()) { int distance = Mth.ceil(new Vec3(pos.getX(), pos.getY(), pos.getZ()).distanceTo(new Vec3(phantom.getBoundPosition().getX(), phantom.getBoundPosition().getY(), phantom.getBoundPosition().getZ()))); BlockState state = minecraft.level.getBlockState(phantom.getBoundPosition()); @@ -171,7 +170,7 @@ public class BlockPhantom extends BlockContainerBase implements IHudDisplay { drawWordWrap(guiGraphics, minecraft.font, Component.translatable("tooltip.actuallyadditions.phantom.connectedNoRange.desc"), resolution.getGuiScaledWidth() / 2 + 5, resolution.getGuiScaledHeight() / 2 + 25, 200, 0xFFFFFF, true); } } else { - guiGraphics.drawString(minecraft.font, ChatFormatting.RED + I18n.get("tooltip.actuallyadditions.phantom.notConnected.desc"), resolution.getGuiScaledWidth() / 2 + 5, resolution.getGuiScaledHeight() / 2 + 25, ChatFormatting.WHITE.getColor()); + guiGraphics.drawString(minecraft.font, Component.translatable("tooltip.actuallyadditions.phantom.notConnected.desc").withStyle(ChatFormatting.RED), resolution.getGuiScaledWidth() / 2 + 5, resolution.getGuiScaledHeight() / 2 + 25, ChatFormatting.WHITE.getColor()); } } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderBatteryBox.java b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderBatteryBox.java index 345638ae3..4a5469d6e 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderBatteryBox.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/blocks/render/RenderBatteryBox.java @@ -23,8 +23,8 @@ import net.minecraft.client.gui.Font; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; -import net.minecraft.client.resources.language.I18n; import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.network.chat.Component; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.ItemStack; import net.neoforged.api.distmarker.Dist; @@ -58,7 +58,7 @@ public class RenderBatteryBox implements BlockEntityRenderer { @Override public void renderLabels(@Nonnull GuiGraphics guiGraphics, int x, int y) { - AssetUtil.displayNameString(guiGraphics, this.font, this.imageWidth, -10, I18n.get("container." + ActuallyAdditions.MODID + ".filter")); + AssetUtil.displayNameString(guiGraphics, this.font, this.imageWidth, -10, this.title.getString()); } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiLaserRelayItemWhitelist.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiLaserRelayItemWhitelist.java index f9962dbc5..e1a63f39e 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiLaserRelayItemWhitelist.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/GuiLaserRelayItemWhitelist.java @@ -13,23 +13,36 @@ package de.ellpeck.actuallyadditions.mod.inventory.gui; import com.mojang.blaze3d.systems.RenderSystem; import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.inventory.ContainerLaserRelayItemWhitelist; +import de.ellpeck.actuallyadditions.mod.network.PacketClientToServer; +import de.ellpeck.actuallyadditions.mod.network.PacketHandler; +import de.ellpeck.actuallyadditions.mod.network.PacketHandlerHelper; import de.ellpeck.actuallyadditions.mod.tile.TileEntityLaserRelayItemAdvanced; import de.ellpeck.actuallyadditions.mod.util.AssetUtil; +import net.minecraft.ChatFormatting; +import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.Button; -import net.minecraft.client.resources.language.I18n; +import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.FormattedText; +import net.minecraft.network.chat.Style; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.FormattedCharSequence; import net.minecraft.world.entity.player.Inventory; import net.neoforged.api.distmarker.Dist; import net.neoforged.api.distmarker.OnlyIn; +import net.neoforged.neoforge.network.PacketDistributor; import javax.annotation.Nonnull; +import java.util.ArrayList; +import java.util.List; @OnlyIn(Dist.CLIENT) public class GuiLaserRelayItemWhitelist extends AAScreen { private static final ResourceLocation RES_LOC = AssetUtil.getGuiLocation("gui_laser_relay_item_whitelist"); + private final Component inboundText = Component.translatable("info." + ActuallyAdditions.MODID + ".gui.inbound"); + private final Component outboundText = Component.translatable("info." + ActuallyAdditions.MODID + ".gui.outbound"); private final TileEntityLaserRelayItemAdvanced tile; private FilterSettingsGui leftFilter; @@ -57,43 +70,53 @@ public class GuiLaserRelayItemWhitelist extends AAScreen { + PacketHandlerHelper.sendButtonPacket(this.tile, 2); + }).bounds(this.leftPos + 3, this.topPos + 79, 16, 16) + .build()); + + this.buttonSmartWhitelistRight = this.addRenderableWidget(Button.builder( + Component.literal("S"), + (button) -> { + PacketHandlerHelper.sendButtonPacket(this.tile, 3); + }).bounds(this.leftPos + 157, this.topPos + 79, 16, 16) + .build()); + } + + public void buttonClicked(int id) { + CompoundTag data = new CompoundTag(); + data.putInt("ButtonID", id); + data.putInt("PlayerID", Minecraft.getInstance().player.getId()); + data.putString("WorldID", Minecraft.getInstance().level.dimension().location().toString()); + PacketDistributor.SERVER.noArg().send(new PacketClientToServer(data, PacketHandler.GUI_BUTTON_TO_CONTAINER_HANDLER)); } -// -// @Override -// public void actionPerformed(Button button) { -// PacketHandlerHelper.sendButtonPacket(this.tile, button.id); -// } @Override - public void render(@Nonnull GuiGraphics guiGraphics, int x, int y, float f) { - super.render(guiGraphics, x, y, f); -// -// if (this.buttonSmartWhitelistLeft.isMouseOver() || this.buttonSmartWhitelistRight.isMouseOver()) { -// List list = new ArrayList<>(); -// list.add(TextFormatting.BOLD + StringUtil.localize("info." + ActuallyAdditions.MODID + ".gui.smart")); -// list.addAll(this.font.listFormattedStringToWidth(StringUtil.localize("info." + ActuallyAdditions.MODID + ".gui.smartInfo"), 200)); -// this.drawHoveringText(list, x, y); //renderComponentTooltip -// } + public void render(@Nonnull GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) { + super.render(guiGraphics, mouseX, mouseY, partialTicks); - this.leftFilter.drawHover(guiGraphics, x, y); - this.rightFilter.drawHover(guiGraphics, x, y); + if (this.buttonSmartWhitelistLeft.isMouseOver(mouseX, mouseY) || this.buttonSmartWhitelistRight.isMouseOver(mouseX, mouseY)) { + List list = new ArrayList<>(); + list.add(Component.translatable("info." + ActuallyAdditions.MODID + ".gui.smart").withStyle(ChatFormatting.BOLD).getVisualOrderText()); + list.addAll(this.font.split(Component.translatable("info." + ActuallyAdditions.MODID + ".gui.smartInfo"), 200)); + guiGraphics.renderTooltip(this.font, list, mouseX, mouseY); //renderTooltip + } + + this.leftFilter.drawHover(guiGraphics, mouseX, mouseY); + this.rightFilter.drawHover(guiGraphics, mouseX, mouseY); } @Override public void renderLabels(@Nonnull GuiGraphics guiGraphics, int x, int y) { - AssetUtil.displayNameString(guiGraphics, this.font, this.imageWidth, -10, this.tile); + AssetUtil.displayNameString(guiGraphics, this.font, this.imageWidth, -10, this.title.getString()); - String s1 = I18n.get("info." + ActuallyAdditions.MODID + ".gui.inbound"); - String s2 = I18n.get("info." + ActuallyAdditions.MODID + ".gui.outbound"); - guiGraphics.drawString(font, s1, 46 - this.font.width(s1) / 2, 80, 0x404040, false); - guiGraphics.drawString(font, s2, 131 - this.font.width(s2) / 2, 80, 0x404040, false); + guiGraphics.drawString(font, inboundText, 46 - this.font.width(inboundText) / 2, 80, 0x404040, false); + guiGraphics.drawString(font, outboundText, 131 - this.font.width(outboundText) / 2, 80, 0x404040, false); } @Override @@ -103,6 +126,5 @@ public class GuiLaserRelayItemWhitelist extends AAScreen { } if (this.generator.maxBurnTime > 0 && this.generator.currentEnergyProduce > 0) { - guiGraphics.drawCenteredString(this.font, this.generator.currentEnergyProduce + " " + I18n.get("misc.actuallyadditions.energy_tick"), this.leftPos + 87, this.topPos + 65, 0xFFFFFF); + guiGraphics.drawCenteredString(this.font, Component.literal(this.generator.currentEnergyProduce + " ").append(Component.translatable("misc.actuallyadditions.energy_tick")), this.leftPos + 87, this.topPos + 65, 0xFFFFFF); guiGraphics.drawCenteredString(this.font, "for " + this.generator.maxBurnTime + " t", this.leftPos + 87, this.topPos + 75, 0xFFFFFF); PoseStack poseStack = guiGraphics.pose(); poseStack.pushPose(); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFilter.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFilter.java index 137f40cc0..45dec6928 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFilter.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/ItemFilter.java @@ -10,6 +10,7 @@ package de.ellpeck.actuallyadditions.mod.items; +import de.ellpeck.actuallyadditions.mod.ActuallyAdditions; import de.ellpeck.actuallyadditions.mod.inventory.ContainerFilter; import de.ellpeck.actuallyadditions.mod.items.base.ItemBase; import de.ellpeck.actuallyadditions.mod.util.ItemStackHandlerAA; @@ -37,7 +38,7 @@ public class ItemFilter extends ItemBase { @Override public InteractionResultHolder use(Level world, Player player, InteractionHand hand) { if (!world.isClientSide && hand == InteractionHand.MAIN_HAND) { - player.openMenu(new SimpleMenuProvider((windowId, inv, playerEnt) -> new ContainerFilter(windowId, inv), Component.empty())); + player.openMenu(new SimpleMenuProvider((windowId, inv, playerEnt) -> new ContainerFilter(windowId, inv), Component.translatable("container." + ActuallyAdditions.MODID + ".filter"))); // player.openGui(ActuallyAdditions.INSTANCE, GuiHandler.GuiTypes.FILTER.ordinal(), world, (int) player.posX, (int) player.posY, (int) player.posZ); } return InteractionResultHolder.pass(player.getItemInHand(hand)); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/jei/coffee/CoffeeMachineCategory.java b/src/main/java/de/ellpeck/actuallyadditions/mod/jei/coffee/CoffeeMachineCategory.java index 57f7bda9d..bdf70683a 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/jei/coffee/CoffeeMachineCategory.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/jei/coffee/CoffeeMachineCategory.java @@ -19,7 +19,6 @@ import mezz.jei.api.recipe.RecipeType; import mezz.jei.api.recipe.category.IRecipeCategory; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.client.resources.language.I18n; import net.minecraft.network.chat.Component; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; @@ -69,7 +68,7 @@ public class CoffeeMachineCategory implements IRecipeCategory 0) { diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelayEnergy.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelayEnergy.java index 9eafc5466..c5f519648 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelayEnergy.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelayEnergy.java @@ -262,7 +262,6 @@ public class TileEntityLaserRelayEnergy extends TileEntityLaserRelay { @OnlyIn(Dist.CLIENT) public Component getExtraDisplayString() { return Component.translatable("info." + ActuallyAdditions.MODID + ".laserRelay.energy.extra").append(": ").append(Component.translatable(this.mode.name).withStyle(ChatFormatting.DARK_RED)); - } @Override diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelayItemAdvanced.java b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelayItemAdvanced.java index 8c706b762..7acbee5ec 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelayItemAdvanced.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/tile/TileEntityLaserRelayItemAdvanced.java @@ -150,7 +150,7 @@ public class TileEntityLaserRelayItemAdvanced extends TileEntityLaserRelayItem i @Override public Component getDisplayName() { - return Component.empty(); + return Component.translatable("container.actuallyadditions.laserRelayAdvanced"); } @Nullable