diff --git a/src/main/java/fr/iglee42/createqualityoflife/CreateQOL.java b/src/main/java/fr/iglee42/createqualityoflife/CreateQOL.java index 4e6dda6..51bb518 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/CreateQOL.java +++ b/src/main/java/fr/iglee42/createqualityoflife/CreateQOL.java @@ -195,7 +195,7 @@ private void playerJoin(PlayerEvent.PlayerLoggedInEvent event){ ServerPlayer player = (ServerPlayer) p; if (!p.hasPermissions(1)) return; if (isActivate(Features.STOCK_MANAGER) && CreateQOLConfigs.server().experimentalWarning.get()) - player.displayClientMessage(Component.literal("Warning: Stock Manager is a beta feature, some bugs and crash might appear.\nPlease report them on https://issues-qol.iglee.fr").withStyle(ChatFormatting.YELLOW),false); + player.displayClientMessage(CreateQOLLang.translateDirect("client_message.header").withStyle(ChatFormatting.YELLOW).append(CreateQOLLang.translateDirect("client_message.warning").withStyle(ChatFormatting.WHITE)),false); } @@ -213,7 +213,7 @@ public void onWorldTick(LevelTickEvent.Post event) { public void itemTooltips(ItemTooltipEvent event){ if (!event.getItemStack().is(Items.FIREWORK_ROCKET)) return; if (isActivate(Features.SHADOW_RADIANCE) && CreateQOLConfigs.server().equipments.armors.elytraBoostAllowed.get() && CreateQOLConfigs.server().equipments.armors.useFireworksForBoost.get()){ - event.getToolTip().add(2,CreateQOLLang.translateDirect("chestplate.use_fireworks").withStyle(ChatFormatting.YELLOW)); + event.getToolTip().add(2,CreateQOLLang.translateDirect("armor.ability.use_fireworks").withStyle(ChatFormatting.YELLOW)); } } } diff --git a/src/main/java/fr/iglee42/createqualityoflife/blocks/RefinedRadianceBacktankBlock.java b/src/main/java/fr/iglee42/createqualityoflife/blocks/RefinedRadianceBacktankBlock.java index 4ac064c..e0e8623 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/blocks/RefinedRadianceBacktankBlock.java +++ b/src/main/java/fr/iglee42/createqualityoflife/blocks/RefinedRadianceBacktankBlock.java @@ -5,6 +5,7 @@ import com.simibubi.create.content.equipment.armor.BacktankBlock; import com.simibubi.create.content.equipment.armor.BacktankBlockEntity; import com.simibubi.create.content.equipment.armor.BacktankItem; +import fr.iglee42.createqualityoflife.CreateQOLLang; import fr.iglee42.createqualityoflife.blockentitites.RefinedRadianceBacktankBE; import fr.iglee42.createqualityoflife.blockentitites.ShadowRadianceBacktankBE; import fr.iglee42.createqualityoflife.config.CreateQOLConfigs; @@ -65,7 +66,7 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev if (level.getBlockEntity(pos) instanceof RefinedRadianceBacktankBE be){ if (!be.hasElytra() && player.getMainHandItem().is(Items.ELYTRA)) { if (!CreateQOLConfigs.server().equipments.armors.elytraAllowed.get()) { - player.displayClientMessage(Component.literal("Elytra are disabled by the config").withStyle(ChatFormatting.RED), true); + player.displayClientMessage(CreateQOLLang.translateDirect("backtank.elytra_disabled").withStyle(ChatFormatting.RED), true); level.playSound(null, pos, AllSoundEvents.DENY.getMainEvent(), SoundSource.PLAYERS, 1, 1.45f); return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; } diff --git a/src/main/java/fr/iglee42/createqualityoflife/blocks/ShadowRadianceBacktankBlock.java b/src/main/java/fr/iglee42/createqualityoflife/blocks/ShadowRadianceBacktankBlock.java index caa93cb..b4f312e 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/blocks/ShadowRadianceBacktankBlock.java +++ b/src/main/java/fr/iglee42/createqualityoflife/blocks/ShadowRadianceBacktankBlock.java @@ -5,6 +5,7 @@ import com.simibubi.create.content.equipment.armor.BacktankBlock; import com.simibubi.create.content.equipment.armor.BacktankBlockEntity; import com.simibubi.create.content.equipment.armor.BacktankItem; +import fr.iglee42.createqualityoflife.CreateQOLLang; import fr.iglee42.createqualityoflife.blockentitites.ShadowRadianceBacktankBE; import fr.iglee42.createqualityoflife.config.CreateQOLConfigs; import fr.iglee42.createqualityoflife.items.armors.ShadowRadianceChestplate; @@ -75,7 +76,7 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev if (level.getBlockEntity(pos) instanceof ShadowRadianceBacktankBE be){ if (!be.hasPropeller() && AllItems.PROPELLER.is(player.getMainHandItem().getItem())) { if (!CreateQOLConfigs.server().equipments.armors.propellerAllowed.get()) { - player.displayClientMessage(Component.literal("Propellers are disabled by the config").withStyle(ChatFormatting.RED), true); + player.displayClientMessage(CreateQOLLang.translateDirect("backtank.propeller_disabled").withStyle(ChatFormatting.RED), true); level.playSound(null, pos, AllSoundEvents.DENY.getMainEvent(), SoundSource.PLAYERS, 1, 1.45f); return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; } @@ -86,7 +87,7 @@ protected ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Lev } if (!be.hasElytra() && player.getMainHandItem().is(Items.ELYTRA)) { if (!CreateQOLConfigs.server().equipments.armors.elytraAllowed.get()) { - player.displayClientMessage(Component.literal("Elytra are disabled by the config").withStyle(ChatFormatting.RED), true); + player.displayClientMessage(CreateQOLLang.translateDirect("backtank.elytra_disabled").withStyle(ChatFormatting.RED), true); level.playSound(null, pos, AllSoundEvents.DENY.getMainEvent(), SoundSource.PLAYERS, 1, 1.45f); return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; } diff --git a/src/main/java/fr/iglee42/createqualityoflife/client/screens/ConfigureStatueScreen.java b/src/main/java/fr/iglee42/createqualityoflife/client/screens/ConfigureStatueScreen.java index f494b2c..0b290d7 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/client/screens/ConfigureStatueScreen.java +++ b/src/main/java/fr/iglee42/createqualityoflife/client/screens/ConfigureStatueScreen.java @@ -141,7 +141,7 @@ protected void renderForeground(GuiGraphics graphics, int mouseX, int mouseY, fl getExampleStatue().setItemSlot(EquipmentSlot.values()[slot],getMenu().ghostInventory.getStackInSlot(slot)); } if (!hideBackground){ - graphics.drawString(Minecraft.getInstance().font,"Customize your Statue",getGuiLeft() + 5, getGuiTop() + 3,0xffffff); + graphics.drawString(Minecraft.getInstance().font,CreateQOLLang.translateDirect("statue.title"),getGuiLeft() + 5, getGuiTop() + 3,0xffffff); } int offsetX = 10; diff --git a/src/main/java/fr/iglee42/createqualityoflife/client/screens/DisplayBoardEditScreen.java b/src/main/java/fr/iglee42/createqualityoflife/client/screens/DisplayBoardEditScreen.java index 671b18b..811821b 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/client/screens/DisplayBoardEditScreen.java +++ b/src/main/java/fr/iglee42/createqualityoflife/client/screens/DisplayBoardEditScreen.java @@ -7,6 +7,7 @@ import com.simibubi.create.foundation.gui.widget.Indicator; import com.simibubi.create.foundation.gui.widget.Label; import com.simibubi.create.foundation.gui.widget.SelectionScrollInput; +import fr.iglee42.createqualityoflife.CreateQOLLang; import fr.iglee42.createqualityoflife.packets.ConfigureDisplayBoardPacket; import fr.iglee42.createqualityoflife.registries.QOLGuiTextures; import net.createmod.catnip.gui.AbstractSimiScreen; @@ -67,7 +68,7 @@ protected void init() { glowingButton.setIcon(glowingIndicator.state == Indicator.State.OFF ? AllIcons.I_FX_SURFACE_ON : AllIcons.I_FX_SURFACE_OFF); glowingIndicator.state = glowingIndicator.state == Indicator.State.OFF ? Indicator.State.GREEN : Indicator.State.OFF; }); - glowingButton.setToolTip(Component.literal("Glowing")); + glowingButton.setToolTip(CreateQOLLang.translateDirect("gui.display_board.glowing")); glowingIndicator = new Indicator(guiLeft + 53,guiTop + 64,Component.empty()); glowingIndicator.state = be.glowingLines[lineIndex] ? Indicator.State.GREEN : Indicator.State.OFF; @@ -77,10 +78,9 @@ protected void init() { colorScrollInput = new SelectionScrollInput(guiLeft + 144, guiTop + 49, 55, 16); colorScrollInputLabel = new Label(guiLeft + 144, guiTop + 52, Component.empty()).withShadow(); - colorScrollInput.forOptions(Arrays.stream(DyeColor.values()).map(DyeColor::getSerializedName).map(s->{ - String firstLetter = String.valueOf(s.charAt(0)).toUpperCase(); - return firstLetter + s.substring(1).replace("_"," "); - }).map(s->Component.literal(s).withStyle(Style.EMPTY.withColor(DyeColor.byName(!s.equals("Black") ?s.replace(" ","_").toLowerCase() : "gray",DyeColor.WHITE).getTextColor()))).toList()).calling(i->{ + colorScrollInput.forOptions(Arrays.stream(DyeColor.values()).map(DyeColor::getSerializedName) + .map(s -> Component.translatable("color.minecraft." + s.toLowerCase()) + .withStyle(Style.EMPTY.withColor(DyeColor.byName(!s.equals("black") ?s.toLowerCase() : "gray",DyeColor.WHITE).getTextColor()))).toList()).calling(i->{ DyeColor color = DyeColor.byId(i); colorScrollInputLabel.colored(color != DyeColor.BLACK ? color.getTextColor() : DyeColor.GRAY.getTextColor()); }).writingTo(colorScrollInputLabel); diff --git a/src/main/java/fr/iglee42/createqualityoflife/client/screens/itemsconfig/InventoryConfigScreen.java b/src/main/java/fr/iglee42/createqualityoflife/client/screens/itemsconfig/InventoryConfigScreen.java index 964f164..7faeb4e 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/client/screens/itemsconfig/InventoryConfigScreen.java +++ b/src/main/java/fr/iglee42/createqualityoflife/client/screens/itemsconfig/InventoryConfigScreen.java @@ -68,7 +68,7 @@ protected void init() { ItemConfigButton btn = new ItemConfigButton(guiLeft + 112-28,guiTop + 84, b->Minecraft.getInstance().setScreen(new ItemConfigScreen(40)),40); btn = btn.showing(player.getInventory().getItem(40)); addRenderableWidget(btn); - int boxWidth = font.width("Choose an item to configure") + 10; + int boxWidth = font.width(Component.translatable("createqol.gui.inventory_config_screen.title")) + 10; int boxHeight = 19; int boxPadding = 4; BoxWidget title = new BoxWidget(width / 2 - boxWidth / 2, height / 2 - 130, boxWidth, boxHeight) @@ -101,7 +101,7 @@ protected void renderWindow(GuiGraphics graphics, int mouseX, int mouseY, float //graphics.fill(guiLeft + 24, guiTop - 2 , guiLeft + 106-24, guiTop + 106,0xff00ff00); InventoryScreen.renderEntityInInventoryFollowsMouse(graphics, guiLeft + 24, guiTop - 2 , guiLeft + 106-24,guiTop + 106, 48, 0.05F, mouseX, mouseY, this.minecraft.player); - graphics.drawCenteredString(font, "Choose an item to configure", width / 2, height / 2 - 125, UIRenderHelper.COLOR_TEXT_STRONG_ACCENT.getFirst().getRGB()); + graphics.drawCenteredString(font, Component.translatable("createqol.gui.inventory_config_screen.title"), width / 2, height / 2 - 125, UIRenderHelper.COLOR_TEXT_STRONG_ACCENT.getFirst().getRGB()); AtomicReference button = new AtomicReference<>(); children().stream().filter(c->c instanceof ItemConfigButton).map(ItemConfigButton.class::cast).forEach(btn->{ if (btn.isHovered() && btn.active) button.set(btn); diff --git a/src/main/java/fr/iglee42/createqualityoflife/client/screens/itemsconfig/ItemConfigScreen.java b/src/main/java/fr/iglee42/createqualityoflife/client/screens/itemsconfig/ItemConfigScreen.java index 906bd5f..239c146 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/client/screens/itemsconfig/ItemConfigScreen.java +++ b/src/main/java/fr/iglee42/createqualityoflife/client/screens/itemsconfig/ItemConfigScreen.java @@ -84,7 +84,7 @@ protected void init() { goBack.showingElement(PonderGuiTextures.ICON_CONFIG_BACK.asStencil() .withElementRenderer(BoxWidget.gradientFactory.apply(goBack))); goBack.getToolTip() - .add(Component.literal("Go Back")); + .add(Component.translatable("createqol.gui.config_screen.go_back")); addRenderableWidget(goBack); if (item.has(QOLDataComponents.ITEM_TOOLTIPS)) list.children().add(new TooltipButtonEntry("Tooltips","Open the config menu to choose which tooltips are displayed")); @@ -151,7 +151,7 @@ protected void endFrame() { protected void renderWindow(GuiGraphics graphics, int mouseX, int mouseY, float partialTicks) { int x = width / 2; - graphics.drawCenteredString(minecraft.font, Component.literal("Configure " ).append(item.getHoverName()) , x, 15, UIRenderHelper.COLOR_TEXT.getFirst().getRGB()); + graphics.drawCenteredString(minecraft.font, Component.translatable("createqol.gui.item_config_screen.title", item.getHoverName()), x, 15, UIRenderHelper.COLOR_TEXT.getFirst().getRGB()); } diff --git a/src/main/java/fr/iglee42/createqualityoflife/client/screens/itemsconfig/TooltipsConfigScreen.java b/src/main/java/fr/iglee42/createqualityoflife/client/screens/itemsconfig/TooltipsConfigScreen.java index b0aa9f1..d805ba3 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/client/screens/itemsconfig/TooltipsConfigScreen.java +++ b/src/main/java/fr/iglee42/createqualityoflife/client/screens/itemsconfig/TooltipsConfigScreen.java @@ -85,7 +85,7 @@ protected void init() { goBack.showingElement(PonderGuiTextures.ICON_CONFIG_BACK.asStencil() .withElementRenderer(BoxWidget.gradientFactory.apply(goBack))); goBack.getToolTip() - .add(Component.literal("Go Back")); + .add(Component.translatable("createqol.gui.config_screen.go_back")); addRenderableWidget(goBack); ItemTooltips tooltips = item.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS,ItemTooltips.DEFAULT); @@ -101,7 +101,7 @@ protected void init() { enableAll.showingElement(AllIcons.I_CONFIRM.asStencil() .withElementRenderer(BoxWidget.gradientFactory.apply(enableAll))); enableAll.getToolTip() - .add(Component.literal("Enable All")); + .add(Component.translatable("createqol.gui.tooltips_config_screen.enable_all")); addRenderableWidget(enableAll); @@ -112,7 +112,7 @@ protected void init() { disableAll.showingElement(AllIcons.I_DISABLE.asStencil() .withElementRenderer(BoxWidget.gradientFactory.apply(disableAll))); disableAll.getToolTip() - .add(Component.literal("Disable All")); + .add(Component.translatable("createqol.gui.tooltips_config_screen.disable_all")); addRenderableWidget(disableAll); @@ -155,7 +155,7 @@ protected void endFrame() { protected void renderWindow(GuiGraphics graphics, int mouseX, int mouseY, float partialTicks) { int x = width / 2; - graphics.drawCenteredString(minecraft.font, Component.literal("Configure " ).append(item.getHoverName()).append(" Tooltips") , x, 15, UIRenderHelper.COLOR_TEXT.getFirst().getRGB()); + graphics.drawCenteredString(minecraft.font, Component.translatable("createqol.gui.tooltips_config_screen.title", item.getHoverName()), x, 15, UIRenderHelper.COLOR_TEXT.getFirst().getRGB()); } diff --git a/src/main/java/fr/iglee42/createqualityoflife/client/screens/tabs/AnimationTab.java b/src/main/java/fr/iglee42/createqualityoflife/client/screens/tabs/AnimationTab.java index 21f251e..d2fe457 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/client/screens/tabs/AnimationTab.java +++ b/src/main/java/fr/iglee42/createqualityoflife/client/screens/tabs/AnimationTab.java @@ -225,7 +225,7 @@ public void initWidgets(int x, int y) { nameEdit = new EditBox(Minecraft.getInstance().font, x + BASE_OFFSET + LOOP_X + 21, y + 173 - 19 + TEXT_Y_OFFSET,TEXT_BOX_WIDTH - 20,18,CommonComponents.EMPTY); nameEdit.setBordered(false); nameEdit.setFocused(false); - nameEdit.setHint(Component.literal("Animation Name")); + nameEdit.setHint(CreateQOLLang.translateDirect("statue.animation.publishName")); nameEdit.setTooltip(Tooltip.create(CreateQOLLang.translateDirect("statue.name_utility"))); if (animation != null) { diff --git a/src/main/java/fr/iglee42/createqualityoflife/client/screens/tabs/MainStatueTab.java b/src/main/java/fr/iglee42/createqualityoflife/client/screens/tabs/MainStatueTab.java index 2acab1d..5c0768a 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/client/screens/tabs/MainStatueTab.java +++ b/src/main/java/fr/iglee42/createqualityoflife/client/screens/tabs/MainStatueTab.java @@ -65,7 +65,7 @@ public void initWidgets(int x, int y) { nameTextBox.setBordered(false); nameTextBox.setTextColor(0xffffff); nameTextBox.setFocused(false); - nameTextBox.setHint(Component.literal("Name")); + nameTextBox.setHint(CreateQOLLang.translateDirect("statue.name")); List tip = new ArrayList<>(); tip.add(CreateQOLLang.translateDirect("statue.showName")); @@ -87,8 +87,8 @@ public void initWidgets(int x, int y) { showNameButton.green = getExampleStatue().isCustomNameVisible(); showNameButton.getToolTip().clear(); showNameButton.getToolTip().addAll(getExampleStatue().isCustomNameVisible() ? tipEnabled : tip); - showNameLabel = new Label(x + LABEL_X_OFFSET,y + SHOW_NAME_Y + LABEL_Y_OFFSET,Component.literal("Show Name")); - showNameLabel.text = Component.literal("Show Name"); + showNameLabel = new Label(x + LABEL_X_OFFSET,y + SHOW_NAME_Y + LABEL_Y_OFFSET,CreateQOLLang.translateDirect("statue.showName")); + showNameLabel.text = CreateQOLLang.translateDirect("statue.showName"); tip.clear(); tip.add(CreateQOLLang.translateDirect("statue.small")); @@ -110,8 +110,8 @@ public void initWidgets(int x, int y) { smallButton.green = getExampleStatue().isSmall(); smallButton.getToolTip().clear(); smallButton.getToolTip().addAll( getExampleStatue().isSmall() ? tipEnabled : tip); - smallLabel = new Label(x + LABEL_X_OFFSET,y + SMALL_Y + LABEL_Y_OFFSET,Component.literal("Small")); - smallLabel.text = Component.literal("Small"); + smallLabel = new Label(x + LABEL_X_OFFSET,y + SMALL_Y + LABEL_Y_OFFSET,CreateQOLLang.translateDirect("statue.small")); + smallLabel.text = CreateQOLLang.translateDirect("statue.small"); tip.clear(); tip.add(CreateQOLLang.translateDirect("statue.slimArms")); @@ -132,8 +132,8 @@ public void initWidgets(int x, int y) { slimArmsButton.green = getExampleStatue().isSlimArms(); slimArmsButton.getToolTip().clear(); slimArmsButton.getToolTip().addAll( getExampleStatue().isSlimArms() ? tipEnabled : tip); - slimArmsLabel = new Label(x + LABEL_X_OFFSET,y + SLIM_ARMS_Y + LABEL_Y_OFFSET,Component.literal("Slim Arms")); - slimArmsLabel.text = Component.literal("Slim Arms"); + slimArmsLabel = new Label(x + LABEL_X_OFFSET,y + SLIM_ARMS_Y + LABEL_Y_OFFSET,CreateQOLLang.translateDirect("statue.slimArms")); + slimArmsLabel.text = CreateQOLLang.translateDirect("statue.slimArms"); tip.clear(); tip.add(CreateQOLLang.translateDirect("statue.noGravity")); @@ -155,8 +155,8 @@ public void initWidgets(int x, int y) { ngButton.green = getExampleStatue().isNoGravity(); ngButton.getToolTip().clear(); ngButton.getToolTip().addAll( getExampleStatue().isNoGravity() ? tipEnabled : tip); - ngLabel = new Label(x + LABEL_X_OFFSET,y + NO_GRAVITY_Y + LABEL_Y_OFFSET,Component.literal("No Gravity")); - ngLabel.text = Component.literal("No Gravity"); + ngLabel = new Label(x + LABEL_X_OFFSET,y + NO_GRAVITY_Y + LABEL_Y_OFFSET,CreateQOLLang.translateDirect("statue.noGravity")); + ngLabel.text = CreateQOLLang.translateDirect("statue.noGravity"); tip.clear(); tip.add(CreateQOLLang.translateDirect("statue.invulnerable")); @@ -181,8 +181,8 @@ public void initWidgets(int x, int y) { invulnerableButton.green = getExampleStatue().isInvulnerable(); invulnerableButton.getToolTip().clear(); invulnerableButton.getToolTip().addAll( getExampleStatue().isInvulnerable() ? tipEnabled : tip); - invulnerableLabel = new Label(x + LABEL_X_OFFSET,y + INVUlNERABLE_Y + LABEL_Y_OFFSET,Component.literal("Invulnerable")); - invulnerableLabel.text = Component.literal("Invulnerable"); + invulnerableLabel = new Label(x + LABEL_X_OFFSET,y + INVUlNERABLE_Y + LABEL_Y_OFFSET,CreateQOLLang.translateDirect("statue.invulnerable")); + invulnerableLabel.text = CreateQOLLang.translateDirect("statue.invulnerable"); if (getExampleStatue().hasOwner() && !Minecraft.getInstance().player.getUUID().equals(getExampleStatue().getOwner().get())){ invulnerableButton.active = false; @@ -212,8 +212,8 @@ public void initWidgets(int x, int y) { invisibleButton.green = getExampleStatue().isInvisible(); invisibleButton.getToolTip().clear(); invisibleButton.getToolTip().addAll( getExampleStatue().isInvisible() ? tipEnabled : tip); - invisibleLabel = new Label(x + LABEL_X_OFFSET,y + INVISIBLE_Y + LABEL_Y_OFFSET,Component.literal("Invisible")); - invisibleLabel.text = Component.literal("Invisible"); + invisibleLabel = new Label(x + LABEL_X_OFFSET,y + INVISIBLE_Y + LABEL_Y_OFFSET,CreateQOLLang.translateDirect("statue.invisible")); + invisibleLabel.text = CreateQOLLang.translateDirect("statue.invisible"); } @Override diff --git a/src/main/java/fr/iglee42/createqualityoflife/client/screens/tabs/SkinStatueTab.java b/src/main/java/fr/iglee42/createqualityoflife/client/screens/tabs/SkinStatueTab.java index 47e299a..8266fa4 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/client/screens/tabs/SkinStatueTab.java +++ b/src/main/java/fr/iglee42/createqualityoflife/client/screens/tabs/SkinStatueTab.java @@ -59,7 +59,7 @@ public void initWidgets(int x, int y) { playerSkinTextBox.setBordered(false); playerSkinTextBox.setTextColor(0xffffff); playerSkinTextBox.setFocused(false); - playerSkinTextBox.setHint(Component.literal("Player Name")); + playerSkinTextBox.setHint(CreateQOLLang.translateDirect("statue.playerName")); playerSkinTextBox.setFilter(StringUtil::isValidPlayerName); partsButtons = new ArrayList<>(); diff --git a/src/main/java/fr/iglee42/createqualityoflife/client/screens/tabs/StatueTransformTab.java b/src/main/java/fr/iglee42/createqualityoflife/client/screens/tabs/StatueTransformTab.java index b950fda..6e873d6 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/client/screens/tabs/StatueTransformTab.java +++ b/src/main/java/fr/iglee42/createqualityoflife/client/screens/tabs/StatueTransformTab.java @@ -184,11 +184,11 @@ public void initWidgets(int x, int y) { scale.withStepFunction(ctx->ctx.control ? 1 : ctx.shift ? 0.5f : 0.1f); scale.calling(i->{ getExampleStatue().setEntityScale(i); - scale.titled(Component.literal("Scale: " + String.format("%.2f",scale.getState()) )); + scale.titled(CreateQOLLang.translateDirect("statue.scaleScroll", String.format("%.2f", scale.getState()))); getParent().sendUpdatePacket(); }); scale.setState(getExampleStatue().getEntityScale()); - scale.titled(Component.literal("Scale: " + String.format("%.2f",scale.getState()))); + scale.titled(CreateQOLLang.translateDirect("statue.scaleScroll", String.format("%.2f", scale.getState()))); rotationLabel = new Label(x + 2* BASE_OFFSET, y+88 - LABEL_Y_OFFSET*3,CreateQOLLang.translateDirect("statue.rotation.cape")); rotationLabel.text = CreateQOLLang.translateDirect("statue.rotation.cape"); diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/armors/RefinedRadianceArmorItem.java b/src/main/java/fr/iglee42/createqualityoflife/items/armors/RefinedRadianceArmorItem.java index 7f36bea..00e6f1f 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/armors/RefinedRadianceArmorItem.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/armors/RefinedRadianceArmorItem.java @@ -51,16 +51,16 @@ public void inventoryTick(ItemStack stack, Level level, Entity entity, int slot, public void appendHoverText(@NotNull ItemStack stack, @NotNull TooltipContext p_41422_, @NotNull List components, @NotNull TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; if (getType().equals(ArmorItem.Type.BOOTS)) { - components.add(Component.literal("Diving : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.diving").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.armors.bootsDiving.get(), true, stack.getOrDefault(QOLDataComponents.BOOTS_DIVING, false), false, true))); - components.add(Component.literal("Belt Blocking : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.belt_blocking").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(true, true, stack.getOrDefault(QOLDataComponents.BOOTS_BELT, true), false, true))); } else if (getType().equals(ArmorItem.Type.LEGGINGS)){ - components.add(Component.literal("Step Height : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.step_height").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.armors.stepHeight.get(), true, stack.getOrDefault(QOLDataComponents.STEP_HEIGHT, true), false, true))); diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/armors/RefinedRadianceChestplate.java b/src/main/java/fr/iglee42/createqualityoflife/items/armors/RefinedRadianceChestplate.java index fa8dea8..3baa250 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/armors/RefinedRadianceChestplate.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/armors/RefinedRadianceChestplate.java @@ -99,17 +99,17 @@ public void addConfigurations(List> list, ItemStack stack) { @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Air : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.air").getString()) .withStyle(ChatFormatting.GOLD) .append(Component.literal(String.valueOf(BacktankUtil.getAir(stack))) .withStyle(ChatFormatting.YELLOW)) .append(Component.literal("/" + BacktankUtil.maxAir(stack)) .withStyle(ChatFormatting.GOLD))); - components.add(Component.literal("Elytra : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.elytra").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.armors.elytraAllowed.get() ,ShadowRadianceChestplate.hasElytra(stack) , ShadowRadianceChestplate.isElytraEnable(stack), true,false))); - components.add(Component.literal("Arms : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.arms").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(true, true, stack.getOrDefault(QOLDataComponents.BACKTANK_ARMS, true), false, true))); diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/armors/RefinedRadianceHelmet.java b/src/main/java/fr/iglee42/createqualityoflife/items/armors/RefinedRadianceHelmet.java index c3a40ec..ebb7d55 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/armors/RefinedRadianceHelmet.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/armors/RefinedRadianceHelmet.java @@ -48,7 +48,7 @@ public void inventoryTick(ItemStack p_41404_, Level p_41405_, Entity p_41406_, i @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Goggles : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.goggles").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.armors.helmetHaveGoggles.get(), true, stack.getOrDefault(QOLDataComponents.HELMET_GOGGLES, true), false, true))); diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowRadianceArmorItem.java b/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowRadianceArmorItem.java index 4f94e13..7cf6e3c 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowRadianceArmorItem.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowRadianceArmorItem.java @@ -48,29 +48,29 @@ public void inventoryTick(ItemStack stack, Level level, Entity entity, int slot, @Override public void appendHoverText(ItemStack stack, TooltipContext p_339594_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Effect : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.effect").getString()) .withStyle(ChatFormatting.GOLD) .append(Component.translatable(providedEffect(stack).value().getDescriptionId()).withStyle(ChatFormatting.YELLOW))); if (getType().equals(ArmorItem.Type.BOOTS)) { - components.add(Component.literal("Diving : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.diving").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.armors.bootsDiving.get(), true, stack.getOrDefault(QOLDataComponents.BOOTS_DIVING, false), false, true))); - components.add(Component.literal("Belt Blocking : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.belt_blocking").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(true, true, stack.getOrDefault(QOLDataComponents.BOOTS_BELT, true), false, true))); - components.add(Component.literal("Lava Walking : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.lava_walking").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.armors.bootsLavaWalking.get(), true, stack.getOrDefault(QOLDataComponents.BOOTS_LAVA, true), false, true))); } else if (getType().equals(ArmorItem.Type.LEGGINGS)){ - components.add(Component.literal("Void Walk : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.void_walk").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.armors.voidWalking.get(), true, stack.getOrDefault(QOLDataComponents.VOID_WALK, true), false, true))); - components.add(Component.literal("Step Height : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.step_height").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.armors.stepHeight.get(), true, stack.getOrDefault(QOLDataComponents.STEP_HEIGHT, true), false, true))); diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowRadianceChestplate.java b/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowRadianceChestplate.java index cd46cca..000addb 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowRadianceChestplate.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowRadianceChestplate.java @@ -3,6 +3,7 @@ import com.simibubi.create.content.equipment.armor.BacktankItem; import com.simibubi.create.content.equipment.armor.BacktankUtil; import fr.iglee42.createqualityoflife.CreateQOL; +import fr.iglee42.createqualityoflife.CreateQOLLang; import fr.iglee42.createqualityoflife.client.screens.widgets.entries.BooleanEntry; import fr.iglee42.createqualityoflife.config.CreateQOLConfigs; import fr.iglee42.createqualityoflife.registries.QOLArmorMaterials; @@ -189,36 +190,36 @@ private void pushVertically(Player p,double y){ @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Air : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.air").getString()) .withStyle(ChatFormatting.GOLD) .append(Component.literal(String.valueOf(BacktankUtil.getAir(stack))) .withStyle(ChatFormatting.YELLOW)) .append(Component.literal("/"+BacktankUtil.maxAir(stack)) .withStyle(ChatFormatting.GOLD))); - components.add(Component.literal("Effect : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.effect").getString()) .withStyle(ChatFormatting.GOLD) .append(Component.translatable(providedEffect(stack).value().getDescriptionId()).withStyle(ChatFormatting.YELLOW))); - components.add(Component.literal("Arms : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.arms").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(true, true, stack.getOrDefault(QOLDataComponents.BACKTANK_ARMS, true), false, true))); - components.add(Component.literal("Elytra : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.elytra").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.armors.elytraAllowed.get() ,hasElytra(stack) ,isElytraEnable(stack), true,false))); - components.add(Component.literal("Dash : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.dash").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.cooldownState(CreateQOLConfigs.server().equipments.armors.dashAllowed.get(), stack.getOrDefault(QOLDataComponents.DASH, true), (int) Math.ceil(Minecraft.getInstance().player.getCooldowns().getCooldownPercent(this,0) * CreateQOLConfigs.server().equipments.armors.dashCooldown.get())))); - components.add(Component.literal("Propeller : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.propeller").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.armors.propellerAllowed.get() , hasPropeller(stack) ,true,false,false))); if (hasPropeller(stack) && CreateQOLConfigs.server().equipments.armors.propellerAllowed.get()) { components.add(Component.empty()); - components.add(Component.literal("Fan : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.fan").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(true,true,isFansEnable(stack),false,true))); - components.add(Component.literal("Hover : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.hover").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.armors.hoverAllowed.get() ,true,isHoverEnable(stack),false,true))); } @@ -228,43 +229,43 @@ public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, public static void toggleFans(ItemStack chestplate,Player p) { if (!CreateQOLConfigs.server().equipments.armors.propellerAllowed.get()){ - p.displayClientMessage(Component.literal("Propeller is disabled by the config").withStyle(ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.armor.disabled", CreateQOLLang.translateDirect("ability.armor.propeller_mode").getString()).withStyle(ChatFormatting.RED),true); return; } if (isElytraEnable(chestplate)){ - p.displayClientMessage(Component.literal("Fan can't be enabled if the elytra are enabled").withStyle(ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.armor.unavailable", CreateQOLLang.translateDirect("ability.armor.fan_mode").getString(), CreateQOLLang.translateDirect("ability.armor.elytra_mode").getString()).withStyle(ChatFormatting.RED),true); return; } chestplate.set(QOLDataComponents.BACKTANK_FANS, !chestplate.has(QOLDataComponents.BACKTANK_FANS) || Boolean.FALSE.equals(chestplate.get(QOLDataComponents.BACKTANK_FANS))); boolean fans = isFansEnable(chestplate); - p.displayClientMessage(Component.literal("Fan : ").append(QOLConfigurableItem.chooseState(true,true,fans,false,true)).withStyle(fans ? ChatFormatting.GREEN : ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.armor.toggle_message", CreateQOLLang.translateDirect("ability.armor.fan_mode").getString()).append(QOLConfigurableItem.chooseState(true,true,fans,false,true)).withStyle(fans ? ChatFormatting.GREEN : ChatFormatting.RED),true); } public static void toggleHover(ItemStack chestplate,Player p) { if (!CreateQOLConfigs.server().equipments.armors.propellerAllowed.get()){ - p.displayClientMessage(Component.literal("Propeller is disabled by the config").withStyle(ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.armor.disabled", CreateQOLLang.translateDirect("ability.armor.propeller_mode").getString()).withStyle(ChatFormatting.RED),true); return; } if (!CreateQOLConfigs.server().equipments.armors.hoverAllowed.get()){ - p.displayClientMessage(Component.literal("Hover is disabled by the config").withStyle(ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.armor.disabled", CreateQOLLang.translateDirect("ability.armor.hover_mode").getString()).withStyle(ChatFormatting.RED),true); return; } chestplate.set(QOLDataComponents.BACKTANK_HOVER, chestplate.has(QOLDataComponents.BACKTANK_HOVER) && Boolean.FALSE.equals(chestplate.get(QOLDataComponents.BACKTANK_HOVER))); boolean hover = isHoverEnable(chestplate); - p.displayClientMessage(Component.literal("Hover : ").append(QOLConfigurableItem.chooseState(true,true,hover,false,true)).withStyle(hover ? ChatFormatting.GREEN : ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.armor.toggle_message", CreateQOLLang.translateDirect("ability.armor.hover_mode").getString()).append(QOLConfigurableItem.chooseState(true,true,hover,false,true)).withStyle(hover ? ChatFormatting.GREEN : ChatFormatting.RED),true); } public static void toggleElytra(ItemStack chestplate,Player p) { if (!CreateQOLConfigs.server().equipments.armors.elytraAllowed.get()){ - p.displayClientMessage(Component.literal("Elytra are disabled by the config").withStyle(ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.armor.disabled", CreateQOLLang.translateDirect("ability.armor.elytra_mode").getString()).withStyle(ChatFormatting.RED),true); return; } if (isFansEnable(chestplate)){ - p.displayClientMessage(Component.literal("Elytra can't be enabled if the fans is enabled").withStyle(ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.armor.unavailable", CreateQOLLang.translateDirect("ability.armor.elytra_mode").getString(), CreateQOLLang.translateDirect("ability.armor.fan_mode").getString()).withStyle(ChatFormatting.RED),true); return; } chestplate.set(QOLDataComponents.BACKTANK_ELYTRA_STATE, chestplate.has(QOLDataComponents.BACKTANK_ELYTRA_STATE) && Boolean.FALSE.equals(chestplate.get(QOLDataComponents.BACKTANK_ELYTRA_STATE))); boolean elytra = isElytraEnable(chestplate); - p.displayClientMessage(Component.literal("Elytra : ").append(QOLConfigurableItem.chooseState(true,true,elytra,false,true)).withStyle(elytra ? ChatFormatting.GREEN : ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.armor.toggle_message", CreateQOLLang.translateDirect("ability.armor.elytra_mode").getString()).append(QOLConfigurableItem.chooseState(true,true,elytra,false,true)).withStyle(elytra ? ChatFormatting.GREEN : ChatFormatting.RED),true); } public static boolean hasPropeller(ItemStack chestplate){ return chestplate.has(QOLDataComponents.BACKTANK_PROPELLERS) && Boolean.TRUE.equals(chestplate.get(QOLDataComponents.BACKTANK_PROPELLERS)); diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowRadianceHelmet.java b/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowRadianceHelmet.java index 8ff2961..4867680 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowRadianceHelmet.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowRadianceHelmet.java @@ -54,10 +54,10 @@ public void inventoryTick(ItemStack stack, Level level, Entity entity, int slot, @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Effect : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.effect").getString()) .withStyle(ChatFormatting.GOLD) .append(Component.translatable(providedEffect(stack).value().getDescriptionId()).withStyle(ChatFormatting.YELLOW))); - components.add(Component.literal("Goggles : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.goggles").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.armors.helmetHaveGoggles.get(), true, stack.getOrDefault(QOLDataComponents.HELMET_GOGGLES, true), false, true))); diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowSteelArmorItem.java b/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowSteelArmorItem.java index 260f7ce..8c37b6f 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowSteelArmorItem.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowSteelArmorItem.java @@ -49,16 +49,16 @@ public void inventoryTick(ItemStack stack, Level level, Entity entity, int slot, public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; if (getType().equals(ArmorItem.Type.BOOTS)) { - components.add(Component.literal("Diving : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.diving").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.armors.bootsDiving.get(), true, stack.getOrDefault(QOLDataComponents.BOOTS_DIVING, false), false, true))); - components.add(Component.literal("Lava Walking : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.lava_walking").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.armors.bootsLavaWalking.get(), true, stack.getOrDefault(QOLDataComponents.BOOTS_LAVA, true), false, true))); } else if (getType().equals(ArmorItem.Type.LEGGINGS)){ - components.add(Component.literal("Void Walk : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.void_walk").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.armors.voidWalking.get(), true, stack.getOrDefault(QOLDataComponents.VOID_WALK, true), false, true))); diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowSteelChestplate.java b/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowSteelChestplate.java index ed46157..0fbe741 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowSteelChestplate.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowSteelChestplate.java @@ -3,6 +3,7 @@ import com.simibubi.create.content.equipment.armor.BacktankItem; import com.simibubi.create.content.equipment.armor.BacktankUtil; import fr.iglee42.createqualityoflife.CreateQOL; +import fr.iglee42.createqualityoflife.CreateQOLLang; import fr.iglee42.createqualityoflife.config.CreateQOLConfigs; import fr.iglee42.createqualityoflife.registries.QOLArmorMaterials; import fr.iglee42.createqualityoflife.registries.QOLDataComponents; @@ -35,11 +36,11 @@ public ShadowSteelChestplate(Properties properties, Supplier public static void dash(ItemStack chestplate, ServerPlayer player) { if (!chestplate.getOrDefault(QOLDataComponents.DASH,true)) return; if (!CreateQOLConfigs.server().equipments.armors.dashAllowed.get()){ - player.displayClientMessage(Component.literal("Dashing is disabled on this server !").withStyle(ChatFormatting.RED),true); + player.displayClientMessage(CreateQOLLang.translateDirect("armor.ability.dash_disabled").withStyle(ChatFormatting.RED),true); return; } if (player.getCooldowns().isOnCooldown(chestplate.getItem())){ - player.displayClientMessage(Component.literal("Dashing is reloading, please wait!").withStyle(ChatFormatting.RED),true); + player.displayClientMessage(CreateQOLLang.translateDirect("armor.ability.dash_reloading").withStyle(ChatFormatting.RED),true); return; } Vec3 look = player.getLookAngle().normalize().scale(2.5D); @@ -58,17 +59,17 @@ public void inventoryTick(ItemStack p_41404_, Level p_41405_, Entity p_41406_, i @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Air : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.air").getString()) .withStyle(ChatFormatting.GOLD) .append(Component.literal(String.valueOf(BacktankUtil.getAir(stack))) .withStyle(ChatFormatting.YELLOW)) .append(Component.literal("/" + BacktankUtil.maxAir(stack)) .withStyle(ChatFormatting.GOLD))); - components.add(Component.literal("Dash : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.dash").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.cooldownState(CreateQOLConfigs.server().equipments.armors.dashAllowed.get(), stack.getOrDefault(QOLDataComponents.DASH, true), (int) Math.ceil(Minecraft.getInstance().player.getCooldowns().getCooldownPercent(this,0) * CreateQOLConfigs.server().equipments.armors.dashCooldown.get())))); - components.add(Component.literal("Arms : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.arms").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(true, true, stack.getOrDefault(QOLDataComponents.BACKTANK_ARMS, true), false, true))); diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowSteelHelmet.java b/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowSteelHelmet.java index a8b4e42..cad1e8b 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowSteelHelmet.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/armors/ShadowSteelHelmet.java @@ -42,7 +42,7 @@ public ShadowSteelHelmet( Properties properties) { @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Goggles : ") + components.add(Component.translatable("createqol.ability.armor.toggle_message", Component.translatable("createqol.ability.armor.goggles").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.armors.helmetHaveGoggles.get(), true, stack.getOrDefault(QOLDataComponents.HELMET_GOGGLES, true), false, true))); diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadianceAxe.java b/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadianceAxe.java index 2297521..6a7d7d6 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadianceAxe.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadianceAxe.java @@ -11,6 +11,7 @@ import com.simibubi.create.foundation.utility.AbstractBlockBreakQueue; import com.simibubi.create.foundation.utility.BlockHelper; import fr.iglee42.createqualityoflife.CreateQOL; +import fr.iglee42.createqualityoflife.CreateQOLLang; import fr.iglee42.createqualityoflife.config.CreateQOLConfigs; import fr.iglee42.createqualityoflife.registries.QOLDataComponents; import fr.iglee42.createqualityoflife.registries.QOLItems; @@ -78,10 +79,10 @@ public Type type() { @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Reach : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.reach").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.reach.get(), true, stack.getOrDefault(QOLDataComponents.REACH,true), false, true))); - components.add(Component.literal("Casingifier : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.casingifier").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.casingifier.get(), true, stack.getOrDefault(QOLDataComponents.CASINGIFIER,false), false, true))); super.appendHoverText(stack, p_41422_, components, p_41424_); @@ -105,12 +106,12 @@ public InteractionResultHolder use(Level level, Player player, Intera public static void toggleAbility(ItemStack stack, Player p) { if (!CreateQOLConfigs.server().equipments.tools.casingifier.get()){ - p.displayClientMessage(Component.literal("Casingifier is disabled by the config").withStyle(ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.disabled", CreateQOLLang.translateDirect("ability.tool.casingifier").getString()).withStyle(ChatFormatting.RED),true); return; } boolean enable = !stack.getOrDefault(QOLDataComponents.CASINGIFIER,false); stack.set(QOLDataComponents.CASINGIFIER, enable); - p.displayClientMessage(Component.literal("Casingifier : ").append(QOLConfigurableItem.chooseState(true,true,enable,false,true)).withStyle(enable ? ChatFormatting.GREEN : ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.toggle_message", CreateQOLLang.translateDirect("ability.tool.casingifier").getString()).append(QOLConfigurableItem.chooseState(true,true,enable,false,true)).withStyle(enable ? ChatFormatting.GREEN : ChatFormatting.RED),true); } @Override diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadianceHoe.java b/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadianceHoe.java index 8b1c4e5..9d58c11 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadianceHoe.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadianceHoe.java @@ -8,6 +8,7 @@ import com.simibubi.create.foundation.utility.BlockHelper; import com.simibubi.create.infrastructure.config.AllConfigs; import fr.iglee42.createqualityoflife.CreateQOL; +import fr.iglee42.createqualityoflife.CreateQOLLang; import fr.iglee42.createqualityoflife.config.CreateQOLConfigs; import fr.iglee42.createqualityoflife.registries.QOLDataComponents; import fr.iglee42.createqualityoflife.registries.QOLItems; @@ -72,10 +73,10 @@ public Type type() { @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Reach : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.reach").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.reach.get(), true, stack.getOrDefault(QOLDataComponents.REACH,true), false, true))); - components.add(Component.literal("Harvesting : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.harvesting").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.harvesting.get(), true, stack.getOrDefault(QOLDataComponents.HARVESTING,false), false, true))); super.appendHoverText(stack, p_41422_, components, p_41424_); @@ -97,12 +98,12 @@ public InteractionResultHolder use(Level level, Player player, Intera public static void toggleAbility(ItemStack stack, Player p) { if (!CreateQOLConfigs.server().equipments.tools.harvesting.get()){ - p.displayClientMessage(Component.literal("Harvesting is disabled by the config").withStyle(ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.disabled", CreateQOLLang.translateDirect("ability.tool.harvesting").getString()).withStyle(ChatFormatting.RED),true); return; } boolean enable = !stack.getOrDefault(QOLDataComponents.HARVESTING,false); stack.set(QOLDataComponents.HARVESTING, enable); - p.displayClientMessage(Component.literal("Harvesting : ").append(QOLConfigurableItem.chooseState(true,true,enable,false,true)).withStyle(enable ? ChatFormatting.GREEN : ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.toggle_message", CreateQOLLang.translateDirect("ability.tool.harvesting").getString()).append(QOLConfigurableItem.chooseState(true,true,enable,false,true)).withStyle(enable ? ChatFormatting.GREEN : ChatFormatting.RED),true); } @Override diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadiancePickaxe.java b/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadiancePickaxe.java index 4726a57..a458496 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadiancePickaxe.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadiancePickaxe.java @@ -2,6 +2,7 @@ import com.simibubi.create.content.equipment.armor.BacktankUtil; import fr.iglee42.createqualityoflife.CreateQOL; +import fr.iglee42.createqualityoflife.CreateQOLLang; import fr.iglee42.createqualityoflife.config.CreateQOLConfigs; import fr.iglee42.createqualityoflife.registries.QOLDataComponents; import fr.iglee42.createqualityoflife.registries.QOLItems; @@ -64,10 +65,10 @@ public Type type() { @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Reach : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.reach").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.reach.get(), true, stack.getOrDefault(QOLDataComponents.REACH,true), false, true))); - components.add(Component.literal("Vein Mine : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.vein_mine").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.veinMine.get(), true, stack.getOrDefault(QOLDataComponents.VEIN_MINE,false), false, true))); super.appendHoverText(stack, p_41422_, components, p_41424_); @@ -90,12 +91,12 @@ public InteractionResultHolder use(Level level, Player player, Intera public static void toggleAbility(ItemStack stack, Player p) { if (!CreateQOLConfigs.server().equipments.tools.veinMine.get()){ - p.displayClientMessage(Component.literal("Vein Mine is disabled by the config").withStyle(ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.disabled", CreateQOLLang.translateDirect("ability.tool.vein_mine").getString()).withStyle(ChatFormatting.RED),true); return; } boolean enable = !stack.getOrDefault(QOLDataComponents.VEIN_MINE,false); stack.set(QOLDataComponents.VEIN_MINE, enable); - p.displayClientMessage(Component.literal("Vein Mine : ").append(QOLConfigurableItem.chooseState(true,true,enable,false,true)).withStyle(enable ? ChatFormatting.GREEN : ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.toggle_message", CreateQOLLang.translateDirect("ability.tool.vein_mine").getString()).append(QOLConfigurableItem.chooseState(true,true,enable,false,true)).withStyle(enable ? ChatFormatting.GREEN : ChatFormatting.RED),true); } diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadianceShovel.java b/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadianceShovel.java index 26f8117..a459528 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadianceShovel.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadianceShovel.java @@ -2,6 +2,7 @@ import com.simibubi.create.content.equipment.armor.BacktankUtil; import fr.iglee42.createqualityoflife.CreateQOL; +import fr.iglee42.createqualityoflife.CreateQOLLang; import fr.iglee42.createqualityoflife.config.CreateQOLConfigs; import fr.iglee42.createqualityoflife.registries.QOLDataComponents; import fr.iglee42.createqualityoflife.registries.QOLItems; @@ -60,10 +61,10 @@ public Type type() { @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Reach : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.reach").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.reach.get(), true, stack.getOrDefault(QOLDataComponents.REACH,true), false, true))); - components.add(Component.literal("Smelting : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.smelting").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.smelting.get(), true, stack.getOrDefault(QOLDataComponents.SMELTING,false), false, true))); super.appendHoverText(stack, p_41422_, components, p_41424_); @@ -87,12 +88,12 @@ public InteractionResultHolder use(Level level, Player player, Intera public static void toggleAbility(ItemStack stack, Player p) { if (!CreateQOLConfigs.server().equipments.tools.smelting.get()){ - p.displayClientMessage(Component.literal("Smelting is disabled by the config").withStyle(ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.disabled", CreateQOLLang.translateDirect("ability.tool.smelting").getString()).withStyle(ChatFormatting.RED),true); return; } boolean enable = !stack.getOrDefault(QOLDataComponents.SMELTING,false); stack.set(QOLDataComponents.SMELTING, enable); - p.displayClientMessage(Component.literal("Smelting : ").append(QOLConfigurableItem.chooseState(true,true,enable,false,true)).withStyle(enable ? ChatFormatting.GREEN : ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.toggle_message", CreateQOLLang.translateDirect("ability.tool.smelting").getString()).append(QOLConfigurableItem.chooseState(true,true,enable,false,true)).withStyle(enable ? ChatFormatting.GREEN : ChatFormatting.RED),true); } diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadianceSword.java b/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadianceSword.java index c855f03..162f949 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadianceSword.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/tools/refinedradiance/RefinedRadianceSword.java @@ -123,10 +123,10 @@ public Type type() { @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Reach : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.reach").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.reach.get(), true, stack.getOrDefault(QOLDataComponents.REACH, true), false, true))); - components.add(Component.literal("Attraction : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.attraction").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.cooldownState(CreateQOLConfigs.server().equipments.tools.swordsAbilities.get(), true, (int) Math.ceil(Minecraft.getInstance().player.getCooldowns().getCooldownPercent(this,0) * CreateQOLConfigs.server().equipments.tools.swordsCooldowns.get())))); diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadianceAxe.java b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadianceAxe.java index 7c25745..48c5965 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadianceAxe.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadianceAxe.java @@ -6,6 +6,7 @@ import com.simibubi.create.content.kinetics.deployer.ManualApplicationRecipe; import com.simibubi.create.foundation.advancement.AllAdvancements; import com.simibubi.create.foundation.advancement.CreateAdvancement; +import fr.iglee42.createqualityoflife.CreateQOLLang; import fr.iglee42.createqualityoflife.config.CreateQOLConfigs; import fr.iglee42.createqualityoflife.items.tools.refinedradiance.RefinedRadianceAxe; import fr.iglee42.createqualityoflife.items.tools.refinedradiance.RefinedRadianceHoe; @@ -66,13 +67,13 @@ public Type type() { @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Reach : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.reach").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.reach.get(), true, stack.getOrDefault(QOLDataComponents.REACH,true), false, true))); - components.add(Component.literal("Casifier : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.casingifier").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.casingifier.get(), true, stack.getOrDefault(QOLDataComponents.CASINGIFIER,false), false, true))); - components.add(Component.literal("Tree Decapitation : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.tree_decapitation").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.treeDecapitation.get(), true, stack.getOrDefault(QOLDataComponents.TREE_DECAPITATION,false), false, true))); super.appendHoverText(stack, p_41422_, components, p_41424_); @@ -92,14 +93,14 @@ public InteractionResultHolder use(Level level, Player player, Intera if (level.isClientSide) return InteractionResultHolder.sidedSuccess(player.getItemInHand(hand),true); if (player.isCrouching()){ if (player.getItemInHand(hand).getOrDefault(QOLDataComponents.TREE_DECAPITATION,false)){ - player.displayClientMessage(Component.literal("Casingifier can't be enabled if tree decapitation is enabled").withStyle(ChatFormatting.RED),true); + player.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.unavailable", CreateQOLLang.translateDirect("ability.tool.casingifier").getString(), CreateQOLLang.translateDirect("ability.tool.tree_decapitation").getString()).withStyle(ChatFormatting.RED),true); }else { RefinedRadianceAxe.toggleAbility(player.getItemInHand(hand),player); } } else { if (player.getItemInHand(hand).getOrDefault(QOLDataComponents.CASINGIFIER,false)){ - player.displayClientMessage(Component.literal("Tree Decapitation can't be enabled if casingifier is enabled").withStyle(ChatFormatting.RED),true); + player.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.unavailable", CreateQOLLang.translateDirect("ability.tool.tree_decapitation").getString(), CreateQOLLang.translateDirect("ability.tool.casingifier").getString()).withStyle(ChatFormatting.RED),true); }else { ShadowSteelAxe.toggleAbility(player.getItemInHand(hand),player); } diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadianceHoe.java b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadianceHoe.java index a07c8ac..76371e6 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadianceHoe.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadianceHoe.java @@ -2,6 +2,7 @@ import com.mojang.datafixers.util.Pair; import com.simibubi.create.content.equipment.armor.BacktankUtil; +import fr.iglee42.createqualityoflife.CreateQOLLang; import fr.iglee42.createqualityoflife.client.screens.widgets.entries.BooleanEntry; import fr.iglee42.createqualityoflife.config.CreateQOLConfigs; import fr.iglee42.createqualityoflife.items.tools.refinedradiance.RefinedRadianceHoe; @@ -57,13 +58,13 @@ public Type type() { @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Reach : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.reach").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.reach.get(), true, stack.getOrDefault(QOLDataComponents.REACH,true), false, true))); - components.add(Component.literal("Harvesting : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.harvesting").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.harvesting.get(), true, stack.getOrDefault(QOLDataComponents.HARVESTING,false), false, true))); - components.add(Component.literal("Ploughing : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.ploughing").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.ploughing.get(), true, stack.getOrDefault(QOLDataComponents.PLOUGHING,false), false, true))); super.appendHoverText(stack, p_41422_, components, p_41424_); @@ -91,14 +92,14 @@ public InteractionResultHolder use(Level level, Player player, Intera if (level.isClientSide) return InteractionResultHolder.sidedSuccess(player.getItemInHand(hand),true); if (player.isCrouching()){ if (player.getItemInHand(hand).getOrDefault(QOLDataComponents.HARVESTING,false)){ - player.displayClientMessage(Component.literal("Ploughing can't be enabled if harvesting is enabled").withStyle(ChatFormatting.RED),true); + player.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.unavailable", CreateQOLLang.translateDirect("ability.tool.ploughing").getString(), CreateQOLLang.translateDirect("ability.tool.harvesting").getString()).withStyle(ChatFormatting.RED),true); }else { ShadowSteelHoe.toggleAbility(player.getItemInHand(hand),player); } } else { if (player.getItemInHand(hand).getOrDefault(QOLDataComponents.PLOUGHING,false)){ - player.displayClientMessage(Component.literal("Harvesting can't be enabled if ploughing is enabled").withStyle(ChatFormatting.RED),true); + player.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.unavailable", CreateQOLLang.translateDirect("ability.tool.harvesting").getString(), CreateQOLLang.translateDirect("ability.tool.ploughing").getString()).withStyle(ChatFormatting.RED),true); }else { RefinedRadianceHoe.toggleAbility(player.getItemInHand(hand),player); } diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadiancePickaxe.java b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadiancePickaxe.java index a4157e9..49e7b1d 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadiancePickaxe.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadiancePickaxe.java @@ -1,6 +1,7 @@ package fr.iglee42.createqualityoflife.items.tools.shadowradiance; import com.simibubi.create.content.equipment.armor.BacktankUtil; +import fr.iglee42.createqualityoflife.CreateQOLLang; import fr.iglee42.createqualityoflife.client.screens.widgets.entries.BooleanEntry; import fr.iglee42.createqualityoflife.config.CreateQOLConfigs; import fr.iglee42.createqualityoflife.items.tools.refinedradiance.RefinedRadiancePickaxe; @@ -36,14 +37,14 @@ public InteractionResultHolder use(Level level, Player player, Intera if (level.isClientSide) return InteractionResultHolder.sidedSuccess(player.getItemInHand(hand),true); if (player.isCrouching()){ if (player.getItemInHand(hand).getOrDefault(QOLDataComponents.VEIN_MINE,false)){ - player.displayClientMessage(Component.literal("Digging can't be enabled if vein mine is enabled").withStyle(ChatFormatting.RED),true); + player.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.unavailable", CreateQOLLang.translateDirect("ability.tool.digging").getString(), CreateQOLLang.translateDirect("ability.tool.vein_mine").getString()).withStyle(ChatFormatting.RED),true); }else { ShadowSteelPickaxe.toggleAbility(player.getItemInHand(hand),player); } } else { if (player.getItemInHand(hand).getOrDefault(QOLDataComponents.DIGGING,false)){ - player.displayClientMessage(Component.literal("Vein Mine can't be enabled if digging is enabled").withStyle(ChatFormatting.RED),true); + player.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.unavailable", CreateQOLLang.translateDirect("ability.tool.vein_mine").getString(), CreateQOLLang.translateDirect("ability.tool.digging").getString()).withStyle(ChatFormatting.RED),true); }else { RefinedRadiancePickaxe.toggleAbility(player.getItemInHand(hand),player); } @@ -65,13 +66,13 @@ public Type type() { @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Reach : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.reach").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.reach.get(), true, stack.getOrDefault(QOLDataComponents.REACH, true), false, true))); - components.add(Component.literal("Digging : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.digging").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.digging.get(), true, stack.getOrDefault(QOLDataComponents.DIGGING, false), false, true))); - components.add(Component.literal("Vein Mine : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.vein_mine").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.veinMine.get(), true, stack.getOrDefault(QOLDataComponents.VEIN_MINE,false), false, true))); super.appendHoverText(stack, p_41422_, components, p_41424_); diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadianceShovel.java b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadianceShovel.java index f081e8c..76f2343 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadianceShovel.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadianceShovel.java @@ -1,6 +1,7 @@ package fr.iglee42.createqualityoflife.items.tools.shadowradiance; import com.simibubi.create.content.equipment.armor.BacktankUtil; +import fr.iglee42.createqualityoflife.CreateQOLLang; import fr.iglee42.createqualityoflife.client.screens.widgets.entries.BooleanEntry; import fr.iglee42.createqualityoflife.config.CreateQOLConfigs; import fr.iglee42.createqualityoflife.items.tools.refinedradiance.RefinedRadianceShovel; @@ -45,13 +46,13 @@ public Type type() { @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Reach : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.reach").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.reach.get(), true, stack.getOrDefault(QOLDataComponents.REACH,true), false, true))); - components.add(Component.literal("Smelting : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.smelting").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.smelting.get(), true, stack.getOrDefault(QOLDataComponents.SMELTING,false), false, true))); - components.add(Component.literal("Digging : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.digging").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.digging.get(), true, stack.getOrDefault(QOLDataComponents.DIGGING,false), false, true))); super.appendHoverText(stack, p_41422_, components, p_41424_); @@ -79,14 +80,14 @@ public InteractionResultHolder use(Level level, Player player, Intera if (level.isClientSide) return InteractionResultHolder.sidedSuccess(player.getItemInHand(hand),true); if (player.isCrouching()){ if (player.getItemInHand(hand).getOrDefault(QOLDataComponents.SMELTING,false)){ - player.displayClientMessage(Component.literal("Digging can't be enabled if smelting is enabled").withStyle(ChatFormatting.RED),true); + player.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.unavailable", CreateQOLLang.translateDirect("ability.tool.digging").getString(), CreateQOLLang.translateDirect("ability.tool.smelting").getString()).withStyle(ChatFormatting.RED),true); }else { ShadowSteelShovel.toggleAbility(player.getItemInHand(hand),player); } } else { if (player.getItemInHand(hand).getOrDefault(QOLDataComponents.DIGGING,false)){ - player.displayClientMessage(Component.literal("Smelting can't be enabled if digging is enabled").withStyle(ChatFormatting.RED),true); + player.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.unavailable", CreateQOLLang.translateDirect("ability.tool.smelting").getString(), CreateQOLLang.translateDirect("ability.tool.digging").getString()).withStyle(ChatFormatting.RED),true); }else { RefinedRadianceShovel.toggleAbility(player.getItemInHand(hand),player); } diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadianceSword.java b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadianceSword.java index 813fc33..61fae26 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadianceSword.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowradiance/ShadowRadianceSword.java @@ -134,10 +134,10 @@ public Type type() { @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Reach : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.reach").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.reach.get(), true, stack.getOrDefault(QOLDataComponents.REACH, true), false, true))); - components.add(Component.literal("Repulsion/Attraction : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.repulsion_attraction").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.cooldownState(CreateQOLConfigs.server().equipments.tools.swordsAbilities.get(), true, (int) Math.ceil(Minecraft.getInstance().player.getCooldowns().getCooldownPercent(this,0) * CreateQOLConfigs.server().equipments.tools.swordsCooldowns.get())))); diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelAxe.java b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelAxe.java index bde9a62..2dbeff2 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelAxe.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelAxe.java @@ -11,6 +11,7 @@ import com.simibubi.create.foundation.utility.AbstractBlockBreakQueue; import com.simibubi.create.foundation.utility.BlockHelper; import fr.iglee42.createqualityoflife.CreateQOL; +import fr.iglee42.createqualityoflife.CreateQOLLang; import fr.iglee42.createqualityoflife.config.CreateQOLConfigs; import fr.iglee42.createqualityoflife.registries.QOLDataComponents; import fr.iglee42.createqualityoflife.registries.QOLItems; @@ -80,10 +81,10 @@ public Type type() { @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Reach : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.reach").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.reach.get(), true, stack.getOrDefault(QOLDataComponents.REACH,true), false, true))); - components.add(Component.literal("Tree Decapitation : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.tree_decapitation").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.treeDecapitation.get(), true, stack.getOrDefault(QOLDataComponents.TREE_DECAPITATION,false), false, true))); super.appendHoverText(stack, p_41422_, components, p_41424_); @@ -106,12 +107,12 @@ public InteractionResultHolder use(Level level, Player player, Intera public static void toggleAbility(ItemStack stack, Player p) { if (!CreateQOLConfigs.server().equipments.tools.treeDecapitation.get()){ - p.displayClientMessage(Component.literal("Tree Decapitation is disabled by the config").withStyle(ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.disabled", CreateQOLLang.translateDirect("ability.tool.tree_decapitation").getString()).withStyle(ChatFormatting.RED),true); return; } boolean enable = !stack.getOrDefault(QOLDataComponents.TREE_DECAPITATION,false); stack.set(QOLDataComponents.TREE_DECAPITATION, enable); - p.displayClientMessage(Component.literal("Tree Decapitation : ").append(QOLConfigurableItem.chooseState(true,true,enable,false,true)).withStyle(enable ? ChatFormatting.GREEN : ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.toggle_message", CreateQOLLang.translateDirect("ability.tool.tree_decapitation").getString()).append(QOLConfigurableItem.chooseState(true,true,enable,false,true)).withStyle(enable ? ChatFormatting.GREEN : ChatFormatting.RED),true); } @Override diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelHoe.java b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelHoe.java index f9dbeb5..b0d25fb 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelHoe.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelHoe.java @@ -7,6 +7,7 @@ import com.simibubi.create.foundation.mixin.accessor.CropBlockAccessor; import com.simibubi.create.foundation.utility.BlockHelper; import com.simibubi.create.infrastructure.config.AllConfigs; +import fr.iglee42.createqualityoflife.CreateQOLLang; import fr.iglee42.createqualityoflife.config.CreateQOLConfigs; import fr.iglee42.createqualityoflife.registries.QOLDataComponents; import fr.iglee42.createqualityoflife.registries.QOLItems; @@ -63,10 +64,10 @@ public Type type() { @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Reach : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.reach").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.reach.get(), true, stack.getOrDefault(QOLDataComponents.REACH,true), false, true))); - components.add(Component.literal("Ploughing : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.ploughing").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.ploughing.get(), true, stack.getOrDefault(QOLDataComponents.PLOUGHING,false), false, true))); super.appendHoverText(stack, p_41422_, components, p_41424_); @@ -89,12 +90,12 @@ public InteractionResultHolder use(Level level, Player player, Intera public static void toggleAbility(ItemStack stack, Player p) { if (!CreateQOLConfigs.server().equipments.tools.ploughing.get()){ - p.displayClientMessage(Component.literal("Ploughing is disabled by the config").withStyle(ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.disabled", CreateQOLLang.translateDirect("ability.tool.ploughing").getString()).withStyle(ChatFormatting.RED),true); return; } boolean enable = !stack.getOrDefault(QOLDataComponents.PLOUGHING,false); stack.set(QOLDataComponents.PLOUGHING, enable); - p.displayClientMessage(Component.literal("Ploughing : ").append(QOLConfigurableItem.chooseState(true,true,enable,false,true)).withStyle(enable ? ChatFormatting.GREEN : ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.toggle_message", CreateQOLLang.translateDirect("ability.tool.ploughing").getString()).append(QOLConfigurableItem.chooseState(true,true,enable,false,true)).withStyle(enable ? ChatFormatting.GREEN : ChatFormatting.RED),true); } @Override diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelPickaxe.java b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelPickaxe.java index ae72012..7bfc926 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelPickaxe.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelPickaxe.java @@ -2,6 +2,7 @@ import com.simibubi.create.content.equipment.armor.BacktankUtil; import fr.iglee42.createqualityoflife.CreateQOL; +import fr.iglee42.createqualityoflife.CreateQOLLang; import fr.iglee42.createqualityoflife.config.CreateQOLConfigs; import fr.iglee42.createqualityoflife.registries.QOLDataComponents; import fr.iglee42.createqualityoflife.registries.QOLItems; @@ -55,12 +56,12 @@ public InteractionResultHolder use(Level level, Player player, Intera public static void toggleAbility(ItemStack stack, Player p) { if (!CreateQOLConfigs.server().equipments.tools.digging.get()){ - p.displayClientMessage(Component.literal("Digging is disabled by the config").withStyle(ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.disabled", CreateQOLLang.translateDirect("ability.tool.digging").getString()).withStyle(ChatFormatting.RED),true); return; } boolean enable = !stack.getOrDefault(QOLDataComponents.DIGGING,false); stack.set(QOLDataComponents.DIGGING, enable); - p.displayClientMessage(Component.literal("Digging : ").append(QOLConfigurableItem.chooseState(true,true,enable,false,true)).withStyle(enable ? ChatFormatting.GREEN : ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.toggle_message", CreateQOLLang.translateDirect("ability.tool.digging").getString()).append(QOLConfigurableItem.chooseState(true,true,enable,false,true)).withStyle(enable ? ChatFormatting.GREEN : ChatFormatting.RED),true); } public static void mineBlock(BlockEvent.BreakEvent event) { @@ -132,10 +133,10 @@ public Type type() { @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Reach : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.reach").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.reach.get(), true, stack.getOrDefault(QOLDataComponents.REACH, true), false, true))); - components.add(Component.literal("Digging : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.digging").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.digging.get(), true, stack.getOrDefault(QOLDataComponents.DIGGING, false), false, true))); super.appendHoverText(stack, p_41422_, components, p_41424_); diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelShovel.java b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelShovel.java index d1961cf..c9f3d5f 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelShovel.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelShovel.java @@ -2,6 +2,7 @@ import com.simibubi.create.content.equipment.armor.BacktankUtil; import fr.iglee42.createqualityoflife.CreateQOL; +import fr.iglee42.createqualityoflife.CreateQOLLang; import fr.iglee42.createqualityoflife.config.CreateQOLConfigs; import fr.iglee42.createqualityoflife.registries.QOLDataComponents; import fr.iglee42.createqualityoflife.registries.QOLItems; @@ -67,10 +68,10 @@ public Type type() { @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Reach : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.reach").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.reach.get(), true, stack.getOrDefault(QOLDataComponents.REACH,true), false, true))); - components.add(Component.literal("Digging : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.digging").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.digging.get(), true, stack.getOrDefault(QOLDataComponents.DIGGING,false), false, true))); super.appendHoverText(stack, p_41422_, components, p_41424_); @@ -93,12 +94,12 @@ public InteractionResultHolder use(Level level, Player player, Intera public static void toggleAbility(ItemStack stack, Player p) { if (!CreateQOLConfigs.server().equipments.tools.digging.get()){ - p.displayClientMessage(Component.literal("Digging is disabled by the config").withStyle(ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.disabled", CreateQOLLang.translateDirect("ability.tool.digging").getString()).withStyle(ChatFormatting.RED),true); return; } boolean enable = !stack.getOrDefault(QOLDataComponents.DIGGING,false); stack.set(QOLDataComponents.DIGGING, enable); - p.displayClientMessage(Component.literal("Digging : ").append(QOLConfigurableItem.chooseState(true,true,enable,false,true)).withStyle(enable ? ChatFormatting.GREEN : ChatFormatting.RED),true); + p.displayClientMessage(CreateQOLLang.translateDirect("ability.tool.toggle_message", CreateQOLLang.translateDirect("ability.tool.digging").getString()).append(QOLConfigurableItem.chooseState(true,true,enable,false,true)).withStyle(enable ? ChatFormatting.GREEN : ChatFormatting.RED),true); } diff --git a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelSword.java b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelSword.java index 9c3c6fa..bbda013 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelSword.java +++ b/src/main/java/fr/iglee42/createqualityoflife/items/tools/shadowsteel/ShadowSteelSword.java @@ -129,10 +129,10 @@ public Type type() { @Override public void appendHoverText(ItemStack stack, @Nullable TooltipContext p_41422_, List components, TooltipFlag p_41424_) { if (!stack.getOrDefault(QOLDataComponents.ITEM_TOOLTIPS, ItemTooltips.DEFAULT).isEnable(ItemTooltips.Tooltip.OPTIONS)) return; - components.add(Component.literal("Reach : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.reach").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.chooseState(CreateQOLConfigs.server().equipments.tools.reach.get(), true, stack.getOrDefault(QOLDataComponents.REACH, true), false, true))); - components.add(Component.literal("Repulsion : ") + components.add(Component.translatable("createqol.ability.tool.toggle_message", Component.translatable("createqol.ability.tool.repulsion").getString()) .withStyle(ChatFormatting.GOLD) .append(QOLConfigurableItem.cooldownState(CreateQOLConfigs.server().equipments.tools.swordsAbilities.get(), true, (int) Math.ceil(Minecraft.getInstance().player.getCooldowns().getCooldownPercent(this,0) * CreateQOLConfigs.server().equipments.tools.swordsCooldowns.get())))); diff --git a/src/main/java/fr/iglee42/createqualityoflife/packets/ToggleElytraPacket.java b/src/main/java/fr/iglee42/createqualityoflife/packets/ToggleElytraPacket.java index 3fe24a0..7bd966c 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/packets/ToggleElytraPacket.java +++ b/src/main/java/fr/iglee42/createqualityoflife/packets/ToggleElytraPacket.java @@ -29,7 +29,7 @@ public void handle(ServerPlayer player) { if ((QOLItems.SHADOW_RADIANCE_CHESTPLATE.is(backtank) ||QOLItems.REFINED_RADIANCE_CHESTPLATE.is(backtank)) && ShadowRadianceChestplate.hasElytra(chestplate)){ ShadowRadianceChestplate.toggleElytra(chestplate,player); }else if (QOLItems.SHADOW_RADIANCE_CHESTPLATE.is(backtank) && !ShadowRadianceChestplate.hasElytra(chestplate)){ - player.sendSystemMessage(CreateQOLLang.translateDirect("chestplate.no_elytra").withStyle(ChatFormatting.RED),true); + player.sendSystemMessage(CreateQOLLang.translateDirect("armor.ability.no_elytra").withStyle(ChatFormatting.RED),true); } } } diff --git a/src/main/java/fr/iglee42/createqualityoflife/packets/ToggleFansPacket.java b/src/main/java/fr/iglee42/createqualityoflife/packets/ToggleFansPacket.java index 68100be..c47df60 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/packets/ToggleFansPacket.java +++ b/src/main/java/fr/iglee42/createqualityoflife/packets/ToggleFansPacket.java @@ -30,7 +30,7 @@ public void handle(ServerPlayer player) { if (QOLItems.SHADOW_RADIANCE_CHESTPLATE.is(backtank) && ShadowRadianceChestplate.hasPropeller(chestplate)){ ShadowRadianceChestplate.toggleFans(chestplate,player); }else if (QOLItems.SHADOW_RADIANCE_CHESTPLATE.is(backtank) && !ShadowRadianceChestplate.hasPropeller(chestplate)){ - player.sendSystemMessage(CreateQOLLang.translateDirect("chestplate.no_propeller").withStyle(ChatFormatting.RED),true); + player.sendSystemMessage(CreateQOLLang.translateDirect("armor.ability.no_propeller").withStyle(ChatFormatting.RED),true); } } } diff --git a/src/main/java/fr/iglee42/createqualityoflife/packets/ToggleHoverPacket.java b/src/main/java/fr/iglee42/createqualityoflife/packets/ToggleHoverPacket.java index 1322492..ffd1e6b 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/packets/ToggleHoverPacket.java +++ b/src/main/java/fr/iglee42/createqualityoflife/packets/ToggleHoverPacket.java @@ -29,7 +29,7 @@ public void handle(ServerPlayer player) { if (QOLItems.SHADOW_RADIANCE_CHESTPLATE.is(backtank) && ShadowRadianceChestplate.hasPropeller(chestplate)){ ShadowRadianceChestplate.toggleHover(chestplate,player); } else if (QOLItems.SHADOW_RADIANCE_CHESTPLATE.is(backtank) && !ShadowRadianceChestplate.hasPropeller(chestplate)){ - player.sendSystemMessage(CreateQOLLang.translateDirect("chestplate.no_propeller").withStyle(ChatFormatting.RED),true); + player.sendSystemMessage(CreateQOLLang.translateDirect("armor.ability.no_propeller").withStyle(ChatFormatting.RED),true); } } } diff --git a/src/main/java/fr/iglee42/createqualityoflife/utils/QOLConfigurableItem.java b/src/main/java/fr/iglee42/createqualityoflife/utils/QOLConfigurableItem.java index 1fc45a1..0755571 100644 --- a/src/main/java/fr/iglee42/createqualityoflife/utils/QOLConfigurableItem.java +++ b/src/main/java/fr/iglee42/createqualityoflife/utils/QOLConfigurableItem.java @@ -209,12 +209,12 @@ public ValueEntry getWidget(Configuration config) { } static Component chooseState(boolean config, boolean installed, boolean active, boolean activeReplaceInstall, boolean activeOnly){ - if (activeOnly) return Component.literal(!config ? "Disabled By Config" : (active ? "Enable" : "Disable")).withStyle(!config ? ChatFormatting.RED : ChatFormatting.YELLOW); - return Component.literal(!config ? "Disabled By Config" : (installed ? (activeReplaceInstall ? (active ? "Enable" : "Disable") : "Installed") : "Not Installed")).withStyle(!config ? ChatFormatting.RED : ChatFormatting.YELLOW); + if (activeOnly) return Component.translatable(!config ? "createqol.ability.state.disabled_by_config" : (active ? "createqol.ability.state.enabled" : "createqol.ability.state.disabled")).withStyle(!config ? ChatFormatting.RED : ChatFormatting.YELLOW); + return Component.translatable(!config ? "createqol.ability.state.disabled_by_config" : (installed ? (activeReplaceInstall ? (active ? "createqol.ability.state.enabled" : "createqol.ability.state.disabled") : "createqol.ability.state.installed") : "createqol.ability.state.not_installed")).withStyle(!config ? ChatFormatting.RED : ChatFormatting.YELLOW); } static Component cooldownState(boolean config, boolean active, int cooldown){ - return Component.literal(!config ? "Disabled By Config" : (active ? (cooldown > 0 ? cooldown / 20 + "s" : "Enable") : "Disable")).withStyle(!config ? ChatFormatting.RED : ChatFormatting.YELLOW); + return !config ? Component.translatable("createqol.ability.state.disabled_by_config").withStyle(ChatFormatting.RED) : (active ? (cooldown > 0 ? Component.literal(String.valueOf(cooldown / 20)).append(Component.translatable("createqol.ability.state.seconds")).withStyle(ChatFormatting.YELLOW) : Component.translatable("createqol.ability.state.enabled")).withStyle(ChatFormatting.YELLOW) : Component.translatable("createqol.ability.state.disabled")).withStyle(ChatFormatting.YELLOW); } } diff --git a/src/main/resources/assets/createqol/lang/en_us.json b/src/main/resources/assets/createqol/lang/en_us.json index b6fd6c2..49f3ef0 100644 --- a/src/main/resources/assets/createqol/lang/en_us.json +++ b/src/main/resources/assets/createqol/lang/en_us.json @@ -115,6 +115,8 @@ "entity.createqol.statue": "Statue", + "createqol.statue.title": "Customize your Statue", + "createqol.statue.name": "Name", "createqol.statue.showName": "Display the name", "createqol.statue.small": "Small Statue", "createqol.statue.slimArms": "Slim Arms", @@ -133,6 +135,8 @@ "createqol.statue.noCape1": "has no cape", "createqol.statue.mainTab": "Statue Customization", + "createqol.statue.playerName": "Player Name", + "createqol.statue.rotation.cape": "Statue Rotation", "createqol.statue.rotation.hat": "Head Rotation", "createqol.statue.rotation.left_sleeve": "Left Arm Rotation", @@ -178,6 +182,7 @@ "createqol.statue.transformTab": "Transform", "createqol.statue.position": "Position", "createqol.statue.scale": "Scale", + "createqol.statue.scaleScroll": "Scale: %s", "createqol.statue.animationTab": "Animation", "createqol.statue.publishedAnimationTab": "Shared Animations", @@ -207,6 +212,7 @@ "createqol.statue.animation.next_frame": "Next existing frame", "createqol.statue.animation.delete_frame": "Delete current frame", "createqol.statue.animation.publish": "Share animation to other players", + "createqol.statue.animation.publishName": "Animation Name", "createqol.statue.animation.delete": "Delete Shared Animation", "createqol.statue.owner": "Owner: %s", @@ -215,9 +221,62 @@ "createqol.statue.locked": "This statue is locked ! Only the owner can modify it.", "createqol.statue.name_utility": "The name is used when you share the animation. It won't be kept if you close the gui.", - "createqol.chestplate.use_fireworks": "Can be used as a boost with the shadow radiance chestplate by keeping pressed the jump key.", - "createqol.chestplate.no_propeller": "You can't switch the fan/hover because the chestplate doesn't have a propeller installed.", - "createqol.chestplate.no_elytra": "You can't switch the elytra because the chestplate doesn't have elytra installed", + "createqol.backtank.propeller_disabled": "Unable to equip: Propeller modes are disabled by the config", + "createqol.backtank.elytra_disabled": "Unable to equip: Elytra mode are disabled by the config", + + "createqol.armor.ability.use_fireworks": "Can be used as a boost with the shadow radiance chestplate by keeping pressed the jump key.", + "createqol.armor.ability.no_propeller": "You can't switch the fan/hover because the chestplate doesn't have a propeller installed.", + "createqol.armor.ability.no_elytra": "You can't switch the elytra because the chestplate doesn't have elytra installed", + "createqol.armor.ability.dash_disabled": "Dashing is disabled on this server !", + "createqol.armor.ability.dash_reloading": "Dashing is reloading, please wait!", + + "createqol.ability.armor.disabled": "%s is disabled by the config", + "createqol.ability.armor.unavailable": "%1$s can't be enabled while the %2$s is enabled", + "createqol.ability.armor.reloading": "%s is reloading, please wait!", + "createqol.ability.armor.toggle_message": "%s : ", + + "createqol.ability.tool.disabled": "%s ability is disabled by the config", + "createqol.ability.tool.unavailable": "%1$s ability can't be enabled while the %2$s ability is enabled", + "createqol.ability.tool.toggle_message": "%s : ", + + "createqol.ability.armor.propeller_mode": "Propeller mode", + "createqol.ability.armor.fan_mode": "Fan mode", + "createqol.ability.armor.hover_mode": "Hover mode", + "createqol.ability.armor.elytra_mode": "Elytra mode", + + "createqol.ability.tool.attraction": "Attraction", + "createqol.ability.tool.casingifier": "Casingifier", + "createqol.ability.tool.digging": "Digging", + "createqol.ability.tool.harvesting": "Harvesting", + "createqol.ability.tool.ploughing": "Ploughing", + "createqol.ability.tool.reach": "Reach", + "createqol.ability.tool.repulsion_attraction": "Repulsion/Attraction", + "createqol.ability.tool.repulsion": "Repulsion", + "createqol.ability.tool.smelting": "Smelting", + "createqol.ability.tool.tree_decapitation": "Tree Decapitation", + "createqol.ability.tool.vein_mine": "Vein Mine", + + "createqol.ability.armor.air": "Air", + "createqol.ability.armor.arms": "Arms", + "createqol.ability.armor.belt_blocking": "Belt Blocking", + "createqol.ability.armor.dash": "Dash", + "createqol.ability.armor.diving": "Diving", + "createqol.ability.armor.effect": "Effect", + "createqol.ability.armor.elytra": "Elytra", + "createqol.ability.armor.fan": "Fan", + "createqol.ability.armor.goggles": "Goggles", + "createqol.ability.armor.hover": "Hover", + "createqol.ability.armor.lava_walking": "Lava Walking", + "createqol.ability.armor.propeller": "Propeller", + "createqol.ability.armor.step_height": "Step Height", + "createqol.ability.armor.void_walk": "Void Walk", + + "createqol.ability.state.disabled_by_config": "Disabled By Config", + "createqol.ability.state.disabled": "Disabled", + "createqol.ability.state.enabled": "Enabled", + "createqol.ability.state.installed": "Installed", + "createqol.ability.state.not_installed": "Not Installed", + "createqol.ability.state.seconds": "s", "createqol.ponder.ender_packager.header": "Transfer packages remotely", "createqol.ponder.ender_packager.text_1": "Placing items in the two slots can specify a Frequency", @@ -264,5 +323,17 @@ "createqol.gui.stock_manager.remove_user": "Remove from network", "createqol.gui.stock_manager.add_user": "Add to network", - "createqol.logistically_linked.tuned_to": "Tuned to %s" + "createqol.logistically_linked.tuned_to": "Tuned to %s", + + "createqol.gui.config_screen.go_back": "Go Back", + "createqol.gui.inventory_config_screen.title": "Choose an item to configure", + "createqol.gui.item_config_screen.title": "Configure %s", + "createqol.gui.tooltips_config_screen.enable_all": "Enable All", + "createqol.gui.tooltips_config_screen.disable_all": "Disable All", + "createqol.gui.tooltips_config_screen.title": "Configure %s Tooltips", + + "createqol.gui.display_board.glowing": "Glowing", + + "createqol.client_message.header": "[Create: Quality Of Life]: ", + "createqol.client_message.warning": "Warning: Stock Manager is a beta feature, some bugs and crash might appear.\nPlease report them on https://issues-qol.iglee.fr" } \ No newline at end of file diff --git a/src/main/resources/assets/createqol/lang/ru_ru.json b/src/main/resources/assets/createqol/lang/ru_ru.json index 39c3628..e7453b6 100644 --- a/src/main/resources/assets/createqol/lang/ru_ru.json +++ b/src/main/resources/assets/createqol/lang/ru_ru.json @@ -53,12 +53,12 @@ "item.createqol.empty_stock_manager": "Рабочее место складского распорядителя", "create.options.inventory_linker.label": "Режим привязки инвентаря", - "create.options.inventory_linker.inventory": "Инвентарь", - "create.options.inventory_linker.armor": "Броня", - "create.options.inventory_linker.off_hand": "Вторая рука", + "options.inventory_linker.inventory": "Инвентарь", + "options.inventory_linker.armor": "Броня", + "options.inventory_linker.off_hand": "Вторая рука", "create.options.brass_trash_can.label": "Режим работы мусоропровода", - "create.options.brass_trash_can.void": "Уничтожать всё", - "create.options.brass_trash_can.keep_64": "Оставлять по стаку", + "options.brass_trash_can.void": "Уничтожать всё", + "options.brass_trash_can.keep_64": "Оставлять по стаку", "tooltip.createqol.player_paper.linked_player": "Привязанный игрок: %s", "tooltip.createqol.player_paper.no_linked_player": "Игрок не привязан", @@ -115,12 +115,14 @@ "entity.createqol.statue": "Картонный манекен", + "createqol.statue.title": "Настройка картонного манекена", + "createqol.statue.name": "Имя манекена", "createqol.statue.showName": "Отображать имя", "createqol.statue.small": "Маленький", "createqol.statue.slimArms": "Стройный", "createqol.statue.noGravity": "Без гравитации", "createqol.statue.invulnerable": "Заблокированный", - "createqol.statue.invulnerable1": "Отключить возможность", + "createqol.statue.invulnerable1": "Отключает возможность", "createqol.statue.invulnerable2": "настраивать этот манекен", "createqol.statue.invulnerable3": "другим игрокам", "createqol.statue.ownerInvulnerable": "Только владелец", @@ -131,7 +133,9 @@ "createqol.statue.ownStatue1": "владельцем манекена", "createqol.statue.noCape": "У этого игрока", "createqol.statue.noCape1": "нет плаща", - "createqol.statue.mainTab": "Настройка манекена", + "createqol.statue.mainTab": "Основные настройки", + + "createqol.statue.playerName": "Имя игрока", "createqol.statue.rotation.cape": "Поворот", "createqol.statue.rotation.hat": "Положение головы", @@ -178,6 +182,7 @@ "createqol.statue.transformTab": "Положение манекена", "createqol.statue.position": "Позиция", "createqol.statue.scale": "Размер", + "createqol.statue.scaleScroll": "Размер: %s", "createqol.statue.animationTab": "Анимация", "createqol.statue.publishedAnimationTab": "Опубликованные анимации", @@ -207,6 +212,7 @@ "createqol.statue.animation.next_frame": "Следующий ключевой кадр", "createqol.statue.animation.delete_frame": "Удалить ключевой кадр", "createqol.statue.animation.publish": "Опубликовать анимацию", + "createqol.statue.animation.publishName": "Название анимации", "createqol.statue.animation.delete": "Удалить анимацию", "createqol.statue.owner": "Владелец: %s", @@ -215,9 +221,62 @@ "createqol.statue.locked": "Манекен заблокирован! Только владелец может его изменить.", "createqol.statue.name_utility": "Название отображается в разделе опубликованных анимаций. Оно не сохранится, если закрыть интерфейс до публикации.", - "createqol.chestplate.use_fireworks": "Находясь в инвентаре, может быть использован для ускорения полёта, когда надет нагрудник из пост-хроматического сплава, оснащённый элитрами — для этого зажмите [Пробел], находясь в режиме полёта.", - "createqol.chestplate.no_propeller": "Режимы пропеллерной тяги и парения недоступны: баллон не оснащён пропеллером", - "createqol.chestplate.no_elytra": "Режим полёта недоступен: баллон не оснащён элитрами", + "createqol.backtank.propeller_disabled": "Установка пропеллера недоступна: режимы пропеллерной тяги и парения запрещены настройками мира/сервера", + "createqol.backtank.elytra_disabled": "Установка элитр недоступна: режим полёта запрещён настройками мира/сервера", + + "createqol.ability.armor.use_fireworks": "Находясь в инвентаре, может быть использован для ускорения полёта, когда надет нагрудник из пост-хроматического сплава, оснащённый элитрами — для этого зажмите [Пробел], находясь в режиме полёта.", + "createqol.ability.armor.no_propeller": "Режимы пропеллерной тяги и парения недоступны: баллон не оснащён пропеллером", + "createqol.ability.armor.no_elytra": "Режим полёта недоступен: баллон не оснащён элитрами", + "createqol.ability.armor.dash_disabled": "Функция рывка запрещена настройками мира/сервера", + "createqol.ability.armor.dash_reloading": "Рывок перезаряжается...", + + "createqol.ability.armor.disabled": "%s запрещён настройками мира/сервера", + "createqol.ability.armor.unavailable": "%1$s не может быть включён, пока активен %2$s", + "createqol.ability.armor.reloading": "%s перезаряжается...", + "createqol.ability.armor.toggle_message": "%s: ", + + "createqol.ability.tool.disabled": "Режим «%s» запрещён настройками мира/сервера", + "createqol.ability.tool.unavailable": "Режим «%1$s» не может быть включён, пока активен режим «%2$s»", + "createqol.ability.tool.toggle_message": "%s: ", + + "createqol.ability.armor.propeller_mode": "Режим пропеллерной тяги/парения", + "createqol.ability.armor.fan_mode": "Режим пропеллерной тяги", + "createqol.ability.armor.hover_mode": "Режим парения", + "createqol.ability.armor.elytra_mode": "Режим полёта", + + "createqol.ability.tool.attraction": "Притягивание", + "createqol.ability.tool.casingifier": "Корпусификатор", + "createqol.ability.tool.digging": "Расширенное копание", + "createqol.ability.tool.harvesting": "Автопосадка", + "createqol.ability.tool.ploughing": "Расширенная вспашка", + "createqol.ability.tool.reach": "Повышенная досягаемость", + "createqol.ability.tool.repulsion_attraction": "Притягивание/отталкивание", + "createqol.ability.tool.repulsion": "Отталкивание", + "createqol.ability.tool.smelting": "Автопереплавка", + "createqol.ability.tool.tree_decapitation": "Лесоруб", + "createqol.ability.tool.vein_mine": "Добыча залежи", + + "createqol.ability.armor.air": "Воздух", + "createqol.ability.armor.arms": "Рукава", + "createqol.ability.armor.belt_blocking": "Сопротивление конвейерам", + "createqol.ability.armor.dash": "Рывок", + "createqol.ability.armor.diving": "Водолаз", + "createqol.ability.armor.effect": "Эффект", + "createqol.ability.armor.elytra": "Элитры", + "createqol.ability.armor.fan": "Пропеллерная тяга", + "createqol.ability.armor.goggles": "Инженерные очки", + "createqol.ability.armor.hover": "Парение", + "createqol.ability.armor.lava_walking": "Лаволаз", + "createqol.ability.armor.propeller": "Пропеллер", + "createqol.ability.armor.step_height": "Высокий шаг", + "createqol.ability.armor.void_walk": "Левитация над бездной", + + "createqol.ability.state.disabled_by_config": "запрещ.", + "createqol.ability.state.disabled": "выкл.", + "createqol.ability.state.enabled": "вкл.", + "createqol.ability.state.installed": "уст.", + "createqol.ability.state.not_installed": "не уст.", + "createqol.ability.state.seconds": "с", "createqol.ponder.ender_packager.header": "Телепортацией коробок", "createqol.ponder.ender_packager.text_1": "Поместите предметы в два слота, чтобы указать частоту", @@ -228,7 +287,7 @@ "createqol.ponder.ender_packager_addresses.header": "Маршрутизацией перемещаемых коробок по их адресам", "createqol.ponder.ender_packager_addresses.text_1": "Склад", "createqol.ponder.ender_packager_addresses.text_2": "Фабрика", - "createqol.ponder.ender_packager_addresses.text_3": "При размещении на эндер-телепаковщике таблички с текстом...", + "createqol.ponder.ender_packager_addresses.text_3": "Если разместить табличку с текстом на эндер-телепаковщик...", "createqol.ponder.ender_packager_addresses.text_4": "...этот текст назначается адресом телепаковщика — как у квакопорта", "createqol.ponder.ender_packager_addresses.text_5": "→ Склад", "createqol.ponder.ender_packager_addresses.text_6": "Если принимающий телепаковщик с соответствующим адресом занят...", @@ -264,5 +323,17 @@ "createqol.gui.stock_manager.remove_user": "Уволить", "createqol.gui.stock_manager.add_user": "Нанять", - "createqol.logistically_linked.tuned_to": "Подключено к сети %s" -} + "createqol.logistically_linked.tuned_to": "Подключено к сети %s", + + "createqol.gui.config_screen.go_back": "Назад", + "createqol.gui.inventory_config_screen.title": "Выберите настраиваемый предмет", + "createqol.gui.item_config_screen.title": "Настройка предмета «%s»", + "createqol.gui.tooltips_config_screen.enable_all": "Включить все подсказки", + "createqol.gui.tooltips_config_screen.disable_all": "Отключить все подсказки", + "createqol.gui.tooltips_config_screen.title": "Настройка подсказок предмета «%s»", + + "createqol.gui.display_board.glowing": "Светящийся", + + "createqol.client_message.header": "[Create: Quality Of Life]: ", + "createqol.client_message.warning": "Складской распорядитель находится на ранней стадии разработки — его использование может привести к сбоям игры;\n в случае обнаружения неисправности сообщите о ней на https://issues-qol.iglee.fr" +} \ No newline at end of file