From 2d28af9debbabcc2d516d05434b39c288d20456d Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 12 May 2019 14:53:07 +0200 Subject: [PATCH] Integrated tooltips - no indentation on line hyphenation - show ship core's constrains - style all values - generic tooltip before the block ones - line endings --- src/main/java/cr0s/warpdrive/Commons.java | 2 +- .../cr0s/warpdrive/api/WarpDriveText.java | 19 +++++++++++++++ .../block/ItemBlockAbstractBase.java | 4 ++-- .../warpdrive/block/detection/BlockSiren.java | 3 ++- .../block/movement/BlockShipCore.java | 19 +++++++++++++++ .../cr0s/warpdrive/data/EnergyWrapper.java | 8 +++---- .../item/ItemElectromagneticCell.java | 4 +++- .../cr0s/warpdrive/item/ItemTuningDriver.java | 23 +++++++++++++------ .../cr0s/warpdrive/item/ItemTuningFork.java | 18 +++++++++------ .../assets/warpdrive/lang/de_de.lang | 13 ++++++----- .../assets/warpdrive/lang/en_us.lang | 9 ++++---- .../assets/warpdrive/lang/fr_fr.lang | 13 ++++++----- .../assets/warpdrive/lang/nl_nl.lang | 13 ++++++----- .../assets/warpdrive/lang/ru_ru.lang | 13 ++++++----- .../assets/warpdrive/lang/zh_cn.lang | 15 ++++++------ .../assets/warpdrive/lang/zh_tw.lang | 13 ++++++----- 16 files changed, 125 insertions(+), 64 deletions(-) diff --git a/src/main/java/cr0s/warpdrive/Commons.java b/src/main/java/cr0s/warpdrive/Commons.java index 52c4a28b..bf6952ac 100644 --- a/src/main/java/cr0s/warpdrive/Commons.java +++ b/src/main/java/cr0s/warpdrive/Commons.java @@ -278,7 +278,7 @@ public class Commons { } // cut for next line, recovering current format - lineRemaining = formatNextLine + " " + lineRemaining.substring(indexToCut + 1); + lineRemaining = formatNextLine + lineRemaining.substring(indexToCut + 1); } } else { list.add(lineRemaining.replaceAll("\u00A0", " ")); diff --git a/src/main/java/cr0s/warpdrive/api/WarpDriveText.java b/src/main/java/cr0s/warpdrive/api/WarpDriveText.java index bc03e4a8..e2ed6a1a 100644 --- a/src/main/java/cr0s/warpdrive/api/WarpDriveText.java +++ b/src/main/java/cr0s/warpdrive/api/WarpDriveText.java @@ -15,6 +15,16 @@ public class WarpDriveText extends TextComponentBase { super(); } + public WarpDriveText(@Nullable final Style style, final long value) { + super(); + + final ITextComponent textComponent = new TextComponentString(String.format("%d", value)); + if (style != null) { + textComponent.setStyle(style); + } + append(textComponent); + } + public WarpDriveText(@Nullable final Style style, @Nonnull final String translationKey, final Object... args) { super(); @@ -81,6 +91,15 @@ public class WarpDriveText extends TextComponentBase { return this; } + public WarpDriveText appendInLine(@Nullable final Style style, final long value) { + final ITextComponent textComponent = new TextComponentString(String.format("%d", value)); + if (style != null) { + textComponent.setStyle(style); + } + appendSibling(textComponent); + return this; + } + public WarpDriveText appendSibling(final WarpDriveText textComponent) { return (WarpDriveText) super.appendSibling(textComponent); } diff --git a/src/main/java/cr0s/warpdrive/block/ItemBlockAbstractBase.java b/src/main/java/cr0s/warpdrive/block/ItemBlockAbstractBase.java index 48ef83b7..29edc994 100644 --- a/src/main/java/cr0s/warpdrive/block/ItemBlockAbstractBase.java +++ b/src/main/java/cr0s/warpdrive/block/ItemBlockAbstractBase.java @@ -131,8 +131,6 @@ public class ItemBlockAbstractBase extends ItemBlock implements IItemBase { @Override public void addInformation(@Nonnull final ItemStack itemStack, @Nullable final World world, @Nonnull final List list, @Nullable final ITooltipFlag advancedItemTooltips) { - super.addInformation(itemStack, world, list, advancedItemTooltips); - final String tooltipItemStack = getTranslationKey(itemStack) + ".tooltip"; if (I18n.hasKey(tooltipItemStack)) { Commons.addTooltip(list, new TextComponentTranslation(tooltipItemStack).getFormattedText()); @@ -152,6 +150,8 @@ public class ItemBlockAbstractBase extends ItemBlock implements IItemBase { } Commons.addTooltip(list, getStatus(world, itemStack).getFormattedText()); + + super.addInformation(itemStack, world, list, advancedItemTooltips); } @Override diff --git a/src/main/java/cr0s/warpdrive/block/detection/BlockSiren.java b/src/main/java/cr0s/warpdrive/block/detection/BlockSiren.java index a3a9185b..bd3db2f6 100644 --- a/src/main/java/cr0s/warpdrive/block/detection/BlockSiren.java +++ b/src/main/java/cr0s/warpdrive/block/detection/BlockSiren.java @@ -1,6 +1,7 @@ package cr0s.warpdrive.block.detection; import cr0s.warpdrive.Commons; +import cr0s.warpdrive.api.WarpDriveText; import cr0s.warpdrive.block.BlockAbstractRotatingContainer; import cr0s.warpdrive.config.WarpDriveConfig; import cr0s.warpdrive.data.EnumTier; @@ -56,6 +57,6 @@ public class BlockSiren extends BlockAbstractRotatingContainer { final int range = MathHelper.floor(WarpDriveConfig.SIREN_RANGE_BLOCKS_BY_TIER[enumTier.getIndex()]); final String unlocalizedName_withoutTier = getTranslationKey().replace("." + enumTier.getName(), ""); Commons.addTooltip(list, new TextComponentTranslation(unlocalizedName_withoutTier + ".tooltip.usage", - range).getFormattedText()); + new WarpDriveText(Commons.styleValue, range) ).getFormattedText()); } } diff --git a/src/main/java/cr0s/warpdrive/block/movement/BlockShipCore.java b/src/main/java/cr0s/warpdrive/block/movement/BlockShipCore.java index 532cdfee..c442a19b 100644 --- a/src/main/java/cr0s/warpdrive/block/movement/BlockShipCore.java +++ b/src/main/java/cr0s/warpdrive/block/movement/BlockShipCore.java @@ -2,7 +2,9 @@ package cr0s.warpdrive.block.movement; import cr0s.warpdrive.CommonProxy; import cr0s.warpdrive.Commons; +import cr0s.warpdrive.api.WarpDriveText; import cr0s.warpdrive.block.BlockAbstractRotatingContainer; +import cr0s.warpdrive.config.WarpDriveConfig; import cr0s.warpdrive.data.BlockProperties; import cr0s.warpdrive.data.EnumComponentType; import cr0s.warpdrive.data.EnumTier; @@ -12,7 +14,10 @@ import cr0s.warpdrive.item.ItemComponent; import javax.annotation.Nonnull; import javax.annotation.Nullable; +import java.util.List; + import net.minecraft.block.material.Material; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityTNTPrimed; import net.minecraft.block.state.IBlockState; @@ -24,6 +29,7 @@ import net.minecraft.util.EnumHand; import net.minecraft.util.NonNullList; import net.minecraft.util.SoundCategory; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.text.TextComponentTranslation; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraft.world.WorldServer; @@ -136,4 +142,17 @@ public class BlockShipCore extends BlockAbstractRotatingContainer { return super.onBlockActivated(world, blockPos, blockState, entityPlayer, enumHand, enumFacing, hitX, hitY, hitZ); } + + @Override + public void addInformation(final ItemStack stack, @Nullable final World world, @Nonnull final List list, + @Nullable final ITooltipFlag advancedItemTooltips) { + super.addInformation(stack, world, list, advancedItemTooltips); + + Commons.addTooltip(list, new TextComponentTranslation("tile.warpdrive.movement.ship_core.tooltip.constrains", + new WarpDriveText(Commons.styleValue, WarpDriveConfig.SHIP_SIZE_MAX_PER_SIDE_BY_TIER[enumTier.getIndex()]), + new WarpDriveText(Commons.styleValue, WarpDriveConfig.SHIP_MASS_MIN_BY_TIER[enumTier.getIndex()]), + new WarpDriveText(Commons.styleValue, WarpDriveConfig.SHIP_MASS_MAX_BY_TIER[enumTier.getIndex()]), + new WarpDriveText(Commons.styleValue, WarpDriveConfig.SHIP_MASS_MAX_ON_PLANET_SURFACE), + new WarpDriveText(Commons.styleValue, WarpDriveConfig.SHIP_MASS_MIN_FOR_HYPERSPACE) ).getFormattedText()); + } } \ No newline at end of file diff --git a/src/main/java/cr0s/warpdrive/data/EnergyWrapper.java b/src/main/java/cr0s/warpdrive/data/EnergyWrapper.java index 7d50dc15..a7e8302f 100644 --- a/src/main/java/cr0s/warpdrive/data/EnergyWrapper.java +++ b/src/main/java/cr0s/warpdrive/data/EnergyWrapper.java @@ -161,13 +161,13 @@ public class EnergyWrapper { private static void formatAndAppendRate(@Nonnull final WarpDriveText warpDriveText, @Nonnull final String translationKey, final long amperage, final long voltage, final int tier, @Nonnull final String units) { final WarpDriveText textRate = new WarpDriveText(null, translationKey) - .appendInLine(Commons.styleValue, String.format(" %d", amperage)) + .appendInLine(null, " ") + .appendInLine(Commons.styleValue, amperage) .appendInLine(null, " x ") - .appendInLine(Commons.styleVoltage, String.format("%d", voltage)) + .appendInLine(Commons.styleVoltage, voltage) .appendInLine(null, String.format(" %s/t (", units)) .appendInLine(Commons.styleVoltage, EnergyWrapper.EU_nameTier[tier]) - .appendInLine(null, ")") - .appendInLine(null, "."); + .appendInLine(null, ")."); warpDriveText.append(textRate); } diff --git a/src/main/java/cr0s/warpdrive/item/ItemElectromagneticCell.java b/src/main/java/cr0s/warpdrive/item/ItemElectromagneticCell.java index ffede4de..4145a25d 100644 --- a/src/main/java/cr0s/warpdrive/item/ItemElectromagneticCell.java +++ b/src/main/java/cr0s/warpdrive/item/ItemElectromagneticCell.java @@ -6,6 +6,7 @@ import cr0s.warpdrive.api.IParticleContainerItem; import cr0s.warpdrive.api.Particle; import cr0s.warpdrive.api.ParticleRegistry; import cr0s.warpdrive.api.ParticleStack; +import cr0s.warpdrive.api.WarpDriveText; import cr0s.warpdrive.config.WarpDriveConfig; import cr0s.warpdrive.data.EnumTier; import cr0s.warpdrive.data.Vector3; @@ -289,7 +290,8 @@ public class ItemElectromagneticCell extends ItemAbstractBase implements IPartic final Particle particle = particleStack.getParticle(); tooltip = new TextComponentTranslation("item.warpdrive.atomic.electromagnetic_cell.tooltip.filled", - particleStack.getAmount(), particle.getLocalizedName()).getFormattedText(); + new WarpDriveText(Commons.styleValue, particleStack.getAmount()), + new WarpDriveText(Commons.styleValue, particle.getLocalizedName()) ).getFormattedText(); Commons.addTooltip(list, tooltip); final String particleTooltip = particle.getLocalizedTooltip(); diff --git a/src/main/java/cr0s/warpdrive/item/ItemTuningDriver.java b/src/main/java/cr0s/warpdrive/item/ItemTuningDriver.java index 5bbb29b8..ef2442de 100644 --- a/src/main/java/cr0s/warpdrive/item/ItemTuningDriver.java +++ b/src/main/java/cr0s/warpdrive/item/ItemTuningDriver.java @@ -6,6 +6,7 @@ import cr0s.warpdrive.api.IBeamFrequency; import cr0s.warpdrive.api.IControlChannel; import cr0s.warpdrive.api.IVideoChannel; import cr0s.warpdrive.api.IWarpTool; +import cr0s.warpdrive.api.WarpDriveText; import cr0s.warpdrive.block.energy.BlockCapacitor; import cr0s.warpdrive.data.EnumTier; import cr0s.warpdrive.data.SoundEvents; @@ -32,6 +33,7 @@ import net.minecraft.util.SoundCategory; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.RayTraceResult.Type; +import net.minecraft.util.text.TextComponentString; import net.minecraft.util.text.TextComponentTranslation; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -348,24 +350,31 @@ public class ItemTuningDriver extends ItemAbstractBase implements IWarpTool { @Nonnull final List list, @Nullable final ITooltipFlag advancedItemTooltips) { super.addInformation(itemStack, world, list, advancedItemTooltips); - String tooltip; + + final WarpDriveText textTooltip = new WarpDriveText(); + textTooltip.append(null, "warpdrive.video_channel.tooltip", + new WarpDriveText(Commons.styleValue, getVideoChannel(itemStack)) ); switch (itemStack.getItemDamage()) { case MODE_VIDEO_CHANNEL: - tooltip = new TextComponentTranslation("warpdrive.video_channel.tooltip", getVideoChannel(itemStack)).getFormattedText(); + textTooltip.append(null, "warpdrive.video_channel.tooltip", + new WarpDriveText(Commons.styleValue, getVideoChannel(itemStack)) ); break; case MODE_BEAM_FREQUENCY: - tooltip = new TextComponentTranslation("warpdrive.beam_frequency.tooltip", getBeamFrequency(itemStack)).getFormattedText(); + textTooltip.append(null, "warpdrive.beam_frequency.tooltip", + new WarpDriveText(Commons.styleValue, getBeamFrequency(itemStack)) ); break; case MODE_CONTROL_CHANNEL: - tooltip = new TextComponentTranslation("warpdrive.control_channel.tooltip", getControlChannel(itemStack)).getFormattedText(); + textTooltip.append(null, "warpdrive.control_channel.tooltip", + new WarpDriveText(Commons.styleValue, getControlChannel(itemStack)) ); break; default: - tooltip = "I'm broken :("; + textTooltip.append(new TextComponentString("I'm broken :(")); break; } - tooltip += "\n" + new TextComponentTranslation("item.warpdrive.tool.tuning_driver.tooltip.usage").getFormattedText(); + textTooltip.appendLineBreak(); + textTooltip.append(null, "item.warpdrive.tool.tuning_driver.tooltip.usage"); - Commons.addTooltip(list, tooltip); + Commons.addTooltip(list, textTooltip.getFormattedText()); } } diff --git a/src/main/java/cr0s/warpdrive/item/ItemTuningFork.java b/src/main/java/cr0s/warpdrive/item/ItemTuningFork.java index d88cbdcd..bcef4d1b 100644 --- a/src/main/java/cr0s/warpdrive/item/ItemTuningFork.java +++ b/src/main/java/cr0s/warpdrive/item/ItemTuningFork.java @@ -5,6 +5,7 @@ import cr0s.warpdrive.api.IBeamFrequency; import cr0s.warpdrive.api.IControlChannel; import cr0s.warpdrive.api.IVideoChannel; import cr0s.warpdrive.api.IWarpTool; +import cr0s.warpdrive.api.WarpDriveText; import cr0s.warpdrive.block.energy.BlockCapacitor; import cr0s.warpdrive.data.EnumTier; import cr0s.warpdrive.data.SoundEvents; @@ -160,13 +161,16 @@ public class ItemTuningFork extends ItemAbstractBase implements IWarpTool { @Nonnull final List list, @Nullable final ITooltipFlag advancedItemTooltips) { super.addInformation(itemStack, world, list, advancedItemTooltips); - String tooltip = ""; - tooltip += new TextComponentTranslation("warpdrive.video_channel.tooltip", getVideoChannel(itemStack)).getFormattedText(); - tooltip += "\n" + new TextComponentTranslation("warpdrive.beam_frequency.tooltip", getBeamFrequency(itemStack)).getFormattedText(); - tooltip += "\n" + new TextComponentTranslation("warpdrive.control_channel.tooltip", getControlChannel(itemStack)).getFormattedText(); + final WarpDriveText textTooltip = new WarpDriveText(); + textTooltip.append(null, "warpdrive.video_channel.tooltip", + new WarpDriveText(Commons.styleValue, getVideoChannel(itemStack)) ); + textTooltip.append(null, "warpdrive.beam_frequency.tooltip", + new WarpDriveText(Commons.styleValue, getBeamFrequency(itemStack)) ); + textTooltip.append(null, "warpdrive.control_channel.tooltip", + new WarpDriveText(Commons.styleValue, getControlChannel(itemStack)) ); + textTooltip.appendLineBreak(); + textTooltip.append(null, "item.warpdrive.tool.tuning_fork.tooltip.usage"); - tooltip += "\n\n" + new TextComponentTranslation("item.warpdrive.tool.tuning_fork.tooltip.usage").getFormattedText(); - - Commons.addTooltip(list, tooltip); + Commons.addTooltip(list, textTooltip.getFormattedText()); } } diff --git a/src/main/resources/assets/warpdrive/lang/de_de.lang b/src/main/resources/assets/warpdrive/lang/de_de.lang index 90d0a0a1..ccd75e4b 100644 --- a/src/main/resources/assets/warpdrive/lang/de_de.lang +++ b/src/main/resources/assets/warpdrive/lang/de_de.lang @@ -362,6 +362,7 @@ tile.warpdrive.movement.ship_core.legendary.name=Planetary Raumschiff Kern tile.warpdrive.movement.ship_core.tooltip=Defines your ship center. Schließe eine Energiequelle an, um den Kern zu laden. Schließe einen Computer an, um das Interface zu öffnen. tile.warpdrive.movement.ship_core.bounding_box.disabled=Bounding box display have been disabled. tile.warpdrive.movement.ship_core.bounding_box.enabled=Bounding box display is now enabled. Only you can see it.\n§bSneak right-click the Ship core§r to disable it. +tile.warpdrive.movement.ship_core.tooltip.constrains=Size is up to %1$d x %1$d x %1$d blocks.\nMass is %2$d to %3$d tons.\nMass on a planet is %4$d tons max.\nMass to engage warp is %5$d tons min. tile.warpdrive.movement.transporter_beacon.name=Transporter Leuchtfeuer tile.warpdrive.movement.transporter_beacon.tooltip=§bRight click a Transporter Core§r to set its remote location.\n§bSneak§r to retrieve its signature.\n§bPlace as a block§r to trigger emergency transportation. @@ -670,9 +671,9 @@ warpdrive.beam_frequency.status_line.valid=Strahlfrequenz %1$d ist gültig. warpdrive.beam_frequency.status_line.invalid=Strahlfrequenz %1$d ist ungültig. warpdrive.beam_frequency.status_line.undefined=Undefinierte Strahlfrequenz.\n§bNutze eine Stimmgabel§f um die Strahlfrequenz festzulegen. -warpdrive.control_channel.tooltip=Steuerungskanal auf %1$d gestellt -warpdrive.control_channel.get=Steuerungskanal %2$d wurde von %1$s abgerufen -warpdrive.control_channel.set=%1$s ist jetzt auf Steuerungskanal %2$d gestellt +warpdrive.control_channel.tooltip=Steuerungskanal auf %1$d gestellt. +warpdrive.control_channel.get=Steuerungskanal %2$d wurde von %1$s abgerufen. +warpdrive.control_channel.set=%1$s ist jetzt auf Steuerungskanal %2$d gestellt. warpdrive.control_channel.status_line.valid=Steuerungskanal %1$d ist gültig. warpdrive.control_channel.status_line.invalid=Steuerungskanal %1$d ist ungültig. warpdrive.control_channel.status_line.undefined=Nicht definierter Steuerungskanal.\n§bNutze eine Stimmgabel§r um ihn einzustellen. @@ -718,9 +719,9 @@ warpdrive.upgrade.result.shape_mounted=Form erfolgreich installiert. warpdrive.upgrade.status_line.none=§7Kein Upgrade installiert. warpdrive.upgrade.status_line.valid=%1$s Upgrade installiert. -warpdrive.video_channel.tooltip=Videokanal auf %1$d gestellt -warpdrive.video_channel.get=Videokanal %2$d wurde von %1$s abgerufen -warpdrive.video_channel.set=%1$s ist jetzt auf Videokanal %2$d gestellt +warpdrive.video_channel.tooltip=Videokanal auf %1$d gestellt. +warpdrive.video_channel.get=Videokanal %2$d wurde von %1$s abgerufen. +warpdrive.video_channel.set=%1$s ist jetzt auf Videokanal %2$d gestellt. warpdrive.video_channel.status_line.valid_self=Videokanal %1$d ist gültig. warpdrive.video_channel.status_line.valid_other=Videokanal %1$d ist gültig für die Kamera bei %2$s. warpdrive.video_channel.status_line.invalid=Videokanal %1$d ist ungültig. diff --git a/src/main/resources/assets/warpdrive/lang/en_us.lang b/src/main/resources/assets/warpdrive/lang/en_us.lang index ae21b9df..31e02028 100644 --- a/src/main/resources/assets/warpdrive/lang/en_us.lang +++ b/src/main/resources/assets/warpdrive/lang/en_us.lang @@ -362,6 +362,7 @@ tile.warpdrive.movement.ship_core.legendary.name=Planetary Ship Core tile.warpdrive.movement.ship_core.tooltip=Defines your ship center. Connecting an energy source will charge the core. Attach a computer to open the user interface. tile.warpdrive.movement.ship_core.bounding_box.disabled=Bounding box display have been disabled. tile.warpdrive.movement.ship_core.bounding_box.enabled=Bounding box display is now enabled. Only you can see it.\n§bSneak right-click the Ship core§r to disable it. +tile.warpdrive.movement.ship_core.tooltip.constrains=Size is up to %1$d x %1$d x %1$d blocks.\nMass is %2$d to %3$d tons.\nMass on a planet is %4$d tons max.\nMass to engage warp is %5$d tons min. tile.warpdrive.movement.transporter_beacon.name=Transporter Beacon tile.warpdrive.movement.transporter_beacon.tooltip=§bRight click a Transporter Core§r to set its remote location.\n§bSneak§r to retrieve its signature.\n§bPlace as a block§r to trigger emergency transportation. @@ -670,7 +671,7 @@ warpdrive.beam_frequency.status_line.valid=Beam frequency %1$d is valid. warpdrive.beam_frequency.status_line.invalid=Beam frequency %1$d is invalid. warpdrive.beam_frequency.status_line.undefined=Undefined beam frequency.\n§bUse a Tuning fork§r to set it. -warpdrive.control_channel.tooltip=Control channel is set to %1$d +warpdrive.control_channel.tooltip=Control channel is set to %1$d. warpdrive.control_channel.get=Control channel %2$d has been retrieved from %1$s. warpdrive.control_channel.set=%1$s is now tuned with Control channel %2$d. warpdrive.control_channel.status_line.valid=Control channel %1$d is valid. @@ -718,9 +719,9 @@ warpdrive.upgrade.result.shape_mounted=Shape mounted successfully. warpdrive.upgrade.status_line.none=§7No upgrade installed. warpdrive.upgrade.status_line.valid=Upgraded with %1$s. -warpdrive.video_channel.tooltip=Video channel is set to %1$d -warpdrive.video_channel.get=Video channel %2$d has been retrieved from %1$s -warpdrive.video_channel.set=%1$s is now tuned to Video channel %2$d +warpdrive.video_channel.tooltip=Video channel is set to %1$d. +warpdrive.video_channel.get=Video channel %2$d has been retrieved from %1$s. +warpdrive.video_channel.set=%1$s is now tuned to Video channel %2$d. warpdrive.video_channel.status_line.valid_self=Video channel %1$d is valid. warpdrive.video_channel.status_line.valid_other=Video channel %1$d is valid for camera at %2$s. warpdrive.video_channel.status_line.invalid=Video channel %1$d is invalid. diff --git a/src/main/resources/assets/warpdrive/lang/fr_fr.lang b/src/main/resources/assets/warpdrive/lang/fr_fr.lang index 277b565f..2ae94f7e 100644 --- a/src/main/resources/assets/warpdrive/lang/fr_fr.lang +++ b/src/main/resources/assets/warpdrive/lang/fr_fr.lang @@ -362,6 +362,7 @@ tile.warpdrive.movement.ship_core.legendary.name=Cœur de vaisseau planétaire tile.warpdrive.movement.ship_core.tooltip=Défini le centre du vaisseau. Connecte une source d'énergie pour charger le cœur. Attache un ordinateur pour ouvrir l'interface utilisateur. tile.warpdrive.movement.ship_core.bounding_box.disabled=L'affichage des déliminations a été désactivé. tile.warpdrive.movement.ship_core.bounding_box.enabled=L'affichage des déliminations est maintement activé. Seul toi peut les voir.\n§bShift-clique droit le cœur de vaisseau§r pour le désactiver. +tile.warpdrive.movement.ship_core.tooltip.constrains=Taille max. de %1$d x %1$d x %1$d blocs.\nMasse requise de %2$d à %3$d tonnes.\nMasse max. de %4$d t sur une planète.\nMasse min. de %5$d t pour l'hyperdrive. tile.warpdrive.movement.transporter_beacon.name=Balise de transporteur tile.warpdrive.movement.transporter_beacon.tooltip=§bClique droit un Cœur de transporteur§r pour définir un emplacement distant.\n§bShift§r pour récupérer sa signature.\n§bPlace le en tant que block§r pour déclencher un transport d'urgence. @@ -670,9 +671,9 @@ warpdrive.beam_frequency.status_line.valid=La fréquence de faisceau %1$d est va warpdrive.beam_frequency.status_line.invalid=La fréquence de faisceau %1$d est invalide. warpdrive.beam_frequency.status_line.undefined=La fréquence de faisceau est non définie.\n§bUtilises un Diapason§f pour l'ajuster. -warpdrive.control_channel.tooltip=Canal de contrôle ajusté à %1$d -warpdrive.control_channel.get=Le canal de contrôle %2$d a été récupéré de %1$s -warpdrive.control_channel.set=%1$s est désormais accordé au Canal de contrôle %2$d +warpdrive.control_channel.tooltip=Canal de contrôle ajusté à %1$d. +warpdrive.control_channel.get=Le canal de contrôle %2$d a été récupéré de %1$s. +warpdrive.control_channel.set=%1$s est désormais accordé au Canal de contrôle %2$d. warpdrive.control_channel.status_line.valid=Le canal de contrôle %1$d est valide. warpdrive.control_channel.status_line.invalid=Le canal de contrôle %1$d est invalide. warpdrive.control_channel.status_line.undefined=Le canal de contrôle est non défini.\n§bUtilises un Diapason§r pour l'ajuster. @@ -718,9 +719,9 @@ warpdrive.upgrade.result.shape_mounted=Forme montée correctement. warpdrive.upgrade.status_line.none=§7Pas d'augmentation installée. warpdrive.upgrade.status_line.valid=Augmenté avec %1$s. -warpdrive.video_channel.tooltip=Canal vidéo ajusté à %1$d -warpdrive.video_channel.get=Le canal vidéo %2$d a été recupéré depuis %1$s -warpdrive.video_channel.set=%1$s est désormais accordé au Canal vidéo %2$d +warpdrive.video_channel.tooltip=Canal vidéo ajusté à %1$d. +warpdrive.video_channel.get=Le canal vidéo %2$d a été recupéré depuis %1$s. +warpdrive.video_channel.set=%1$s est désormais accordé au Canal vidéo %2$d. warpdrive.video_channel.status_line.valid_self=Le canal vidéo %1$d est valide. warpdrive.video_channel.status_line.valid_other=Le canal vidéo %1$d est valide pour la caméra à %2$s. warpdrive.video_channel.status_line.invalid=Le canal vidéo %1$d est invalide. diff --git a/src/main/resources/assets/warpdrive/lang/nl_nl.lang b/src/main/resources/assets/warpdrive/lang/nl_nl.lang index 19b34f2e..14581c4b 100644 --- a/src/main/resources/assets/warpdrive/lang/nl_nl.lang +++ b/src/main/resources/assets/warpdrive/lang/nl_nl.lang @@ -362,6 +362,7 @@ tile.warpdrive.movement.ship_core.legendary.name=Planetary Schip-Kern tile.warpdrive.movement.ship_core.tooltip=Defines your ship center. Sluit een stroombron aan om de kern op te laden. Sluit een computer aan om de interface te openen. tile.warpdrive.movement.ship_core.bounding_box.disabled=Bounding box display have been disabled. tile.warpdrive.movement.ship_core.bounding_box.enabled=Bounding box display is now enabled. Only you can see it.\n§bSneak right-click the Ship core§r to disable it. +tile.warpdrive.movement.ship_core.tooltip.constrains=Size is up to %1$d x %1$d x %1$d blocks.\nMass is %2$d to %3$d tons.\nMass on a planet is %4$d tons max.\nMass to engage warp is %5$d tons min. tile.warpdrive.movement.transporter_beacon.name=Transport-baken tile.warpdrive.movement.transporter_beacon.tooltip=§bRight click a Transporter Core§r to set its remote location.\n§bSneak§r to retrieve its signature.\n§bPlace as a block§r to trigger emergency transportation. @@ -670,9 +671,9 @@ warpdrive.beam_frequency.status_line.valid=Straal-frueqentie %1$d is Geldig. warpdrive.beam_frequency.status_line.invalid=Straal-frequentie %1$d is incorrect. warpdrive.beam_frequency.status_line.undefined=Niet gedefinieerde straal-frequentie.\n§bGebruik een Affstemmingsvork§r om deze te zetten. -warpdrive.control_channel.tooltip=Controlekanaal is gezet op %1$d -warpdrive.control_channel.get=Controlekanaal %2$d is opgehaald door %1$s -warpdrive.control_channel.set=%1$s is nu afgestemd met een controlekanaal %2$d +warpdrive.control_channel.tooltip=Controlekanaal is gezet op %1$d. +warpdrive.control_channel.get=Controlekanaal %2$d is opgehaald door %1$s. +warpdrive.control_channel.set=%1$s is nu afgestemd met een controlekanaal %2$d. warpdrive.control_channel.status_line.valid=Controlekanaal %1$d is Geldig. warpdrive.control_channel.status_line.invalid=Controlekanaal %1$d is incorrect. warpdrive.control_channel.status_line.undefined=Niet gedefinieerde controlekanaal.\n§bGebruik een Afstemmingsvork§r om deze te zetten. @@ -718,9 +719,9 @@ warpdrive.upgrade.result.shape_mounted=Vorm succesvol geplaatst. warpdrive.upgrade.status_line.none=§7Geen upgrade geinstalleerd. warpdrive.upgrade.status_line.valid=Geupgrade met1$s. -warpdrive.video_channel.tooltip=Videokanaal is gezet naar %1$d -warpdrive.video_channel.get=Videokanaal %2$d is achterhaald door %1$s -warpdrive.video_channel.set=%1$s is nu afgestemd op videokanaal %2$d +warpdrive.video_channel.tooltip=Videokanaal is gezet naar %1$d. +warpdrive.video_channel.get=Videokanaal %2$d is achterhaald door %1$s. +warpdrive.video_channel.set=%1$s is nu afgestemd op videokanaal %2$d. warpdrive.video_channel.status_line.valid_self=Videokanaal %1$d is geldig. warpdrive.video_channel.status_line.valid_other=Videokanaal %1$d is geldig voor camera op %2$s. warpdrive.video_channel.status_line.invalid=Videokanaal %1$d is ongeldig. diff --git a/src/main/resources/assets/warpdrive/lang/ru_ru.lang b/src/main/resources/assets/warpdrive/lang/ru_ru.lang index 5a756607..5a2d72e1 100644 --- a/src/main/resources/assets/warpdrive/lang/ru_ru.lang +++ b/src/main/resources/assets/warpdrive/lang/ru_ru.lang @@ -362,6 +362,7 @@ tile.warpdrive.movement.ship_core.legendary.name=Planetary Ядро корабл tile.warpdrive.movement.ship_core.tooltip=Defines your ship center. Connecting an energy source will charge the core. Attach a computer to open the user interface. tile.warpdrive.movement.ship_core.bounding_box.disabled=Bounding box display have been disabled. tile.warpdrive.movement.ship_core.bounding_box.enabled=Bounding box display is now enabled. Only you can see it.\n§bSneak right-click the Ship core§r to disable it. +tile.warpdrive.movement.ship_core.tooltip.constrains=Size is up to %1$d x %1$d x %1$d blocks.\nMass is %2$d to %3$d tons.\nMass on a planet is %4$d tons max.\nMass to engage warp is %5$d tons min. tile.warpdrive.movement.transporter_beacon.name=Маяк для транспортера tile.warpdrive.movement.transporter_beacon.tooltip=§bRight click a Transporter Core§r to set its remote location.\n§bSneak§r to retrieve its signature.\n§bPlace as a block§r to trigger emergency transportation. @@ -670,9 +671,9 @@ warpdrive.beam_frequency.status_line.valid=Частота луча %1$d дейс warpdrive.beam_frequency.status_line.invalid=Частота луча %1$d недействительна. warpdrive.beam_frequency.status_line.undefined=Undefined beam frequency.\n§bUse a Tuning fork§r to set Beam frequency. -warpdrive.control_channel.tooltip=Control channel is set to %1$d -warpdrive.control_channel.get=Control channel %2$d has been retrieved from %1$s -warpdrive.control_channel.set=%1$s is now tuned with Control channel %2$d +warpdrive.control_channel.tooltip=Control channel is set to %1$d. +warpdrive.control_channel.get=Control channel %2$d has been retrieved from %1$s. +warpdrive.control_channel.set=%1$s is now tuned with Control channel %2$d. warpdrive.control_channel.status_line.valid=Control channel %1$d is valid. warpdrive.control_channel.status_line.invalid=Control channel %1$d is invalid. warpdrive.control_channel.status_line.undefined=Undefined Control channel.\n§bUse a Tuning fork§r to set it. @@ -718,9 +719,9 @@ warpdrive.upgrade.result.shape_mounted=Shape mounted successfully. warpdrive.upgrade.status_line.none=§7No upgrade installed. warpdrive.upgrade.status_line.valid=Upgraded with %1$s. -warpdrive.video_channel.tooltip=Видеоканал установлен на %1$d -warpdrive.video_channel.get=Video channel %2$d has been retrieved from %1$s -warpdrive.video_channel.set=%1$s настроен на видеоканал %2$d +warpdrive.video_channel.tooltip=Видеоканал установлен на %1$d. +warpdrive.video_channel.get=Video channel %2$d has been retrieved from %1$s. +warpdrive.video_channel.set=%1$s настроен на видеоканал %2$d. warpdrive.video_channel.status_line.valid_self=Видеоканал %1$d действителен. warpdrive.video_channel.status_line.valid_other=Видеоканал %1$d действителен для камеры на %2$s. warpdrive.video_channel.status_line.invalid=Видеоканал %1$d недействителен. diff --git a/src/main/resources/assets/warpdrive/lang/zh_cn.lang b/src/main/resources/assets/warpdrive/lang/zh_cn.lang index 32e2b143..6278dc0e 100644 --- a/src/main/resources/assets/warpdrive/lang/zh_cn.lang +++ b/src/main/resources/assets/warpdrive/lang/zh_cn.lang @@ -363,6 +363,7 @@ tile.warpdrive.movement.ship_core.legendary.name=Planetary 飞船核心 tile.warpdrive.movement.ship_core.tooltip=Defines your ship center. 连接供能设备充能. 在相连的电脑上打开交互界面. tile.warpdrive.movement.ship_core.bounding_box.disabled=边界显示已禁用. tile.warpdrive.movement.ship_core.bounding_box.enabled=边界显示启用. 只有你可见.\n再次潜行右击核心可关闭. +tile.warpdrive.movement.ship_core.tooltip.constrains=Size is up to %1$d x %1$d x %1$d blocks.\nMass is %2$d to %3$d tons.\nMass on a planet is %4$d tons max.\nMass to engage warp is %5$d tons min. tile.warpdrive.movement.transporter_beacon.name=运输信标 tile.warpdrive.movement.transporter_beacon.tooltip=§bRight click a Transporter Core§r to set its remote location.\n§bSneak§r to retrieve its signature.\n§bPlace as a block§r to trigger emergency transportation. @@ -671,9 +672,9 @@ warpdrive.beam_frequency.status_line.valid=光束频率%1$d有效. warpdrive.beam_frequency.status_line.invalid=光束频率%1$d无效. warpdrive.beam_frequency.status_line.undefined=未定义的光束频率.\n§b使用一个音叉§r进行设置 -warpdrive.control_channel.tooltip=控制连接设置为 %1$d -warpdrive.control_channel.get=控制连接 %2$d 已从 %1$s 断开 -warpdrive.control_channel.set=%1$s 正与控制连接 %2$d 进行匹配 +warpdrive.control_channel.tooltip=控制连接设置为 %1$d. +warpdrive.control_channel.get=控制连接 %2$d 已从 %1$s 断开. +warpdrive.control_channel.set=%1$s 正与控制连接 %2$d 进行匹配. warpdrive.control_channel.status_line.valid=控制连接 %1$d 有效. warpdrive.control_channel.status_line.invalid=控制连接 %1$d 无效. warpdrive.control_channel.status_line.undefined=未定义控制连接.\n§b使用音叉§r进行设置. @@ -719,10 +720,10 @@ warpdrive.upgrade.result.shape_mounted=模型加载成功. warpdrive.upgrade.status_line.none=§7没有安装升级 warpdrive.upgrade.status_line.valid=用升级%1$s. -warpdrive.video_channel.tooltip-tbc=频道设置为%1$d -warpdrive.video_channel.get=视频频道 %2$d 已从频道 %1$s 断开 -warpdrive.video_channel.set=%1$s正在切换至频道%2$d -warpdrive.video_channel.status_line.valid_self=视频通道%1$d有效 +warpdrive.video_channel.tooltip-tbc=频道设置为%1$d. +warpdrive.video_channel.get=视频频道 %2$d 已从频道 %1$s 断开. +warpdrive.video_channel.set=%1$s正在切换至频道%2$d. +warpdrive.video_channel.status_line.valid_self=视频通道%1$d有效. warpdrive.video_channel.status_line.valid_other=相机的视频通道 %1$d有效,位于%2$s. warpdrive.video_channel.status_line.invalid=视频通道 %1$d 无效. warpdrive.video_channel.status_line.not_loaded=视频通道 %1$d 无效或者是相机的距离太远! diff --git a/src/main/resources/assets/warpdrive/lang/zh_tw.lang b/src/main/resources/assets/warpdrive/lang/zh_tw.lang index 35e8d42f..0b18b5b9 100644 --- a/src/main/resources/assets/warpdrive/lang/zh_tw.lang +++ b/src/main/resources/assets/warpdrive/lang/zh_tw.lang @@ -362,6 +362,7 @@ tile.warpdrive.movement.ship_core.legendary.name=Planetary 波動核心 tile.warpdrive.movement.ship_core.tooltip=Defines your ship center. Connecting an energy source will charge the core. Attach a computer to open the user interface. tile.warpdrive.movement.ship_core.bounding_box.disabled=Bounding box display have been disabled. tile.warpdrive.movement.ship_core.bounding_box.enabled=Bounding box display is now enabled. Only you can see it.\n§bSneak right-click the Ship core§r to disable it. +tile.warpdrive.movement.ship_core.tooltip.constrains=Size is up to %1$d x %1$d x %1$d blocks.\nMass is %2$d to %3$d tons.\nMass on a planet is %4$d tons max.\nMass to engage warp is %5$d tons min. tile.warpdrive.movement.transporter_beacon.name=傳送坐標 tile.warpdrive.movement.transporter_beacon.tooltip=§bRight click a Transporter Core§r to set its remote location.\n§bSneak§r to retrieve its signature.\n§bPlace as a block§r to trigger emergency transportation. @@ -668,9 +669,9 @@ warpdrive.beam_frequency.status_line.valid=光束頻率 %1$d 已驗證。 warpdrive.beam_frequency.status_line.invalid=光束頻率 %1$d 是無效的。 warpdrive.beam_frequency.status_line.undefined=無效的光束頻率。\n§bUse 使用調音叉§r 來設置。 -warpdrive.control_channel.tooltip=Control channel is set to %1$d -warpdrive.control_channel.get=Control channel %2$d has been retrieved from %1$s -warpdrive.control_channel.set=%1$s is now tuned with Control channel %2$d +warpdrive.control_channel.tooltip=Control channel is set to %1$d. +warpdrive.control_channel.get=Control channel %2$d has been retrieved from %1$s. +warpdrive.control_channel.set=%1$s is now tuned with Control channel %2$d. warpdrive.control_channel.status_line.valid=Control channel %1$d is valid. warpdrive.control_channel.status_line.invalid=Control channel %1$d is invalid. warpdrive.control_channel.status_line.undefined=Undefined Control channel.\n§bUse a Tuning fork§r to set it. @@ -717,9 +718,9 @@ warpdrive.upgrade.result.shape_mounted=形狀已成功安裝。 warpdrive.upgrade.status_line.none=§7未安裝升級。 warpdrive.upgrade.status_line.valid=已升級 %1$s. -warpdrive.video_channel.tooltip=視頻頻道設置為 %1$d -warpdrive.video_channel.get=Video channel %2$d has been retrieved from %1$s -warpdrive.video_channel.set=%1$s 現在調整為視頻頻道 %2$d +warpdrive.video_channel.tooltip=視頻頻道設置為 %1$d. +warpdrive.video_channel.get=Video channel %2$d has been retrieved from %1$s. +warpdrive.video_channel.set=%1$s 現在調整為視頻頻道 %2$d. warpdrive.video_channel.status_line.valid_self=視頻頻道 %1$d 有效。 warpdrive.video_channel.status_line.valid_other=視頻頻道 %1$d 對於攝像機 %2$s 有效 warpdrive.video_channel.status_line.invalid=視頻頻道 %1$d 是無效的。