Added a timer API to common LUA scripts
Integrated status messages - escape characters leaking from lang files - cycle status message lines in LUA scripts - any missing requirement should be red - give explicit jump abort message - reduce language message duplication - short jump shouldn't be reporting a collision - block-state leaking in collision guide message, use translated block name instead - use same prefix for status and ship guide broadcasts - preserve format on line breaks in ship guide broadcasts - ship mass and volume displayed backward
This commit is contained in:
parent
13551fe9a6
commit
2dce824a1c
21 changed files with 860 additions and 671 deletions
|
@ -153,6 +153,7 @@ public class Commons {
|
|||
public static Style styleCommand = new Style().setColor(TextFormatting.AQUA);
|
||||
public static Style styleHeader = new Style().setColor(TextFormatting.GOLD);
|
||||
public static Style styleCorrect = new Style().setColor(TextFormatting.GREEN);
|
||||
public static Style styleNormal = new Style().setColor(TextFormatting.WHITE);
|
||||
public static Style styleWarning = new Style().setColor(TextFormatting.RED);
|
||||
public static Style styleValue = new Style().setColor(TextFormatting.YELLOW);
|
||||
public static Style styleVoltage = new Style().setColor(TextFormatting.DARK_GREEN);
|
||||
|
@ -193,8 +194,24 @@ public class Commons {
|
|||
}
|
||||
|
||||
final String[] lines = updateEscapeCodes(message).split("\n");
|
||||
String formatNextLine = "";
|
||||
for (final String line : lines) {
|
||||
commandSender.sendMessage(new TextComponentString(line));
|
||||
commandSender.sendMessage(new TextComponentString(formatNextLine + line));
|
||||
|
||||
// compute remaining format
|
||||
int index = 0;
|
||||
while (index < line.length()) {
|
||||
if (line.charAt(index) == (char) 167 && index + 1 < line.length()) {
|
||||
index++;
|
||||
final char charFormat = line.charAt(index);
|
||||
if (charFormat == 'r') {
|
||||
formatNextLine = CHAR_FORMATTING + charFormat;
|
||||
} else {
|
||||
formatNextLine += CHAR_FORMATTING + charFormat;
|
||||
}
|
||||
}
|
||||
index++;
|
||||
}
|
||||
}
|
||||
|
||||
// logger.info(message);
|
||||
|
@ -392,7 +409,22 @@ public class Commons {
|
|||
stringNBT);
|
||||
}
|
||||
|
||||
public static String sanitizeFileName(final String name) {
|
||||
public static String format(@Nonnull final IBlockState blockState, @Nonnull final World world, @Nonnull final BlockPos blockPos) {
|
||||
final Block block = blockState.getBlock();
|
||||
try {
|
||||
final ItemStack itemStack = block.getPickBlock(blockState, null, world, blockPos, null);
|
||||
return new WarpDriveText(null, itemStack.getTranslationKey() + ".name").getFormattedText();
|
||||
} catch (final Exception exception1) {
|
||||
try {
|
||||
return new WarpDriveText(null, block.getTranslationKey() + ".name").getFormattedText();
|
||||
} catch (final Exception exception2) {
|
||||
return blockState.toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
public static String sanitizeFileName(@Nonnull final String name) {
|
||||
return name.replace("/", "")
|
||||
.replace(".", "")
|
||||
.replace(":", "")
|
||||
|
@ -857,17 +889,17 @@ public class Commons {
|
|||
public static void messageToAllPlayersInArea(@Nonnull final IStarMapRegistryTileEntity tileEntity, @Nonnull final WarpDriveText textComponent) {
|
||||
assert tileEntity instanceof TileEntity;
|
||||
final AxisAlignedBB starMapArea = tileEntity.getStarMapArea();
|
||||
final ITextComponent messageFormatted = Commons.getChatPrefix(tileEntity.getStarMapName())
|
||||
final WarpDriveText messagePrefixed = Commons.getChatPrefix(tileEntity.getStarMapName())
|
||||
.appendSibling(textComponent);
|
||||
|
||||
WarpDrive.logger.info(String.format("%s messageToAllPlayersOnShip: %s",
|
||||
WarpDrive.logger.info(String.format("%s messageToAllPlayersInArea: %s",
|
||||
tileEntity, textComponent.getFormattedText()));
|
||||
for (final EntityPlayer entityPlayer : ((TileEntity) tileEntity).getWorld().playerEntities) {
|
||||
if (!entityPlayer.getEntityBoundingBox().intersects(starMapArea)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Commons.addChatMessage(entityPlayer, messageFormatted);
|
||||
Commons.addChatMessage(entityPlayer, messagePrefixed);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -80,4 +80,8 @@ public class WarpDriveText extends TextComponentBase {
|
|||
appendSibling(textComponent);
|
||||
return this;
|
||||
}
|
||||
|
||||
public WarpDriveText appendSibling(final WarpDriveText textComponent) {
|
||||
return (WarpDriveText) super.appendSibling(textComponent);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -674,7 +674,7 @@ public class TileEntityShipScanner extends TileEntityAbstractMachine implements
|
|||
}
|
||||
final WarpDriveText reason = new WarpDriveText();
|
||||
final boolean success = scanShip(reason);
|
||||
return new Object[] { success, 3, reason.getUnformattedText() };
|
||||
return new Object[] { success, 3, Commons.removeFormatting( reason.getUnformattedText() ) };
|
||||
}
|
||||
|
||||
private Object[] filename() {
|
||||
|
@ -717,7 +717,7 @@ public class TileEntityShipScanner extends TileEntityAbstractMachine implements
|
|||
playerName = "";
|
||||
}
|
||||
/**/
|
||||
return new Object[] { result, reason.getUnformattedText() };
|
||||
return new Object[] { result, Commons.removeFormatting( reason.getUnformattedText() ) };
|
||||
}
|
||||
|
||||
private Object[] state() {
|
||||
|
@ -823,7 +823,7 @@ public class TileEntityShipScanner extends TileEntityAbstractMachine implements
|
|||
}
|
||||
shipToken_countWarmup--;
|
||||
if (shipToken_countWarmup > 0) {
|
||||
Commons.addChatMessage(entityPlayer, new WarpDriveText(null, "warpdrive.builder.guide.ship_materialization_countdown",
|
||||
Commons.addChatMessage(entityPlayer, new WarpDriveText(Commons.styleNormal, "warpdrive.builder.guide.ship_materialization_countdown",
|
||||
shipToken_nameSchematic, shipToken_countWarmup));
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -449,7 +449,7 @@ public class TileEntityCloakingCore extends TileEntityAbstractEnergyConsumer {
|
|||
if (!isValid) {
|
||||
textStatus = textValidityIssues;
|
||||
} else if (!isEnabled) {
|
||||
textStatus = new WarpDriveText(null, "warpdrive.cloaking_core.disabled",
|
||||
textStatus = new WarpDriveText(Commons.styleNormal, "warpdrive.cloaking_core.disabled",
|
||||
isFullyTransparent ? 2 : 1,
|
||||
volume);
|
||||
} else if (!isCloaking) {
|
||||
|
@ -477,7 +477,7 @@ public class TileEntityCloakingCore extends TileEntityAbstractEnergyConsumer {
|
|||
@Override
|
||||
public Object[] isAssemblyValid() {
|
||||
if (!isValid) {
|
||||
return new Object[] { false, Commons.removeFormatting(textValidityIssues.getUnformattedText()) };
|
||||
return new Object[] { false, Commons.removeFormatting( textValidityIssues.getUnformattedText() ) };
|
||||
}
|
||||
return super.isAssemblyValid();
|
||||
}
|
||||
|
|
|
@ -997,7 +997,7 @@ public class TileEntityForceFieldProjector extends TileEntityAbstractForceField
|
|||
final EnumForceFieldShape enumForceFieldShape = getShape();
|
||||
final WarpDriveText displayName = new WarpDriveText(null, "warpdrive.force_field.shape.status_line." + enumForceFieldShape.getName());
|
||||
if (enumForceFieldShape == EnumForceFieldShape.NONE) {
|
||||
return new WarpDriveText(null, "warpdrive.force_field.shape.status_line.none",
|
||||
return new WarpDriveText(Commons.styleWarning, "warpdrive.force_field.shape.status_line.none",
|
||||
displayName);
|
||||
} else if (isDoubleSided) {
|
||||
return new WarpDriveText(null, "warpdrive.force_field.shape.status_line.double",
|
||||
|
|
|
@ -47,7 +47,7 @@ public class TileEntityForceFieldRelay extends TileEntityAbstractForceField impl
|
|||
final EnumForceFieldUpgrade enumForceFieldUpgrade = getUpgrade();
|
||||
final ITextComponent strDisplayName = new TextComponentTranslation("warpdrive.force_field.upgrade.status_line." + enumForceFieldUpgrade.getName());
|
||||
if (enumForceFieldUpgrade == EnumForceFieldUpgrade.NONE) {
|
||||
return new WarpDriveText(null,"warpdrive.upgrade.status_line.none",
|
||||
return new WarpDriveText(Commons.styleWarning,"warpdrive.upgrade.status_line.none",
|
||||
strDisplayName);
|
||||
} else {
|
||||
return new WarpDriveText(Commons.styleCorrect,"warpdrive.upgrade.status_line.valid",
|
||||
|
|
|
@ -165,8 +165,7 @@ public class TileEntityShipCore extends TileEntityAbstractShipController impleme
|
|||
// report coo down time when a command is requested
|
||||
if ( isEnabled
|
||||
&& isCommandConfirmed
|
||||
&& enumShipCommand != EnumShipCommand.IDLE
|
||||
&& enumShipCommand != EnumShipCommand.MAINTENANCE ) {
|
||||
&& enumShipCommand.isMovement() ) {
|
||||
if (ticksCooldown % 20 == 0) {
|
||||
final int seconds = ticksCooldown / 20;
|
||||
if (!isCooldownReported || (seconds < 5) || ((seconds < 30) && (seconds % 5 == 0)) || (seconds % 10 == 0)) {
|
||||
|
@ -316,8 +315,7 @@ public class TileEntityShipCore extends TileEntityAbstractShipController impleme
|
|||
switch (stateCurrent) {
|
||||
case IDLE:
|
||||
if ( isCommandConfirmed
|
||||
&& enumShipCommand != EnumShipCommand.IDLE
|
||||
&& enumShipCommand != EnumShipCommand.MAINTENANCE ) {
|
||||
&& enumShipCommand.isMovement() ) {
|
||||
commandCurrent = enumShipCommand;
|
||||
stateCurrent = EnumShipCoreState.ONLINE;
|
||||
/*
|
||||
|
@ -529,8 +527,15 @@ public class TileEntityShipCore extends TileEntityAbstractShipController impleme
|
|||
}
|
||||
|
||||
@Override
|
||||
protected void commandDone(final boolean success, @Nonnull final WarpDriveText reason) {
|
||||
assert success || !reason.getUnformattedText().isEmpty();
|
||||
protected void commandDone(final boolean success, @Nonnull final WarpDriveText reasonRaw) {
|
||||
assert success || !reasonRaw.getUnformattedText().isEmpty();
|
||||
final WarpDriveText reason;
|
||||
if (success || !commandCurrent.isMovement()) {
|
||||
reason = reasonRaw;
|
||||
} else {
|
||||
reason = new WarpDriveText(Commons.styleWarning, "warpdrive.ship.guide.movement_aborted")
|
||||
.append(reasonRaw);
|
||||
}
|
||||
super.commandDone(success, reason);
|
||||
if (!success) {
|
||||
Commons.messageToAllPlayersInArea(this, reason);
|
||||
|
@ -1233,7 +1238,7 @@ public class TileEntityShipCore extends TileEntityAbstractShipController impleme
|
|||
@Override
|
||||
public Object[] isAssemblyValid() {
|
||||
if (!isValid) {
|
||||
return new Object[] { false, reasonInvalid.getUnformattedText() };
|
||||
return new Object[] { false, Commons.removeFormatting( reasonInvalid.getUnformattedText() ) };
|
||||
}
|
||||
return super.isAssemblyValid();
|
||||
}
|
||||
|
|
|
@ -7,16 +7,17 @@ import net.minecraft.util.IStringSerializable;
|
|||
|
||||
public enum EnumShipCommand implements IStringSerializable {
|
||||
|
||||
OFFLINE ("offline"), // Offline allows to move sub-ships
|
||||
IDLE ("idle"), //
|
||||
MANUAL ("manual"), // Move ship around including take off and landing
|
||||
// AUTOPILOT("autopilot"), // Move ship towards a far destination
|
||||
// SUMMON ("summon"), // Summoning crew
|
||||
HYPERDRIVE ("hyperdrive"), // Jump to/from Hyperspace
|
||||
GATE ("gate"), // Jump via jumpgate
|
||||
MAINTENANCE ("maintenance"); // Maintenance mode
|
||||
OFFLINE ("offline" , false), // Offline allows to move overlapping ships
|
||||
IDLE ("idle" , false), //
|
||||
MANUAL ("manual" , true ), // Move ship around including take off and landing
|
||||
// AUTOPILOT("autopilot" , true ), // Move ship towards a far destination
|
||||
// SUMMON ("summon" , false), // Summoning crew
|
||||
HYPERDRIVE ("hyperdrive" , true ), // Jump to/from Hyperspace
|
||||
GATE ("gate" , true ), // Jump via jumpgate
|
||||
MAINTENANCE ("maintenance" , false); // Maintenance mode
|
||||
|
||||
private final String name;
|
||||
private final boolean isMovement;
|
||||
|
||||
// cached values
|
||||
public static final int length;
|
||||
|
@ -29,8 +30,9 @@ public enum EnumShipCommand implements IStringSerializable {
|
|||
}
|
||||
}
|
||||
|
||||
EnumShipCommand(final String name) {
|
||||
EnumShipCommand(@Nonnull final String name, final boolean isMovement) {
|
||||
this.name = name;
|
||||
this.isMovement = isMovement;
|
||||
}
|
||||
|
||||
public static EnumShipCommand get(final int damage) {
|
||||
|
@ -42,4 +44,8 @@ public enum EnumShipCommand implements IStringSerializable {
|
|||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public boolean isMovement() {
|
||||
return isMovement;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,7 +28,6 @@ import net.minecraft.util.math.AxisAlignedBB;
|
|||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.BlockPos.MutableBlockPos;
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
import net.minecraft.util.text.TextComponentString;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import net.minecraftforge.common.util.Constants;
|
||||
|
@ -291,8 +290,8 @@ public class JumpShip {
|
|||
}
|
||||
|
||||
public void messageToAllPlayersOnShip(final WarpDriveText textComponent) {
|
||||
final ITextComponent messageFormatted = new TextComponentString((shipCore != null && !shipCore.name.isEmpty()) ? shipCore.name + " " : "ShipCore ").setStyle(Commons.styleHeader)
|
||||
.appendSibling(textComponent);
|
||||
final String name = (shipCore != null && !shipCore.name.isEmpty()) ? shipCore.name : "ShipCore";
|
||||
final ITextComponent messageFormatted = Commons.getNamedPrefix(name).appendSibling(textComponent);
|
||||
if (entitiesOnShip == null) {
|
||||
// entities not saved yet, get them now
|
||||
final WarpDriveText reason = new WarpDriveText();
|
||||
|
@ -567,7 +566,7 @@ public class JumpShip {
|
|||
actualMass = newMass;
|
||||
} catch (final Exception exception) {
|
||||
exception.printStackTrace();
|
||||
final WarpDriveText textComponent = new WarpDriveText(Commons.styleWarning, "warpdrive.ship.guide.corrupted_block",
|
||||
final WarpDriveText textComponent = new WarpDriveText(Commons.styleWarning, "warpdrive.ship.guide.save_exception",
|
||||
Commons.format(world, blockPos));
|
||||
WarpDrive.logger.error(textComponent.getUnformattedText());
|
||||
reason.appendSibling(textComponent);
|
||||
|
|
|
@ -171,7 +171,14 @@ public class JumpSequencer extends AbstractSequencer {
|
|||
register();
|
||||
}
|
||||
|
||||
public void disableAndMessage(final boolean isSuccessful, final WarpDriveText reason) {
|
||||
public void disableAndMessage(final boolean isSuccessful, final WarpDriveText reasonRaw) {
|
||||
final WarpDriveText reason;
|
||||
if (isSuccessful) {
|
||||
reason = reasonRaw;
|
||||
} else {
|
||||
reason = new WarpDriveText(Commons.styleWarning, "warpdrive.ship.guide.movement_aborted")
|
||||
.append(reasonRaw);
|
||||
}
|
||||
disable(isSuccessful, reason);
|
||||
ship.messageToAllPlayersOnShip(reason);
|
||||
}
|
||||
|
@ -373,7 +380,7 @@ public class JumpSequencer extends AbstractSequencer {
|
|||
for (int z = minZ; z <= maxZ; z++) {
|
||||
chunkCount++;
|
||||
if (chunkCount > sourceWorldTicket.getMaxChunkListDepth()) {
|
||||
reason.append(Commons.styleWarning, "warpdrive.ship.guide.too_many_source_chunks_to_load",
|
||||
reason.append(Commons.styleWarning, "warpdrive.ship.guide.too_many_chunks_to_load",
|
||||
(maxX - minX + 1) * (maxZ - minZ + 1),
|
||||
sourceWorldTicket.getMaxChunkListDepth());
|
||||
reason.append(Commons.styleCommand, "warpdrive.ship.guide.max_chunkloading");
|
||||
|
@ -409,7 +416,7 @@ public class JumpSequencer extends AbstractSequencer {
|
|||
for (int z = minZ; z <= maxZ; z++) {
|
||||
chunkCount++;
|
||||
if (chunkCount > targetWorldTicket.getMaxChunkListDepth()) {
|
||||
reason.append(Commons.styleWarning, "warpdrive.ship.guide.too_many_target_chunks_to_load",
|
||||
reason.append(Commons.styleWarning, "warpdrive.ship.guide.too_many_chunks_to_load",
|
||||
(maxX - minX + 1) * (maxZ - minZ + 1),
|
||||
targetWorldTicket.getMaxChunkListDepth());
|
||||
reason.append(Commons.styleCommand, "warpdrive.ship.guide.max_chunkloading");
|
||||
|
@ -692,9 +699,12 @@ public class JumpSequencer extends AbstractSequencer {
|
|||
doCollisionDamage(false);
|
||||
|
||||
// cancel jump
|
||||
final WarpDriveText textOverlapping = new WarpDriveText(Commons.styleWarning, "warpdrive.ship.guide.overlapping_source_and_target");
|
||||
final WarpDriveText textComponent;
|
||||
if (firstAdjustmentReason.isEmpty()) {
|
||||
textComponent = new WarpDriveText(Commons.styleWarning, "warpdrive.ship.guide.overlapping_source_and_target");
|
||||
textComponent = textOverlapping;
|
||||
} else if (firstAdjustmentReason.getUnformattedText().equals(textOverlapping.getUnformattedText())) {
|
||||
textComponent = firstAdjustmentReason;
|
||||
} else {
|
||||
textComponent = firstAdjustmentReason.append(Commons.styleWarning, "warpdrive.ship.guide.not_enough_space_after_adjustment");
|
||||
}
|
||||
|
@ -728,7 +738,6 @@ public class JumpSequencer extends AbstractSequencer {
|
|||
final CheckMovementResult checkMovementResult = checkCollisionAndProtection(transformation, true,
|
||||
"target", new VectorI(0, 0, 0));
|
||||
if (checkMovementResult != null) {
|
||||
checkMovementResult.reason.append(Commons.styleWarning, "warpdrive.ship.guide.jump_aborted");
|
||||
disableAndMessage(false, checkMovementResult.reason);
|
||||
LocalProfiler.stop();
|
||||
return;
|
||||
|
@ -847,7 +856,7 @@ public class JumpSequencer extends AbstractSequencer {
|
|||
final double distanceSquared = celestialObject.getSquareDistanceInParent(sourceWorld.provider.getDimension(), ship.core.getX(), ship.core.getZ());
|
||||
if (distanceSquared > 0.0D) {
|
||||
final AxisAlignedBB axisAlignedBB = celestialObject.getAreaInParent();
|
||||
reason.append(Commons.styleWarning, "warpdrive.ship.guide.no_star_system_in_hyperspace",
|
||||
reason.append(Commons.styleWarning, "warpdrive.ship.guide.no_star_system_in_range",
|
||||
(int) Math.sqrt(distanceSquared),
|
||||
(int) axisAlignedBB.minX, (int) axisAlignedBB.minY, (int) axisAlignedBB.minZ,
|
||||
(int) axisAlignedBB.maxX, (int) axisAlignedBB.maxY, (int) axisAlignedBB.maxZ);
|
||||
|
@ -862,7 +871,7 @@ public class JumpSequencer extends AbstractSequencer {
|
|||
targetWorld = server.getWorld(dimensionIdSpace);
|
||||
} catch (final Exception exception) {
|
||||
exception.printStackTrace();
|
||||
reason.append(Commons.styleWarning, "warpdrive.ship.guide.unable_to_load_space_dimension",
|
||||
reason.append(Commons.styleWarning, "warpdrive.ship.guide.exception_loading_dimension",
|
||||
dimensionIdSpace);
|
||||
return false;
|
||||
}
|
||||
|
@ -891,7 +900,7 @@ public class JumpSequencer extends AbstractSequencer {
|
|||
targetWorld = server.getWorld(dimensionIdHyperspace);
|
||||
} catch (final Exception exception) {
|
||||
exception.printStackTrace();
|
||||
reason.append(Commons.styleWarning, "warpdrive.ship.guide.unable_to_load_hyperspace_dimension",
|
||||
reason.append(Commons.styleWarning, "warpdrive.ship.guide.exception_loading_dimension",
|
||||
dimensionIdHyperspace);
|
||||
return false;
|
||||
}
|
||||
|
@ -930,7 +939,7 @@ public class JumpSequencer extends AbstractSequencer {
|
|||
targetWorld = server.getWorld(dimensionIdSpace);
|
||||
} catch (final Exception exception) {
|
||||
exception.printStackTrace();
|
||||
reason.append(Commons.styleWarning, "warpdrive.ship.guide.unable_to_load_space_dimension",
|
||||
reason.append(Commons.styleWarning, "warpdrive.ship.guide.exception_loading_dimension",
|
||||
dimensionIdSpace);
|
||||
return false;
|
||||
}
|
||||
|
@ -976,7 +985,7 @@ public class JumpSequencer extends AbstractSequencer {
|
|||
targetWorld = server.getWorld(celestialObject.dimensionId);
|
||||
} catch (final Exception exception) {
|
||||
exception.printStackTrace();
|
||||
reason.append(Commons.styleWarning, "warpdrive.ship.guide.unable_to_land_invalid_id",
|
||||
reason.append(Commons.styleWarning, "warpdrive.ship.guide.exception_loading_dimension",
|
||||
celestialObject.getDisplayName(), celestialObject.dimensionId);
|
||||
return false;
|
||||
}
|
||||
|
@ -1526,16 +1535,36 @@ public class JumpSequencer extends AbstractSequencer {
|
|||
BlockPos blockPosTarget;
|
||||
final BlockPos blockPosCoreAtTarget = transformation.apply(ship.core.getX(), ship.core.getY(), ship.core.getZ());
|
||||
|
||||
// post event allowing other mods to do their own checks
|
||||
// validate positions aren't overlapping
|
||||
final AxisAlignedBB aabbSource = new AxisAlignedBB(
|
||||
ship.minX, ship.minY, ship.minZ,
|
||||
ship.maxX, ship.maxY, ship.maxZ);
|
||||
aabbSource.expand(1.0D, 1.0D, 1.0D);
|
||||
|
||||
final BlockPos blockPosMinAtTarget = transformation.apply(ship.minX, ship.minY, ship.minZ);
|
||||
final BlockPos blockPosMaxAtTarget = transformation.apply(ship.maxX, ship.maxY, ship.maxZ);
|
||||
final AxisAlignedBB targetAABB = new AxisAlignedBB(
|
||||
final AxisAlignedBB aabbTarget = new AxisAlignedBB(
|
||||
blockPosMinAtTarget.getX(), blockPosMinAtTarget.getY(), blockPosMinAtTarget.getZ(),
|
||||
blockPosMaxAtTarget.getX(), blockPosMaxAtTarget.getY(), blockPosMaxAtTarget.getZ() );
|
||||
|
||||
if ( shipMovementType != EnumShipMovementType.INSTANTIATE
|
||||
&& shipMovementType != EnumShipMovementType.RESTORE
|
||||
&& !betweenWorlds
|
||||
&& aabbSource.intersects(aabbTarget) ) {
|
||||
result.add(ship.core.getX(), ship.core.getY(), ship.core.getZ(),
|
||||
blockPosCoreAtTarget.getX(),
|
||||
blockPosCoreAtTarget.getY(),
|
||||
blockPosCoreAtTarget.getZ(),
|
||||
false,
|
||||
new WarpDriveText(Commons.styleWarning, "warpdrive.ship.guide.overlapping_source_and_target") );
|
||||
return result;
|
||||
}
|
||||
|
||||
// post event allowing other mods to do their own checks
|
||||
final TargetCheck targetCheck = new TargetCheck(sourceWorld, ship.core,
|
||||
ship.shipCore, shipMovementType.getName(),
|
||||
vMovement.x, vMovement.y, vMovement.z,
|
||||
targetWorld, targetAABB);
|
||||
targetWorld, aabbTarget);
|
||||
MinecraftForge.EVENT_BUS.post(targetCheck);
|
||||
if (targetCheck.isCanceled()) {
|
||||
result.add(ship.core.getX(), ship.core.getY(), ship.core.getZ(),
|
||||
|
@ -1582,7 +1611,8 @@ public class JumpSequencer extends AbstractSequencer {
|
|||
blockPosTarget.getZ() + 0.5D + offset.z * 0.1D,
|
||||
true,
|
||||
new WarpDriveText(Commons.styleWarning, "warpdrive.ship.guide.obstacle_block_detected",
|
||||
blockStateTarget, blockPosTarget.getX(), blockPosTarget.getY(), blockPosTarget.getZ()) );
|
||||
Commons.format(blockStateTarget, targetWorld, blockPosTarget),
|
||||
blockPosTarget.getX(), blockPosTarget.getY(), blockPosTarget.getZ()) );
|
||||
if (!fullCollisionDetails) {
|
||||
return result;
|
||||
} else if (WarpDriveConfig.LOGGING_JUMP) {
|
||||
|
|
|
@ -618,7 +618,7 @@ tile.warpdrive.hull.superior.stairs.black.name=Schwarze überlegene Treppe
|
|||
|
||||
|
||||
warpdrive.guide.prefix=%1$s:
|
||||
warpdrive.error.bad_tile_entity=§cDieser Block benötigt ein Update, durch zerstören und neu setzen.
|
||||
warpdrive.error.bad_tile_entity=Dieser Block benötigt ein Update, durch zerstören und neu setzen.
|
||||
warpdrive.error.internal_check_console=Internal error, check console for details
|
||||
|
||||
warpdrive.command.invalid_parameter=Invalid parameter %1$s
|
||||
|
@ -652,15 +652,15 @@ warpdrive.beam_frequency.tooltip=Strahlfrequenz auf %1$d gestellt
|
|||
warpdrive.beam_frequency.get=Strahlfrequenz %2$d wurde von %1$s abgerufen
|
||||
warpdrive.beam_frequency.set=%1$s ist jetzt mit Strahlfrequenz %2$d verknüpft
|
||||
warpdrive.beam_frequency.status_line.valid=Strahlfrequenz %1$d ist gültig.
|
||||
warpdrive.beam_frequency.status_line.invalid=§cStrahlfrequenz %1$d ist ungültig.
|
||||
warpdrive.beam_frequency.status_line.undefined=§7Undefinierte Strahlfrequenz.\n§bNutze eine Stimmgabel§f um die Strahlfrequenz festzulegen.
|
||||
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.status_line.valid=Steuerungskanal %1$d ist gültig.
|
||||
warpdrive.control_channel.status_line.invalid=§cSteuerungskanal %1$d ist ungültig.
|
||||
warpdrive.control_channel.status_line.undefined=§7Nicht definierter Steuerungskanal.\n§bNutze eine Stimmgabel§r um ihn einzustellen.
|
||||
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.
|
||||
|
||||
warpdrive.is_enabled.set.enabled=Switched ON!
|
||||
warpdrive.is_enabled.set.disabled=Switched off!
|
||||
|
@ -669,20 +669,20 @@ warpdrive.tooltip.item_tag.breathing_helmet=§bRaumatmung§r verbraucht Luftkani
|
|||
warpdrive.tooltip.item_tag.fly_in_space=§bRaumtaugliches Jetpack§r.
|
||||
warpdrive.tooltip.item_tag.no_fall_damage=§bAbsorbiert Fallschaden§r.
|
||||
|
||||
warpdrive.upgrade.result.no_upgrade_to_dismount=§cKein Upgrade zum deinstallieren vorhanden.
|
||||
warpdrive.upgrade.result.not_enough_upgrades=§cDu brauchst mindestens 1 Item um diesen Block aufzuwerten.
|
||||
warpdrive.upgrade.result.invalid_upgrade=§cDies ist kein gültiges Item, um diesen Block upzugraden.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_projector=§cDieses Upgrade ist zu groß für einen Projektor. Nutze ein Relais.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_relay=§cDieses Upgrade funktioniert nur bei Projektoren!
|
||||
warpdrive.upgrade.result.no_upgrade_to_dismount=Kein Upgrade zum deinstallieren vorhanden.
|
||||
warpdrive.upgrade.result.not_enough_upgrades=Du brauchst mindestens 1 Item um diesen Block aufzuwerten.
|
||||
warpdrive.upgrade.result.invalid_upgrade=Dies ist kein gültiges Item, um diesen Block upzugraden.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_projector=Dieses Upgrade ist zu groß für einen Projektor. Nutze ein Relais.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_relay=Dieses Upgrade funktioniert nur bei Projektoren!
|
||||
warpdrive.upgrade.result.valid_upgrades=Gültige Upgrades für diesen Block sind: %1$s. @TODO noch nicht implementiert
|
||||
warpdrive.upgrade.result.too_many_upgrades=§cEs sind schon %1$d Upgrades installiert.
|
||||
warpdrive.upgrade.result.too_many_upgrades=Es sind schon %1$d Upgrades installiert.
|
||||
warpdrive.upgrade.result.dismounted=Upgrade %1$s erfolgreich deinstalliert.
|
||||
warpdrive.upgrade.result.mounted=Upgrade %1$s erfolgreich installiert.
|
||||
|
||||
warpdrive.upgrade.result.wrong_shape_side=§cAuf dieser Seite gibt es keinen Elektromagnetischen Projektor.
|
||||
warpdrive.upgrade.result.no_shape_to_dismount=§cKeine Form zum deinstallieren vorhanden.
|
||||
warpdrive.upgrade.result.not_enough_shapes.double=§cDu brauchst mindestens 2 Items um einen doppelseitigen Projektor einzustellen.
|
||||
warpdrive.upgrade.result.not_enough_shapes.single=§cDu brauchst mindestens 1 Item um einen einseitigen Projektor einzustellen.
|
||||
warpdrive.upgrade.result.wrong_shape_side=Auf dieser Seite gibt es keinen Elektromagnetischen Projektor.
|
||||
warpdrive.upgrade.result.no_shape_to_dismount=Keine Form zum deinstallieren vorhanden.
|
||||
warpdrive.upgrade.result.not_enough_shapes.double=Du brauchst mindestens 2 Items um einen doppelseitigen Projektor einzustellen.
|
||||
warpdrive.upgrade.result.not_enough_shapes.single=Du brauchst mindestens 1 Item um einen einseitigen Projektor einzustellen.
|
||||
warpdrive.upgrade.result.shape_dismounted=Form erfolgreich deinstalliert.
|
||||
warpdrive.upgrade.result.shape_mounted=Form erfolgreich installiert.
|
||||
|
||||
|
@ -694,9 +694,9 @@ 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=§cVideokanal %1$d ist ungültig.
|
||||
warpdrive.video_channel.status_line.not_loaded=§cVideokanal %1$d ist ungültig oder die Kamera ist zu weit weg!
|
||||
warpdrive.video_channel.status_line.undefined=§7Nicht definierter Videokanal.\n§bNutze eine Stimmgabel§r um ihn einzustellen.
|
||||
warpdrive.video_channel.status_line.invalid=Videokanal %1$d ist ungültig.
|
||||
warpdrive.video_channel.status_line.not_loaded=Videokanal %1$d ist ungültig oder die Kamera ist zu weit weg!
|
||||
warpdrive.video_channel.status_line.undefined=Nicht definierter Videokanal.\n§bNutze eine Stimmgabel§r um ihn einzustellen.
|
||||
|
||||
|
||||
warpdrive.accelerator.guide.low_power.not_enough_storage=Energiespeicher zu klein; wir brauchen mindestens %1$d um den Betrieb fortzusetzen, können aber nur %2$d speichern.
|
||||
|
@ -735,7 +735,7 @@ warpdrive.cloaking_core.missing_channeling_coils=Integrity down to %1$d%%: missi
|
|||
warpdrive.cloaking_core.missing_projecting_coils=Integrity down to %1$d%%: missing projecting coil(s) towards %2$s !!!
|
||||
warpdrive.cloaking_core.valid=System is valid !!!
|
||||
warpdrive.cloaking_core.disabled=Tarnfeld ist deaktiviert!
|
||||
warpdrive.cloaking_core.low_power=§cTarnfeld ist ausgefallen, wir brauchen mehr Energie, Captain!
|
||||
warpdrive.cloaking_core.low_power=Tarnfeld ist ausgefallen, wir brauchen mehr Energie, Captain!
|
||||
warpdrive.cloaking_core.cloaking=Ein Stufe %1$d Tarnfeld überdeckt jetzt %2$d Blöcke!
|
||||
|
||||
warpdrive.compat.guide.block_detected_on_board=%1$s detected on board!
|
||||
|
@ -752,7 +752,7 @@ warpdrive.energy.side.changed_to_disabled=%1$s Seite auf Deaktiviert gestellt!
|
|||
|
||||
warpdrive.force_field.guide.low_power=Uns geht die Energie aus, Captain. Verringere unseren Energieverbrauch oder hol den schottischen Ingenieur!
|
||||
|
||||
warpdrive.force_field.shape.status_line.none=§cForm ist nicht definiert
|
||||
warpdrive.force_field.shape.status_line.none=Form ist nicht definiert
|
||||
warpdrive.force_field.shape.status_line.double=Die Form ist ein(e) volle(r) %1$s
|
||||
warpdrive.force_field.shape.status_line.single=Die Form ist ein(e) halbe(r) %1$s
|
||||
warpdrive.force_field.shape.status_line.sphere=Kugel
|
||||
|
@ -827,27 +827,29 @@ warpdrive.security_station.guide.registered_players=Verbundene Spieler: %1$s
|
|||
warpdrive.security_station.guide.player_registered=You're now registered on this security station.\nRegistered players are %1$s
|
||||
warpdrive.security_station.guide.player_unregistered=You've been unregistered from this security station.\nAttached players are %1$s
|
||||
|
||||
# Note for translators: you want to keep each line shorter than 50 characters so that it fits on computer screens.
|
||||
warpdrive.ship.guide.cooling_countdown=Ship core is cooling down... %1$d s to go...
|
||||
warpdrive.ship.guide.pre_jumping=Running pre-jump checklist...
|
||||
warpdrive.ship.guide.warming_up=Ship core is warming up... %1$d s to go...
|
||||
warpdrive.ship.guide.insufficient_energy=Jump aborted! Insufficient energy in core.
|
||||
warpdrive.ship.guide.warp_field_overlapping=Jump aborted! Own warp field contains another ship. Disable other core to continue.
|
||||
warpdrive.ship.guide.cloaking_field_overlapping=Jump aborted! Core is cloaked, disable cloak to continue!
|
||||
warpdrive.ship.guide.movement_aborted=Movement aborted!
|
||||
warpdrive.ship.guide.insufficient_energy=Insufficient energy in core.
|
||||
warpdrive.ship.guide.warp_field_overlapping=Own warp field contains another ship.\nDisable other core to continue.
|
||||
warpdrive.ship.guide.cloaking_field_overlapping=Core is cloaked.\nDisable cloak to continue.
|
||||
warpdrive.ship.guide.pre_jump_success=Ok
|
||||
warpdrive.ship.guide.too_large_side_for_tier=Error: ship is too large (max is %1$d per side)\nUpgrade ship core or reduce span!
|
||||
warpdrive.ship.guide.too_much_mass_for_planet=Ship is too big for a planet (max is %1$d blocks while ship mass is %2$d blocks).\nReduce your mass!
|
||||
warpdrive.ship.guide.insufficient_mass_for_tier=Ship is too small for its category (%2$d < %1$d).\nDowngrade your ship core or increase your mass!
|
||||
warpdrive.ship.guide.too_much_mass_for_tier=Ship is too big for its category (%2$d > %1$d).\nUpgrade your ship core or reduce your mass!
|
||||
warpdrive.ship.guide.insufficient_mass_for_hyperspace=Ship is too small to engage Alcubierre drive (%1$d/%2$d).\nIncrease your mass to reach hyperspace.
|
||||
warpdrive.ship.guide.jumpgate_is_too_far=Ship is not inside a jumpgate. Jump rejected.
|
||||
warpdrive.ship.guide.jumpgate_partially_entered=Ship is only %.1f%% inside a jumpgate. Sorry, we'll loose too much crew as is, jump rejected.
|
||||
warpdrive.ship.guide.jumpgate_not_defined=Destination jumpgate '%1$s' is unknown. Check jumpgate name.
|
||||
warpdrive.ship.guide.jumpgate_blocked=Destination gate is blocked by obstacles. Aborting...
|
||||
warpdrive.ship.guide.target_outside_planet_border=Target ship position is outside planet border, unable to jump!\nWorld borders are (%1$d %2$d %3$d) to (%4$d %5$d %6$d).
|
||||
warpdrive.ship.guide.too_large_side_for_tier=Ship is too large, max is %1$d per side.\nUpgrade ship core or reduce span.
|
||||
warpdrive.ship.guide.too_much_mass_for_planet=Ship is too big for a planet.\nReduce your mass below %1$d blocks.
|
||||
warpdrive.ship.guide.insufficient_mass_for_tier=Ship is too small, min is %1$d block.\nDowngrade ship core or increase mass.
|
||||
warpdrive.ship.guide.too_much_mass_for_tier=Ship is too big, max is %1$d blocks.\nUpgrade ship core or reduce your mass.
|
||||
warpdrive.ship.guide.insufficient_mass_for_hyperspace=Ship is too small to engage Alcubierre drive.\nIncrease your mass to %2$d.
|
||||
warpdrive.ship.guide.jumpgate_is_too_far=Ship is not inside a jumpgate.
|
||||
warpdrive.ship.guide.jumpgate_partially_entered=Ship is only %.1f%% inside a jumpgate.\nSorry, we'll loose too much crew as is.
|
||||
warpdrive.ship.guide.jumpgate_not_defined=Destination jumpgate '%1$s' is unknown.
|
||||
warpdrive.ship.guide.jumpgate_blocked=Destination gate is blocked by obstacles.
|
||||
warpdrive.ship.guide.target_outside_planet_border=Target position is outside planet border!\nWorld borders are (%1$d %2$d %3$d) to (%4$d %5$d %6$d).
|
||||
warpdrive.ship.guide.invalid_y_coordinates=Invalid Y coordinate(s), check ship dimensions...
|
||||
warpdrive.ship.guide.invalid_state=Invalid state, aborting jump...
|
||||
warpdrive.ship.guide.overlapping_source_and_target=Jump aborted. Increase jump distance to continue.
|
||||
warpdrive.ship.guide.not_enough_space_after_adjustment=\nNot enough space after adjustment, jump aborted!
|
||||
warpdrive.ship.guide.overlapping_source_and_target=Target is too close. Increase jump distance to continue.
|
||||
warpdrive.ship.guide.not_enough_space_after_adjustment=Not enough space after adjustment.
|
||||
warpdrive.ship.guide.entering_hyperspace=Entering hyperspace...
|
||||
warpdrive.ship.guide.leaving_hyperspace=Leaving hyperspace...
|
||||
warpdrive.ship.guide.engaging_jumpgate_x=Engaging jumpgate towards %1$s!
|
||||
|
@ -855,36 +857,32 @@ warpdrive.ship.guide.jumping_xyz=Jumping of %1$d blocks (XYZ %2$d %3$d %4$d)
|
|||
warpdrive.ship.guide.turning_right=Turning to the right
|
||||
warpdrive.ship.guide.turning_back=Turning back
|
||||
warpdrive.ship.guide.turning_left=Turning to the left
|
||||
warpdrive.ship.guide.anchor_block_detected=Jump aborted by on-board anchor block %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_entity_detected=Anchor entity %1$s detected at (%2$d %3$d %4$d), aborting jump...
|
||||
warpdrive.ship.guide.block_not_ready_for_jump=Jump aborted by on-board block %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_block_detected=On-board anchor block %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_entity_detected=Anchor entity %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.block_not_ready_for_jump=On-board block %1$s at (%2$d %3$d %4$d) is not ready.
|
||||
warpdrive.ship.guide.ship_snagged1=Ship snagged by %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.ship_snagged2=Sneak right click the ship core to see your ship dimensions, then update your ship dimensions.
|
||||
warpdrive.ship.guide.corrupted_block=Exception while saving ship, probably a corrupted block %1$s.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_source_world=Chunkloading rejected in source world %1$s. Aborting.
|
||||
warpdrive.ship.guide.too_many_source_chunks_to_load=Ship is extending over %1$d chunks in source world.
|
||||
warpdrive.ship.guide.max_chunkloading=Max is currently set to %2$d in config/forgeChunkLoading.cfg. Aborting.\nClose the game, change your config/forgeChunkLoading.cfg configuration and try again.
|
||||
warpdrive.ship.guide.save_exception=Exception while saving ship block %1$s.\nCheck console for details.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_source_world=Chunkloading rejected in source world %1$s.
|
||||
warpdrive.ship.guide.too_many_chunks_to_load=Ship extends over %1$d chunks.\nMax is set to %2$d in config/forgeChunkLoading.cfg.
|
||||
warpdrive.ship.guide.max_chunkloading=Close the game, update config/forgeChunkLoading.cfg, then try again.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_target_world=Chunkloading rejected in target world %s. Aborting.
|
||||
warpdrive.ship.guide.too_many_target_chunks_to_load=Ship is extending over %1$d chunks in target world.
|
||||
warpdrive.ship.guide.no_celestial_object_in_hyperspace=No star system exists in %1$s (%2$d), there's nowhere to exit hyperspace!
|
||||
warpdrive.ship.guide.no_star_system_in_hyperspace=Ship is outside any star system, unable to exit hyperspace!\nClosest start system is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_load_space_dimension=Unable to load Space dimension %1$d, aborting jump.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_from_planet=Unable to reach hyperspace from a planet!
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_no_parent=Unable to reach hyperspace!\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_load_hyperspace_dimension=Unable to load Hyperspace dimension %1$d, aborting jump.
|
||||
warpdrive.ship.guide.unable_to_reach_space_no_parent=There's no parent defined for %1$s (%2$d), unable to reach space!
|
||||
warpdrive.ship.guide.unable_to_reach_space_outside_border=Ship is outside planet border, unable to reach space!\nClosest transition area is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.no_celestial_object_in_space=No planet exists in %1$s (%2$d), there's nowhere to land!
|
||||
warpdrive.ship.guide.unable_to_land_outside_orbit=We're not in orbit of planet, unable to land!\nClosest planet is %1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_land_virtual_planet=Sorry, we can't go to %1$s. This is a virtual celestial object. It's either a decorative planet or a server misconfiguration.
|
||||
warpdrive.ship.guide.unable_to_land_invalid_id=Sorry, we can't land on %1$s because dimension %2$d isn't defined. It might be a missing mod or a server misconfiguration.
|
||||
warpdrive.ship.guide.ship_collision=Ship collision detected around (%1$d %2$d %3$d). Damage report pending...
|
||||
warpdrive.ship.guide.impassable_block_detected=Impassable %1$s detected at destination (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.no_star_system_in_range=Ship won't survive in deep space.\nClosest star system is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.exception_loading_dimension=Unable to load dimension %1$d.\nCheck console for a missing mod or configuration.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_from_planet=Unable to engage Alcubierre drive on a planet.\nGet into orbit, then try again.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_no_parent=Current location has no hyperspace connection.\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_reach_space_no_parent=Current location as no space connection.\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_reach_space_outside_border=Ship is outside planet border.\nClosest transition area is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.no_celestial_object_in_space=There's nowhere to land.\nNo planet exists in %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_land_outside_orbit=Ship isn't orbiting of planet, unable to land!\nClosest planet is %1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_land_virtual_planet=Celestial object %1$s is out of reach.\nIt's either a decorative planet or a server misconfiguration.
|
||||
warpdrive.ship.guide.ship_collision=Collision detected around (%1$d %2$d %3$d).\nSend a maintenance team to check for damages!
|
||||
warpdrive.ship.guide.impassable_block_detected=Impassable %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.obstacle_block_detected=Obstacle %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.entering_protected_area=Ship is entering a protected area at (%1$d %2$d %3$d).
|
||||
warpdrive.ship.guide.entering_protected_area=Entering protected area at (%1$d %2$d %3$d).
|
||||
warpdrive.ship.guide.moving_too_high=Ship core is moving too high.
|
||||
warpdrive.ship.guide.moving_too_low=Ship core is moving too low.
|
||||
warpdrive.ship.guide.jump_aborted=Jump aborted!
|
||||
warpdrive.ship.guide.jump_done=Jump done
|
||||
warpdrive.ship.guide.schematic_not_found=Schematic not found or unknown error reading it: '%1$s'.
|
||||
warpdrive.ship.guide.schematic_invalid_format=Invalid schematic format: %1$s
|
||||
|
@ -895,14 +893,14 @@ warpdrive.ship.status_line.isolation=%1$d aktive Isolations Blöcke bieten %2$s%
|
|||
warpdrive.teleportation.guide.no_safe_spot=No safe spot found to summon player %1$s
|
||||
|
||||
warpdrive.transporter.status_line.from_to=Von (%1$.0f %2$.0f %3$.0f) zu (%4$.0f %5$.0f %6$.0f)
|
||||
warpdrive.transporter_signature.status_line.invalid=§cNo transporter room linked
|
||||
warpdrive.transporter_signature.status_line.invalid=No transporter room linked
|
||||
warpdrive.transporter_signature.status_line.valid=Linked to transporter room %1$s\n§8%2$s
|
||||
warpdrive.transporter_signature.get_missing=§cTransporter room has no signature yet!
|
||||
warpdrive.transporter_signature.get_same=§cTransporter beacon is already linked to %1$s.
|
||||
warpdrive.transporter_signature.get_missing=Transporter room has no signature yet!
|
||||
warpdrive.transporter_signature.get_same=Transporter beacon is already linked to %1$s.
|
||||
warpdrive.transporter_signature.get=Transporter beacon is now linked to %1$s.
|
||||
warpdrive.transporter_signature.set_missing=§cTransporter beacon needs to be linked first!
|
||||
warpdrive.transporter_signature.set_self=§cTransporter room can't target itself!
|
||||
warpdrive.transporter_signature.set_same=§cTransporter room is already linked to %1$s.
|
||||
warpdrive.transporter_signature.set_missing=Transporter beacon needs to be linked first!
|
||||
warpdrive.transporter_signature.set_self=Transporter room can't target itself!
|
||||
warpdrive.transporter_signature.set_same=Transporter room is already linked to %1$s.
|
||||
warpdrive.transporter_signature.set=Transporter room is now linked to %1$s.
|
||||
|
||||
warpdrive.world_border.in_range=Proximity alert: world border is only %1$d m away!
|
||||
|
|
|
@ -230,6 +230,7 @@ tile.warpdrive.machines.laser.name=Laser
|
|||
tile.warpdrive.machines.laser_medium.basic.name=Basic Laser Medium
|
||||
tile.warpdrive.machines.laser_medium.advanced.name=Advanced Laser Medium
|
||||
tile.warpdrive.machines.laser_medium.superior.name=Superior Laser Medium
|
||||
|
||||
tile.warpdrive.machines.security_station.name=Security Station
|
||||
|
||||
tile.warpdrive.atomic.accelerator_controller.name=Accelerator Controller
|
||||
|
@ -614,7 +615,7 @@ tile.warpdrive.hull.superior.stairs.black.name=Black Stained Superior Hull Stair
|
|||
|
||||
|
||||
warpdrive.guide.prefix=%1$s:
|
||||
warpdrive.error.bad_tile_entity=§cThis block needs an update by breaking and placing it.
|
||||
warpdrive.error.bad_tile_entity=This block needs an update by breaking and placing it.
|
||||
warpdrive.error.internal_check_console=Internal error, check console for details
|
||||
|
||||
warpdrive.command.invalid_parameter=Invalid parameter %1$s
|
||||
|
@ -648,15 +649,15 @@ warpdrive.beam_frequency.tooltip=Beam frequency is set to %1$d
|
|||
warpdrive.beam_frequency.get=Beam frequency %2$d has been retrieved from %1$s.
|
||||
warpdrive.beam_frequency.set=%1$s is now aligned with Beam frequency %2$d.
|
||||
warpdrive.beam_frequency.status_line.valid=Beam frequency %1$d is valid.
|
||||
warpdrive.beam_frequency.status_line.invalid=§cBeam frequency %1$d is invalid.
|
||||
warpdrive.beam_frequency.status_line.undefined=§7Undefined beam frequency.\n§bUse a Tuning fork§r to set it.
|
||||
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.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=§cControl channel %1$d is invalid.
|
||||
warpdrive.control_channel.status_line.undefined=§7Undefined Control channel.\n§bUse a Tuning fork§r to set it.
|
||||
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.
|
||||
|
||||
warpdrive.is_enabled.set.enabled=Switched ON!
|
||||
warpdrive.is_enabled.set.disabled=Switched off!
|
||||
|
@ -665,20 +666,20 @@ warpdrive.tooltip.item_tag.breathing_helmet=§bSpace breathing§r consuming Air
|
|||
warpdrive.tooltip.item_tag.fly_in_space=§bSpace compatible jetpack§r.
|
||||
warpdrive.tooltip.item_tag.no_fall_damage=§bAbsorbs fall damage§r.
|
||||
|
||||
warpdrive.upgrade.result.no_upgrade_to_dismount=§cNo upgrade to dismount.
|
||||
warpdrive.upgrade.result.not_enough_upgrades=§cYou need at least 1 item to upgrade this block.
|
||||
warpdrive.upgrade.result.invalid_upgrade=§cThis is not a valid item to upgrade this block.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_projector=§cThis upgrade is too big for a projector, use a relay instead.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_relay=§cThis upgrade only applies to projectors.
|
||||
warpdrive.upgrade.result.no_upgrade_to_dismount=No upgrade to dismount.
|
||||
warpdrive.upgrade.result.not_enough_upgrades=You need at least 1 item to upgrade this block.
|
||||
warpdrive.upgrade.result.invalid_upgrade=This is not a valid item to upgrade this block.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_projector=This upgrade is too big for a projector, use a relay instead.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_relay=This upgrade only applies to projectors.
|
||||
warpdrive.upgrade.result.valid_upgrades=Valid upgrades for this block include: %1$s. @TODO not implemented yet
|
||||
warpdrive.upgrade.result.too_many_upgrades=§cThere's already %1$d upgrades installed.
|
||||
warpdrive.upgrade.result.too_many_upgrades=There's already %1$d upgrades installed.
|
||||
warpdrive.upgrade.result.dismounted=Upgrade %1$s was dismounted successfully.
|
||||
warpdrive.upgrade.result.mounted=Upgrade %1$s was mounted successfully.
|
||||
|
||||
warpdrive.upgrade.result.wrong_shape_side=§cThere's no Electromagnetic projector on this side.
|
||||
warpdrive.upgrade.result.no_shape_to_dismount=§cNo shape to dismount.
|
||||
warpdrive.upgrade.result.not_enough_shapes.double=§cYou need at least 2 items to set the shape of a double sided projector.
|
||||
warpdrive.upgrade.result.not_enough_shapes.single=§cYou need at least 1 item to set the shape of a single sided projector.
|
||||
warpdrive.upgrade.result.wrong_shape_side=There's no Electromagnetic projector on this side.
|
||||
warpdrive.upgrade.result.no_shape_to_dismount=No shape to dismount.
|
||||
warpdrive.upgrade.result.not_enough_shapes.double=You need at least 2 items to set the shape of a double sided projector.
|
||||
warpdrive.upgrade.result.not_enough_shapes.single=You need at least 1 item to set the shape of a single sided projector.
|
||||
warpdrive.upgrade.result.shape_dismounted=Shape dismounted successfully.
|
||||
warpdrive.upgrade.result.shape_mounted=Shape mounted successfully.
|
||||
|
||||
|
@ -690,9 +691,9 @@ 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=§cVideo channel %1$d is invalid.
|
||||
warpdrive.video_channel.status_line.not_loaded=§cVideo channel %1$d is invalid or camera is too far away!
|
||||
warpdrive.video_channel.status_line.undefined=§7Undefined Video channel.\n§bUse a Tuning fork§r to set it.
|
||||
warpdrive.video_channel.status_line.invalid=Video channel %1$d is invalid.
|
||||
warpdrive.video_channel.status_line.not_loaded=Video channel %1$d is invalid or camera is too far away!
|
||||
warpdrive.video_channel.status_line.undefined=Undefined Video channel.\n§bUse a Tuning fork§r to set it.
|
||||
|
||||
|
||||
warpdrive.accelerator.guide.low_power.not_enough_storage=Energy storage is too low; we need at least %1$d to continue operation but can only store %2$d
|
||||
|
@ -731,7 +732,7 @@ warpdrive.cloaking_core.missing_channeling_coils=Integrity down to %1$d%%: missi
|
|||
warpdrive.cloaking_core.missing_projecting_coils=Integrity down to %1$d%%: missing projecting coil(s) towards %2$s
|
||||
warpdrive.cloaking_core.valid=System is valid
|
||||
warpdrive.cloaking_core.disabled=Cloak is disabled
|
||||
warpdrive.cloaking_core.low_power=§cCloak is down, we need more power Captain!
|
||||
warpdrive.cloaking_core.low_power=Cloak is down, we need more power Captain!
|
||||
warpdrive.cloaking_core.cloaking=A tier %1$d cloak is currently covering %2$d blocks!
|
||||
|
||||
warpdrive.compat.guide.block_detected_on_board=%1$s detected on board!
|
||||
|
@ -748,7 +749,7 @@ warpdrive.energy.side.changed_to_disabled=%1$s side changed to Disabled mode!
|
|||
|
||||
warpdrive.force_field.guide.low_power=We're running out of power captain, reduce our consumption or get that scottish engineer to boost our power!
|
||||
|
||||
warpdrive.force_field.shape.status_line.none=§cShape isn't defined.
|
||||
warpdrive.force_field.shape.status_line.none=Shape isn't defined.
|
||||
warpdrive.force_field.shape.status_line.double=Shape is a full %1$s
|
||||
warpdrive.force_field.shape.status_line.single=Shape is an half %1$s
|
||||
warpdrive.force_field.shape.status_line.sphere=sphere
|
||||
|
@ -823,27 +824,29 @@ warpdrive.security_station.guide.registered_players=Attached players: %1$s
|
|||
warpdrive.security_station.guide.player_registered=You're now registered on this security station.\nRegistered players are %1$s
|
||||
warpdrive.security_station.guide.player_unregistered=You've been unregistered from this security station.\nAttached players are %1$s
|
||||
|
||||
# Note for translators: you want to keep each line shorter than 50 characters so that it fits on computer screens.
|
||||
warpdrive.ship.guide.cooling_countdown=Ship core is cooling down... %1$d s to go...
|
||||
warpdrive.ship.guide.pre_jumping=Running pre-jump checklist...
|
||||
warpdrive.ship.guide.warming_up=Ship core is warming up... %1$d s to go...
|
||||
warpdrive.ship.guide.insufficient_energy=Jump aborted! Insufficient energy in core.
|
||||
warpdrive.ship.guide.warp_field_overlapping=Jump aborted! Own warp field contains another ship. Disable other core to continue.
|
||||
warpdrive.ship.guide.cloaking_field_overlapping=Jump aborted! Core is cloaked, disable cloak to continue!
|
||||
warpdrive.ship.guide.movement_aborted=Movement aborted!
|
||||
warpdrive.ship.guide.insufficient_energy=Insufficient energy in core.
|
||||
warpdrive.ship.guide.warp_field_overlapping=Own warp field contains another ship.\nDisable other core to continue.
|
||||
warpdrive.ship.guide.cloaking_field_overlapping=Core is cloaked.\nDisable cloak to continue.
|
||||
warpdrive.ship.guide.pre_jump_success=Ok
|
||||
warpdrive.ship.guide.too_large_side_for_tier=Error: ship is too large (max is %1$d per side)\nUpgrade ship core or reduce span!
|
||||
warpdrive.ship.guide.too_much_mass_for_planet=Ship is too big for a planet (max is %1$d blocks while ship mass is %2$d blocks).\nReduce your mass!
|
||||
warpdrive.ship.guide.insufficient_mass_for_tier=Ship is too small for its category (%2$d < %1$d).\nDowngrade your ship core or increase your mass!
|
||||
warpdrive.ship.guide.too_much_mass_for_tier=Ship is too big for its category (%2$d > %1$d).\nUpgrade your ship core or reduce your mass!
|
||||
warpdrive.ship.guide.insufficient_mass_for_hyperspace=Ship is too small to engage Alcubierre drive (%1$d/%2$d).\nIncrease your mass to reach hyperspace.
|
||||
warpdrive.ship.guide.jumpgate_is_too_far=Ship is not inside a jumpgate. Jump rejected.
|
||||
warpdrive.ship.guide.jumpgate_partially_entered=Ship is only %.1f%% inside a jumpgate. Sorry, we'll loose too much crew as is, jump rejected.
|
||||
warpdrive.ship.guide.jumpgate_not_defined=Destination jumpgate '%1$s' is unknown. Check jumpgate name.
|
||||
warpdrive.ship.guide.jumpgate_blocked=Destination gate is blocked by obstacles. Aborting...
|
||||
warpdrive.ship.guide.target_outside_planet_border=Target ship position is outside planet border, unable to jump!\nWorld borders are (%1$d %2$d %3$d) to (%4$d %5$d %6$d).
|
||||
warpdrive.ship.guide.too_large_side_for_tier=Ship is too large, max is %1$d per side.\nUpgrade ship core or reduce span.
|
||||
warpdrive.ship.guide.too_much_mass_for_planet=Ship is too big for a planet.\nReduce your mass below %1$d blocks.
|
||||
warpdrive.ship.guide.insufficient_mass_for_tier=Ship is too small, min is %1$d block.\nDowngrade ship core or increase mass.
|
||||
warpdrive.ship.guide.too_much_mass_for_tier=Ship is too big, max is %1$d blocks.\nUpgrade ship core or reduce your mass.
|
||||
warpdrive.ship.guide.insufficient_mass_for_hyperspace=Ship is too small to engage Alcubierre drive.\nIncrease your mass to %2$d.
|
||||
warpdrive.ship.guide.jumpgate_is_too_far=Ship is not inside a jumpgate.
|
||||
warpdrive.ship.guide.jumpgate_partially_entered=Ship is only %.1f%% inside a jumpgate.\nSorry, we'll loose too much crew as is.
|
||||
warpdrive.ship.guide.jumpgate_not_defined=Destination jumpgate '%1$s' is unknown.
|
||||
warpdrive.ship.guide.jumpgate_blocked=Destination gate is blocked by obstacles.
|
||||
warpdrive.ship.guide.target_outside_planet_border=Target position is outside planet border!\nWorld borders are (%1$d %2$d %3$d) to (%4$d %5$d %6$d).
|
||||
warpdrive.ship.guide.invalid_y_coordinates=Invalid Y coordinate(s), check ship dimensions...
|
||||
warpdrive.ship.guide.invalid_state=Invalid state, aborting jump...
|
||||
warpdrive.ship.guide.overlapping_source_and_target=Jump aborted. Increase jump distance to continue.
|
||||
warpdrive.ship.guide.not_enough_space_after_adjustment=\nNot enough space after adjustment, jump aborted!
|
||||
warpdrive.ship.guide.overlapping_source_and_target=Target is too close. Increase jump distance to continue.
|
||||
warpdrive.ship.guide.not_enough_space_after_adjustment=Not enough space after adjustment.
|
||||
warpdrive.ship.guide.entering_hyperspace=Entering hyperspace...
|
||||
warpdrive.ship.guide.leaving_hyperspace=Leaving hyperspace...
|
||||
warpdrive.ship.guide.engaging_jumpgate_x=Engaging jumpgate towards %1$s!
|
||||
|
@ -851,38 +854,34 @@ warpdrive.ship.guide.jumping_xyz=Jumping of %1$d blocks (XYZ %2$d %3$d %4$d)
|
|||
warpdrive.ship.guide.turning_right=Turning to the right
|
||||
warpdrive.ship.guide.turning_back=Turning back
|
||||
warpdrive.ship.guide.turning_left=Turning to the left
|
||||
warpdrive.ship.guide.anchor_block_detected=Jump aborted by on-board anchor block %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_entity_detected=Anchor entity %1$s detected at (%2$d %3$d %4$d), aborting jump...
|
||||
warpdrive.ship.guide.block_not_ready_for_jump=Jump aborted by on-board block %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_block_detected=On-board anchor block %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_entity_detected=Anchor entity %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.block_not_ready_for_jump=On-board block %1$s at (%2$d %3$d %4$d) is not ready.
|
||||
warpdrive.ship.guide.ship_snagged1=Ship snagged by %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.ship_snagged2=Sneak right click the ship core to see your ship dimensions, then update your ship dimensions.
|
||||
warpdrive.ship.guide.corrupted_block=Exception while saving ship, probably a corrupted block %1$s.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_source_world=Chunkloading rejected in source world %1$s. Aborting.
|
||||
warpdrive.ship.guide.too_many_source_chunks_to_load=Ship is extending over %1$d chunks in source world.
|
||||
warpdrive.ship.guide.max_chunkloading=Max is currently set to %2$d in config/forgeChunkLoading.cfg. Aborting.\nClose the game, change your config/forgeChunkLoading.cfg configuration and try again.
|
||||
warpdrive.ship.guide.save_exception=Exception while saving ship block %1$s.\nCheck console for details.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_source_world=Chunkloading rejected in source world %1$s.
|
||||
warpdrive.ship.guide.too_many_chunks_to_load=Ship extends over %1$d chunks.\nMax is set to %2$d in config/forgeChunkLoading.cfg.
|
||||
warpdrive.ship.guide.max_chunkloading=Close the game, update config/forgeChunkLoading.cfg, then try again.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_target_world=Chunkloading rejected in target world %s. Aborting.
|
||||
warpdrive.ship.guide.too_many_target_chunks_to_load=Ship is extending over %1$d chunks in target world.
|
||||
warpdrive.ship.guide.no_celestial_object_in_hyperspace=No star system exists in %1$s (%2$d), there's nowhere to exit hyperspace!
|
||||
warpdrive.ship.guide.no_star_system_in_hyperspace=Ship is outside any star system, unable to exit hyperspace!\nClosest start system is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_load_space_dimension=Unable to load Space dimension %1$d, aborting jump.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_from_planet=Unable to reach hyperspace from a planet!
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_no_parent=Unable to reach hyperspace!\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_load_hyperspace_dimension=Unable to load Hyperspace dimension %1$d, aborting jump.
|
||||
warpdrive.ship.guide.unable_to_reach_space_no_parent=There's no parent defined for %1$s (%2$d), unable to reach space!
|
||||
warpdrive.ship.guide.unable_to_reach_space_outside_border=Ship is outside planet border, unable to reach space!\nClosest transition area is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.no_celestial_object_in_space=No planet exists in %1$s (%2$d), there's nowhere to land!
|
||||
warpdrive.ship.guide.unable_to_land_outside_orbit=We're not in orbit of planet, unable to land!\nClosest planet is %1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_land_virtual_planet=Sorry, we can't go to %1$s. This is a virtual celestial object. It's either a decorative planet or a server misconfiguration.
|
||||
warpdrive.ship.guide.unable_to_land_invalid_id=Sorry, we can't land on %1$s because dimension %2$d isn't defined. It might be a missing mod or a server misconfiguration.
|
||||
warpdrive.ship.guide.ship_collision=Ship collision detected around (%1$d %2$d %3$d). Damage report pending...
|
||||
warpdrive.ship.guide.impassable_block_detected=Impassable %1$s detected at destination (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.no_star_system_in_range=Ship won't survive in deep space.\nClosest star system is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.exception_loading_dimension=Unable to load dimension %1$d.\nCheck console for a missing mod or configuration.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_from_planet=Unable to engage Alcubierre drive on a planet.\nGet into orbit, then try again.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_no_parent=Current location has no hyperspace connection.\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_reach_space_no_parent=Current location as no space connection.\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_reach_space_outside_border=Ship is outside planet border.\nClosest transition area is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.no_celestial_object_in_space=There's nowhere to land.\nNo planet exists in %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_land_outside_orbit=Ship isn't orbiting of planet, unable to land!\nClosest planet is %1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_land_virtual_planet=Celestial object %1$s is out of reach.\nIt's either a decorative planet or a server misconfiguration.
|
||||
warpdrive.ship.guide.ship_collision=Collision detected around (%1$d %2$d %3$d).\nSend a maintenance team to check for damages!
|
||||
warpdrive.ship.guide.impassable_block_detected=Impassable %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.obstacle_block_detected=Obstacle %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.entering_protected_area=Ship is entering a protected area at (%1$d %2$d %3$d).
|
||||
warpdrive.ship.guide.entering_protected_area=Entering protected area at (%1$d %2$d %3$d).
|
||||
warpdrive.ship.guide.moving_too_high=Ship core is moving too high.
|
||||
warpdrive.ship.guide.moving_too_low=Ship core is moving too low.
|
||||
warpdrive.ship.guide.jump_aborted=Jump aborted!
|
||||
warpdrive.ship.guide.jump_done=Jump done
|
||||
warpdrive.ship.guide.schematic_not_found=Schematic not found or unknown error reading it: '%1$s'.
|
||||
warpdrive.ship.guide.schematic_not_found=Schematic not found or unknown error reading '%1$s'.
|
||||
warpdrive.ship.guide.schematic_invalid_format=Invalid schematic format: %1$s
|
||||
|
||||
warpdrive.ship.status_line.cooling=%1$d s left of cooldown.
|
||||
|
@ -891,14 +890,14 @@ warpdrive.ship.status_line.isolation=%1$d active isolation blocks providing %2$s
|
|||
warpdrive.teleportation.guide.no_safe_spot=No safe spot found to summon player %1$s
|
||||
|
||||
warpdrive.transporter.status_line.from_to=From (%1$.0f %2$.0f %3$.0f) to (%4$.0f %5$.0f %6$.0f)
|
||||
warpdrive.transporter_signature.status_line.invalid=§cNo transporter room linked
|
||||
warpdrive.transporter_signature.status_line.invalid=No transporter room linked
|
||||
warpdrive.transporter_signature.status_line.valid=Linked to transporter room %1$s\n§8%2$s
|
||||
warpdrive.transporter_signature.get_missing=§cTransporter room has no signature yet!
|
||||
warpdrive.transporter_signature.get_same=§cTransporter beacon is already linked to %1$s.
|
||||
warpdrive.transporter_signature.get_missing=Transporter room has no signature yet!
|
||||
warpdrive.transporter_signature.get_same=Transporter beacon is already linked to %1$s.
|
||||
warpdrive.transporter_signature.get=Transporter beacon is now linked to %1$s.
|
||||
warpdrive.transporter_signature.set_missing=§cTransporter beacon needs to be linked first!
|
||||
warpdrive.transporter_signature.set_self=§cTransporter room can't target itself!
|
||||
warpdrive.transporter_signature.set_same=§cTransporter room is already linked to %1$s.
|
||||
warpdrive.transporter_signature.set_missing=Transporter beacon needs to be linked first!
|
||||
warpdrive.transporter_signature.set_self=Transporter room can't target itself!
|
||||
warpdrive.transporter_signature.set_same=Transporter room is already linked to %1$s.
|
||||
warpdrive.transporter_signature.set=Transporter room is now linked to %1$s.
|
||||
|
||||
warpdrive.world_border.in_range=Proximity alert: world border is only %1$d m away!
|
||||
|
|
|
@ -616,7 +616,7 @@ tile.warpdrive.hull.superior.stairs.black.name=Escalier de coque supérieure noi
|
|||
|
||||
|
||||
warpdrive.guide.prefix=%1$s:
|
||||
warpdrive.error.bad_tile_entity=§cCe bloc requiers une mise à jour par dépose puis repose.
|
||||
warpdrive.error.bad_tile_entity=Ce bloc requiers une mise à jour par dépose puis repose.
|
||||
warpdrive.error.internal_check_console=Internal error, check console for details
|
||||
|
||||
warpdrive.command.invalid_parameter=Invalid parameter %1$s
|
||||
|
@ -650,15 +650,15 @@ warpdrive.beam_frequency.tooltip=Fréquence de faisceau ajustée à %1$d
|
|||
warpdrive.beam_frequency.get=Beam frequency %2$d has been retrieved from %1$s
|
||||
warpdrive.beam_frequency.set=%1$s est désormais accordé à la Fréquence de faisceau %2$d
|
||||
warpdrive.beam_frequency.status_line.valid=La fréquence de faisceau %1$d est valide.
|
||||
warpdrive.beam_frequency.status_line.invalid=§cLa fréquence de faisceau %1$d est invalide.
|
||||
warpdrive.beam_frequency.status_line.undefined=§7La fréquence de faisceau est non définie.\n§bUtilises un Diapason§f pour l'ajuster.
|
||||
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.status_line.valid=Le canal de contrôle %1$d est valide.
|
||||
warpdrive.control_channel.status_line.invalid=§cLe canal de contrôle %1$d est invalide.
|
||||
warpdrive.control_channel.status_line.undefined=§7Le canal de contrôle est non défini.\n§bUtilises un Diapason§r pour l'ajuster.
|
||||
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.
|
||||
|
||||
warpdrive.is_enabled.set.enabled=Switched ON!
|
||||
warpdrive.is_enabled.set.disabled=Switched off!
|
||||
|
@ -667,20 +667,20 @@ warpdrive.tooltip.item_tag.breathing_helmet=Permet de §brespirer dans le vide§
|
|||
warpdrive.tooltip.item_tag.fly_in_space=Jetpack compatible avec une utilisation §bspatiale§r.
|
||||
warpdrive.tooltip.item_tag.no_fall_damage=§bAbsorbe les damages de chute§r.
|
||||
|
||||
warpdrive.upgrade.result.no_upgrade_to_dismount=§cAucune amélioration à démonter.
|
||||
warpdrive.upgrade.result.not_enough_upgrades=§cIl faut au moins 1 object pour améliorer ce bloc.
|
||||
warpdrive.upgrade.result.invalid_upgrade=§cThis is not a valid item to upgrade this block.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_projector=§cCette amélioration est trop grosse pour un projecteur, utilises un relais à la place.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_relay=§cCette amélioration s'applique uniquement sur un projecteur.
|
||||
warpdrive.upgrade.result.no_upgrade_to_dismount=Aucune amélioration à démonter.
|
||||
warpdrive.upgrade.result.not_enough_upgrades=Il faut au moins 1 object pour améliorer ce bloc.
|
||||
warpdrive.upgrade.result.invalid_upgrade=This is not a valid item to upgrade this block.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_projector=Cette amélioration est trop grosse pour un projecteur, utilises un relais à la place.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_relay=Cette amélioration s'applique uniquement sur un projecteur.
|
||||
warpdrive.upgrade.result.valid_upgrades=Valid upgrades for this block include: %1$s. @TODO not implemented yet
|
||||
warpdrive.upgrade.result.too_many_upgrades=§cCette amélioration est déjà montée %1$s fois sur ce bloc, utilises un relais à la place.
|
||||
warpdrive.upgrade.result.too_many_upgrades=Cette amélioration est déjà montée %1$s fois sur ce bloc, utilises un relais à la place.
|
||||
warpdrive.upgrade.result.dismounted=Amélioration %1$s démontée correctement.
|
||||
warpdrive.upgrade.result.mounted=Amélioration %1$s montée correctement.
|
||||
|
||||
warpdrive.upgrade.result.wrong_shape_side=§cIl n'y a pas de projecteur électromagnétique sur cette face.
|
||||
warpdrive.upgrade.result.no_shape_to_dismount=§cAucune forme à démonter.
|
||||
warpdrive.upgrade.result.not_enough_shapes.double=§cIl faut au moins 2 objets pour établir la forme d'un projecteur double face.
|
||||
warpdrive.upgrade.result.not_enough_shapes.single=§cIl faut au moins 1 object pour établir la forme d'un projecteur simple face.
|
||||
warpdrive.upgrade.result.wrong_shape_side=Il n'y a pas de projecteur électromagnétique sur cette face.
|
||||
warpdrive.upgrade.result.no_shape_to_dismount=Aucune forme à démonter.
|
||||
warpdrive.upgrade.result.not_enough_shapes.double=Il faut au moins 2 objets pour établir la forme d'un projecteur double face.
|
||||
warpdrive.upgrade.result.not_enough_shapes.single=Il faut au moins 1 object pour établir la forme d'un projecteur simple face.
|
||||
warpdrive.upgrade.result.shape_dismounted=Forme démontée correctement.
|
||||
warpdrive.upgrade.result.shape_mounted=Forme montée correctement.
|
||||
|
||||
|
@ -692,9 +692,9 @@ 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=§cLe canal vidéo %1$d est invalide.
|
||||
warpdrive.video_channel.status_line.not_loaded=§cLe canal vidéo %1$d est invalide ou la caméra est trop loin!
|
||||
warpdrive.video_channel.status_line.undefined=§7Le canal vidéo est non défini.\n§bUtilises un Diapason§r pour l'ajuster.
|
||||
warpdrive.video_channel.status_line.invalid=Le canal vidéo %1$d est invalide.
|
||||
warpdrive.video_channel.status_line.not_loaded=Le canal vidéo %1$d est invalide ou la caméra est trop loin!
|
||||
warpdrive.video_channel.status_line.undefined=Le canal vidéo est non défini.\n§bUtilises un Diapason§r pour l'ajuster.
|
||||
|
||||
|
||||
warpdrive.accelerator.guide.low_power.not_enough_storage=La capacité de stockage d'énergie est insuffisante; Nous avons besoin d'au moins %1$d pour continuer mais ne pouvons stocker que %2$d
|
||||
|
@ -728,12 +728,12 @@ warpdrive.builder.guide.ship_materialization_countdown=Stand by for ship materia
|
|||
warpdrive.builder.guide.ship_deployed=Ship deployed. Teleporting captain to the main deck
|
||||
warpdrive.builder.guide.welcome_aboard=Welcome aboard captain. Use the computer to get moving...
|
||||
|
||||
warpdrive.cloaking_core.missing_channeling_and_projecting_coils=§cIntegrité réduite à %1$d%%: bobine(s) de canalisation manquante(nt) en direction de %2$s, et bobine(s) de projection manquante(nt) en direction de %3$s
|
||||
warpdrive.cloaking_core.missing_channeling_coils=§cIntegrité réduite à %1$d%%: bobine(s) de canalisation manquante(nt) en direction de %2$s
|
||||
warpdrive.cloaking_core.missing_projecting_coils=§cIntegrité réduite à %1$d%%: bobine(s) de projection manquante(nt) en direction de %2$s
|
||||
warpdrive.cloaking_core.missing_channeling_and_projecting_coils=Integrité réduite à %1$d%%: bobine(s) de canalisation manquante(nt) en direction de %2$s, et bobine(s) de projection manquante(nt) en direction de %3$s
|
||||
warpdrive.cloaking_core.missing_channeling_coils=Integrité réduite à %1$d%%: bobine(s) de canalisation manquante(nt) en direction de %2$s
|
||||
warpdrive.cloaking_core.missing_projecting_coils=Integrité réduite à %1$d%%: bobine(s) de projection manquante(nt) en direction de %2$s
|
||||
warpdrive.cloaking_core.valid=Le système est valide
|
||||
warpdrive.cloaking_core.disabled=Le champ d'invisibilité est désactivé
|
||||
warpdrive.cloaking_core.low_power=§cLe champ d'invisibilité est en panne. Il nous faut plus d'énergie, Capitaine!
|
||||
warpdrive.cloaking_core.low_power=Le champ d'invisibilité est en panne. Il nous faut plus d'énergie, Capitaine!
|
||||
warpdrive.cloaking_core.cloaking=Un champ de niveau %1$d couvre actuellement %2$d blocs!
|
||||
|
||||
warpdrive.compat.guide.block_detected_on_board=%1$s detected on board!
|
||||
|
@ -750,7 +750,7 @@ warpdrive.energy.side.changed_to_disabled=Le coté %1$s side est en mode Inactif
|
|||
|
||||
warpdrive.force_field.guide.low_power=Nous sommes à court d'énergie Capitaine, réduissez la consommation ou appelez l'ingénieur écossais pour booster notre production!
|
||||
|
||||
warpdrive.force_field.shape.status_line.none=§cLa forme n'est pas définie.
|
||||
warpdrive.force_field.shape.status_line.none=La forme n'est pas définie.
|
||||
warpdrive.force_field.shape.status_line.double=La forme est %1$s plein(e)
|
||||
warpdrive.force_field.shape.status_line.single=La forme est %1$s coupé(e)
|
||||
warpdrive.force_field.shape.status_line.sphere=une sphère
|
||||
|
@ -825,27 +825,29 @@ warpdrive.security_station.guide.registered_players=Joueurs attachés: %1$s
|
|||
warpdrive.security_station.guide.player_registered=Tu es désormais attaché à cette station de sécurité.\nLes joueurs attachés sont %1$s
|
||||
warpdrive.security_station.guide.player_unregistered=Tu es désormais détaché de cette station de sécurité.\nLes joueurs attachés sont %1$s
|
||||
|
||||
warpdrive.ship.guide.cooling_countdown=Ship core is cooling down... %1$d s to go...
|
||||
warpdrive.ship.guide.pre_jumping=Running pre-jump checklist...
|
||||
warpdrive.ship.guide.warming_up=Ship core is warming up... %1$d s to go...
|
||||
warpdrive.ship.guide.insufficient_energy=Jump aborted! Insufficient energy in core.
|
||||
warpdrive.ship.guide.warp_field_overlapping=Jump aborted! Own warp field contains another ship. Disable other core to continue.
|
||||
warpdrive.ship.guide.cloaking_field_overlapping=Jump aborted! Core is cloaked, disable cloak to continue!
|
||||
# Note for translators: you want to keep each line shorter than 50 characters so that it fits on computer screens.
|
||||
warpdrive.ship.guide.cooling_countdown=Refroidissement en cours... Encore %1$d s...
|
||||
warpdrive.ship.guide.pre_jumping=Exécution des contrôles préalable au saut...
|
||||
warpdrive.ship.guide.warming_up=Echauffement du cœur de vaisseau... Encore %1$d s...
|
||||
warpdrive.ship.guide.movement_aborted=Mouvement avorté!
|
||||
warpdrive.ship.guide.insufficient_energy=Energie insuffisante dans le cœur.
|
||||
warpdrive.ship.guide.warp_field_overlapping=Notre champ de warp contient un autre vaisseau.\nDésactive l'autre cœur pour continuer.
|
||||
warpdrive.ship.guide.cloaking_field_overlapping=Le cœur est dans un champ d'invisiblité.\nDésactive l'invisibilité pour continuer.
|
||||
warpdrive.ship.guide.pre_jump_success=Ok
|
||||
warpdrive.ship.guide.too_large_side_for_tier=Error: ship is too large (max is %1$d per side)\nUpgrade ship core or reduce span!
|
||||
warpdrive.ship.guide.too_much_mass_for_planet=Ship is too big for a planet (max is %1$d blocks while ship mass is %2$d blocks).\nReduce your mass!
|
||||
warpdrive.ship.guide.insufficient_mass_for_tier=Ship is too small for its category (%2$d < %1$d).\nDowngrade your ship core or increase your mass!
|
||||
warpdrive.ship.guide.too_much_mass_for_tier=Ship is too big for its category (%2$d > %1$d).\nUpgrade your ship core or reduce your mass!
|
||||
warpdrive.ship.guide.insufficient_mass_for_hyperspace=Ship is too small to engage Alcubierre drive (%1$d/%2$d).\nIncrease your mass to reach hyperspace.
|
||||
warpdrive.ship.guide.jumpgate_is_too_far=Ship is not inside a jumpgate. Jump rejected.
|
||||
warpdrive.ship.guide.jumpgate_partially_entered=Ship is only %.1f%% inside a jumpgate. Sorry, we'll loose too much crew as is, jump rejected.
|
||||
warpdrive.ship.guide.jumpgate_not_defined=Destination jumpgate '%1$s' is unknown. Check jumpgate name.
|
||||
warpdrive.ship.guide.jumpgate_blocked=Destination gate is blocked by obstacles. Aborting...
|
||||
warpdrive.ship.guide.target_outside_planet_border=Target ship position is outside planet border, unable to jump!\nWorld borders are (%1$d %2$d %3$d) to (%4$d %5$d %6$d).
|
||||
warpdrive.ship.guide.too_large_side_for_tier=Vaisseau trop grand, le max est %1$d par côté.\nAméliorer le cœur de vaisseau ou réduit la masse.
|
||||
warpdrive.ship.guide.too_much_mass_for_planet=Vaisseau trop lourd pour une planète.\nRéduit la masse en-dessous de %1$d blocks.
|
||||
warpdrive.ship.guide.insufficient_mass_for_tier=Vaisseau trop léger, le min est %1$d blocks.\nDéclasse le cœur de vaisseau ou augmente la masse.
|
||||
warpdrive.ship.guide.too_much_mass_for_tier=Ship is too big, max is %1$d blocks.\nUpgrade ship core or reduce your mass.
|
||||
warpdrive.ship.guide.insufficient_mass_for_hyperspace=Ship is too small to engage Alcubierre drive.\nIncrease your mass to %2$d.
|
||||
warpdrive.ship.guide.jumpgate_is_too_far=Ship is not inside a jumpgate.
|
||||
warpdrive.ship.guide.jumpgate_partially_entered=Ship is only %.1f%% inside a jumpgate.\nSorry, we'll loose too much crew as is.
|
||||
warpdrive.ship.guide.jumpgate_not_defined=Destination jumpgate '%1$s' is unknown.
|
||||
warpdrive.ship.guide.jumpgate_blocked=Destination gate is blocked by obstacles.
|
||||
warpdrive.ship.guide.target_outside_planet_border=Target position is outside planet border!\nWorld borders are (%1$d %2$d %3$d) to (%4$d %5$d %6$d).
|
||||
warpdrive.ship.guide.invalid_y_coordinates=Invalid Y coordinate(s), check ship dimensions...
|
||||
warpdrive.ship.guide.invalid_state=Invalid state, aborting jump...
|
||||
warpdrive.ship.guide.overlapping_source_and_target=Jump aborted. Increase jump distance to continue.
|
||||
warpdrive.ship.guide.not_enough_space_after_adjustment=\nNot enough space after adjustment, jump aborted!
|
||||
warpdrive.ship.guide.overlapping_source_and_target=Target is too close. Increase jump distance to continue.
|
||||
warpdrive.ship.guide.not_enough_space_after_adjustment=Not enough space after adjustment.
|
||||
warpdrive.ship.guide.entering_hyperspace=Entering hyperspace...
|
||||
warpdrive.ship.guide.leaving_hyperspace=Leaving hyperspace...
|
||||
warpdrive.ship.guide.engaging_jumpgate_x=Engaging jumpgate towards %1$s!
|
||||
|
@ -853,37 +855,33 @@ warpdrive.ship.guide.jumping_xyz=Jumping of %1$d blocks (XYZ %2$d %3$d %4$d)
|
|||
warpdrive.ship.guide.turning_right=Turning to the right
|
||||
warpdrive.ship.guide.turning_back=Turning back
|
||||
warpdrive.ship.guide.turning_left=Turning to the left
|
||||
warpdrive.ship.guide.anchor_block_detected=Jump aborted by on-board anchor block %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_entity_detected=Anchor entity %1$s detected at (%2$d %3$d %4$d), aborting jump...
|
||||
warpdrive.ship.guide.block_not_ready_for_jump=Jump aborted by on-board block %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_block_detected=On-board anchor block %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_entity_detected=Anchor entity %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.block_not_ready_for_jump=On-board block %1$s at (%2$d %3$d %4$d) is not ready.
|
||||
warpdrive.ship.guide.ship_snagged1=Ship snagged by %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.ship_snagged2=Sneak right click the ship core to see your ship dimensions, then update your ship dimensions.
|
||||
warpdrive.ship.guide.corrupted_block=Exception while saving ship, probably a corrupted block %1$s.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_source_world=Chunkloading rejected in source world %1$s. Aborting.
|
||||
warpdrive.ship.guide.too_many_source_chunks_to_load=Ship is extending over %1$d chunks in source world.
|
||||
warpdrive.ship.guide.max_chunkloading=Max is currently set to %2$d in config/forgeChunkLoading.cfg. Aborting.\nClose the game, change your config/forgeChunkLoading.cfg configuration and try again.
|
||||
warpdrive.ship.guide.save_exception=Exception while saving ship block %1$s.\nCheck console for details.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_source_world=Chunkloading rejected in source world %1$s.
|
||||
warpdrive.ship.guide.too_many_chunks_to_load=Ship extends over %1$d chunks.\nMax is set to %2$d in config/forgeChunkLoading.cfg.
|
||||
warpdrive.ship.guide.max_chunkloading=Close the game, update config/forgeChunkLoading.cfg, then try again.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_target_world=Chunkloading rejected in target world %s. Aborting.
|
||||
warpdrive.ship.guide.too_many_target_chunks_to_load=Ship is extending over %1$d chunks in target world.
|
||||
warpdrive.ship.guide.no_celestial_object_in_hyperspace=No star system exists in %1$s (%2$d), there's nowhere to exit hyperspace!
|
||||
warpdrive.ship.guide.no_star_system_in_hyperspace=Ship is outside any star system, unable to exit hyperspace!\nClosest start system is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_load_space_dimension=Unable to load Space dimension %1$d, aborting jump.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_from_planet=Unable to reach hyperspace from a planet!
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_no_parent=Unable to reach hyperspace!\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_load_hyperspace_dimension=Unable to load Hyperspace dimension %1$d, aborting jump.
|
||||
warpdrive.ship.guide.unable_to_reach_space_no_parent=There's no parent defined for %1$s (%2$d), unable to reach space!
|
||||
warpdrive.ship.guide.unable_to_reach_space_outside_border=Ship is outside planet border, unable to reach space!\nClosest transition area is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.no_celestial_object_in_space=No planet exists in %1$s (%2$d), there's nowhere to land!
|
||||
warpdrive.ship.guide.unable_to_land_outside_orbit=We're not in orbit of planet, unable to land!\nClosest planet is %1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_land_virtual_planet=Sorry, we can't go to %1$s. This is a virtual celestial object. It's either a decorative planet or a server misconfiguration.
|
||||
warpdrive.ship.guide.unable_to_land_invalid_id=Sorry, we can't land on %1$s because dimension %2$d isn't defined. It might be a missing mod or a server misconfiguration.
|
||||
warpdrive.ship.guide.ship_collision=Ship collision detected around (%1$d %2$d %3$d). Damage report pending...
|
||||
warpdrive.ship.guide.impassable_block_detected=Impassable %1$s detected at destination (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.no_star_system_in_range=Ship won't survive in deep space.\nClosest star system is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.exception_loading_dimension=Unable to load dimension %1$d.\nCheck console for a missing mod or configuration.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_from_planet=Unable to engage Alcubierre drive on a planet.\nGet into orbit, then try again.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_no_parent=Current location has no hyperspace connection.\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_reach_space_no_parent=Current location as no space connection.\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_reach_space_outside_border=Ship is outside planet border.\nClosest transition area is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.no_celestial_object_in_space=There's nowhere to land.\nNo planet exists in %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_land_outside_orbit=Ship isn't orbiting of planet, unable to land!\nClosest planet is %1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_land_virtual_planet=Celestial object %1$s is out of reach.\nIt's either a decorative planet or a server misconfiguration.
|
||||
warpdrive.ship.guide.ship_collision=Collision detected around (%1$d %2$d %3$d).\nSend a maintenance team to check for damages!
|
||||
warpdrive.ship.guide.impassable_block_detected=Impassable %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.obstacle_block_detected=Obstacle %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.entering_protected_area=Ship is entering a protected area at (%1$d %2$d %3$d).
|
||||
warpdrive.ship.guide.moving_too_high=Ship core is moving too high.
|
||||
warpdrive.ship.guide.moving_too_low=Ship core is moving too low.
|
||||
warpdrive.ship.guide.jump_aborted=Jump aborted!
|
||||
warpdrive.ship.guide.jump_done=Jump done
|
||||
warpdrive.ship.guide.entering_protected_area=Entering protected area at (%1$d %2$d %3$d).
|
||||
warpdrive.ship.guide.moving_too_high=Le cœur de vaisseau se déplace trop haut.
|
||||
warpdrive.ship.guide.moving_too_low=Le cœur de vaisseau se déplace trop bas.
|
||||
warpdrive.ship.guide.jump_done=Saut réussi
|
||||
warpdrive.ship.guide.schematic_not_found=Schéma introuvable ou erreur de lecture: '%1$s'.
|
||||
warpdrive.ship.guide.schematic_invalid_format=Format de schéma invalide: %1$s
|
||||
|
||||
|
@ -893,14 +891,14 @@ warpdrive.ship.status_line.isolation=Les %1$d blocs d'isolations actifs fourniss
|
|||
warpdrive.teleportation.guide.no_safe_spot=No safe spot found to summon player %1$s
|
||||
|
||||
warpdrive.transporter.status_line.from_to=De (%1$.0f %2$.0f %3$.0f) à (%4$.0f %5$.0f %6$.0f)
|
||||
warpdrive.transporter_signature.status_line.invalid=§cNo transporter room linked
|
||||
warpdrive.transporter_signature.status_line.invalid=No transporter room linked
|
||||
warpdrive.transporter_signature.status_line.valid=Linked to transporter room %1$s\n§8%2$s
|
||||
warpdrive.transporter_signature.get_missing=§cTransporter room has no signature yet!
|
||||
warpdrive.transporter_signature.get_same=§cTransporter beacon is already linked to %1$s.
|
||||
warpdrive.transporter_signature.get_missing=Transporter room has no signature yet!
|
||||
warpdrive.transporter_signature.get_same=Transporter beacon is already linked to %1$s.
|
||||
warpdrive.transporter_signature.get=Transporter beacon is now linked to %1$s.
|
||||
warpdrive.transporter_signature.set_missing=§cTransporter beacon needs to be linked first!
|
||||
warpdrive.transporter_signature.set_self=§cTransporter room can't target itself!
|
||||
warpdrive.transporter_signature.set_same=§cTransporter room is already linked to %1$s.
|
||||
warpdrive.transporter_signature.set_missing=Transporter beacon needs to be linked first!
|
||||
warpdrive.transporter_signature.set_self=Transporter room can't target itself!
|
||||
warpdrive.transporter_signature.set_same=Transporter room is already linked to %1$s.
|
||||
warpdrive.transporter_signature.set=Transporter room is now linked to %1$s.
|
||||
|
||||
warpdrive.world_border.in_range=Proximity alert: world border is only %1$d m away!
|
||||
|
|
|
@ -616,7 +616,7 @@ tile.warpdrive.hull.superior.stairs.black.name=Zwart Gekleurd Superieur Pantser
|
|||
|
||||
|
||||
warpdrive.guide.prefix=%1$s:
|
||||
warpdrive.error.bad_tile_entity=§cDit blok heeft een verversing nodig door het de breken en weer te plaatsen.
|
||||
warpdrive.error.bad_tile_entity=Dit blok heeft een verversing nodig door het de breken en weer te plaatsen.
|
||||
warpdrive.error.internal_check_console=Internal error, check console for details
|
||||
|
||||
warpdrive.command.invalid_parameter=Invalid parameter %1$s
|
||||
|
@ -650,15 +650,15 @@ warpdrive.beam_frequency.tooltip=Straal-frequentie is gezet naar %1$d
|
|||
warpdrive.beam_frequency.get=Straal-frequentie %2$d is opgehaald door %1$s
|
||||
warpdrive.beam_frequency.set=%1$s is nu afgestemd op straal-frequentie %2$d
|
||||
warpdrive.beam_frequency.status_line.valid=Straal-frueqentie %1$d is Geldig.
|
||||
warpdrive.beam_frequency.status_line.invalid=§cStraal-frequentie %1$d is incorrect.
|
||||
warpdrive.beam_frequency.status_line.undefined=§7Niet gedefinieerde straal-frequentie.\n§bGebruik een Affstemmingsvork§r om deze te zetten.
|
||||
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.status_line.valid=Controlekanaal %1$d is Geldig.
|
||||
warpdrive.control_channel.status_line.invalid=§cControlekanaal %1$d is incorrect.
|
||||
warpdrive.control_channel.status_line.undefined=§7Niet gedefinieerde controlekanaal.\n§bGebruik een Afstemmingsvork§r om deze te zetten.
|
||||
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.
|
||||
|
||||
warpdrive.is_enabled.set.enabled=Switched ON!
|
||||
warpdrive.is_enabled.set.disabled=Switched off!
|
||||
|
@ -667,20 +667,20 @@ warpdrive.tooltip.item_tag.breathing_helmet=§Ademhalen in de ruimte§r consumee
|
|||
warpdrive.tooltip.item_tag.fly_in_space=§bJetpack Die werkt in de ruimte§r.
|
||||
warpdrive.tooltip.item_tag.no_fall_damage=§bAbsorbeert Schade van vallen§r.
|
||||
|
||||
warpdrive.upgrade.result.no_upgrade_to_dismount=§cGeen upgrade om uit te schakelen
|
||||
warpdrive.upgrade.result.not_enough_upgrades=§cJe hebt tenminste 1 item nodig om dit blok te upgraden.
|
||||
warpdrive.upgrade.result.invalid_upgrade=§cDid is niet het correcte item om dit blok te upgraden.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_projector=§cDeze upgrade is te groot voor de projector, probeer een relais te gebruiken.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_relay=§cDeze upgrade kan alleen op projectors.
|
||||
warpdrive.upgrade.result.no_upgrade_to_dismount=Geen upgrade om uit te schakelen
|
||||
warpdrive.upgrade.result.not_enough_upgrades=Je hebt tenminste 1 item nodig om dit blok te upgraden.
|
||||
warpdrive.upgrade.result.invalid_upgrade=Did is niet het correcte item om dit blok te upgraden.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_projector=Deze upgrade is te groot voor de projector, probeer een relais te gebruiken.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_relay=Deze upgrade kan alleen op projectors.
|
||||
warpdrive.upgrade.result.valid_upgrades=Geldige upgrades voor dit block zijn: %1$s. @TODO nog niet ingebouwd
|
||||
warpdrive.upgrade.result.too_many_upgrades=§cEr zijn al %1$d upgrades geinstalleert.
|
||||
warpdrive.upgrade.result.too_many_upgrades=Er zijn al %1$d upgrades geinstalleert.
|
||||
warpdrive.upgrade.result.dismounted=Upgrade %1$s is succesvol uitgeschakeld.
|
||||
warpdrive.upgrade.result.mounted=Upgrade %1$s is succesvol geplaatst.
|
||||
|
||||
warpdrive.upgrade.result.wrong_shape_side=§cEr is geen elektromagnetische-projector aan deze kant.
|
||||
warpdrive.upgrade.result.no_shape_to_dismount=§cGeen vorm om uit te schakelen.
|
||||
warpdrive.upgrade.result.not_enough_shapes.double=§cJe hebt tenminste 2 items nodig om de vorm van een dubbelzijdige-projector te zetten.
|
||||
warpdrive.upgrade.result.not_enough_shapes.single=§cJe hebt tenminste 1 items nodig om de vorm van een eenzijdige-projector te zetten.
|
||||
warpdrive.upgrade.result.wrong_shape_side=Er is geen elektromagnetische-projector aan deze kant.
|
||||
warpdrive.upgrade.result.no_shape_to_dismount=Geen vorm om uit te schakelen.
|
||||
warpdrive.upgrade.result.not_enough_shapes.double=Je hebt tenminste 2 items nodig om de vorm van een dubbelzijdige-projector te zetten.
|
||||
warpdrive.upgrade.result.not_enough_shapes.single=Je hebt tenminste 1 items nodig om de vorm van een eenzijdige-projector te zetten.
|
||||
warpdrive.upgrade.result.shape_dismounted=Vorm succesvol uitgeschakeld.
|
||||
warpdrive.upgrade.result.shape_mounted=Vorm succesvol geplaatst.
|
||||
|
||||
|
@ -692,9 +692,9 @@ 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=§cVideokanaal %1$d is ongeldig.
|
||||
warpdrive.video_channel.status_line.not_loaded=§cVideokanaal %1$d is ongeldig of camera is te ver weg!
|
||||
warpdrive.video_channel.status_line.undefined=§7niet gedefinieerd videokanaal.\n§bGebruik een Afstemmingsvork§r om het te zetten.
|
||||
warpdrive.video_channel.status_line.invalid=Videokanaal %1$d is ongeldig.
|
||||
warpdrive.video_channel.status_line.not_loaded=Videokanaal %1$d is ongeldig of camera is te ver weg!
|
||||
warpdrive.video_channel.status_line.undefined=niet gedefinieerd videokanaal.\n§bGebruik een Afstemmingsvork§r om het te zetten.
|
||||
|
||||
|
||||
warpdrive.accelerator.guide.low_power.not_enough_storage=Energie-opslagcapaciteit is te weinig; we hebben tenminste %1$d om verder te opereren maar we kunnen alleen %2$d opslaan
|
||||
|
@ -732,7 +732,7 @@ warpdrive.cloaking_core.missing_channeling_and_projecting_coils=Integrity down t
|
|||
warpdrive.cloaking_core.missing_channeling_coils=Integrity down to %1$d%%: missing channeling coil(s) towards %2$s
|
||||
warpdrive.cloaking_core.missing_projecting_coils=Integrity down to %1$d%%: missing projecting coil(s) towards %2$s
|
||||
warpdrive.cloaking_core.disabled=Dekmantelveld is uitgeschakeld
|
||||
warpdrive.cloaking_core.low_power=§cDekmantelveld is uit, We hebben meer stroom nodig kapitein!
|
||||
warpdrive.cloaking_core.low_power=Dekmantelveld is uit, We hebben meer stroom nodig kapitein!
|
||||
warpdrive.cloaking_core.cloaking=Een Niveau %1$d dekmantelveld bedekt huidig %2$d blokken!
|
||||
|
||||
warpdrive.compat.guide.block_detected_on_board=%1$s detected on board!
|
||||
|
@ -749,7 +749,7 @@ warpdrive.energy.side.changed_to_disabled=%1$s kant verandert naar inactief modu
|
|||
|
||||
warpdrive.force_field.guide.low_power=we verliezen stroom kapitein, verminder onze consumptie of laat die schotse ingenieur onze stroomkracht vergroten!
|
||||
|
||||
warpdrive.force_field.shape.status_line.none=§cVorm is niet gedefinieerd.
|
||||
warpdrive.force_field.shape.status_line.none=Vorm is niet gedefinieerd.
|
||||
warpdrive.force_field.shape.status_line.double=Vorm is een volledig vorm %1$s
|
||||
warpdrive.force_field.shape.status_line.single=Vorm is een halve vorm %1$s
|
||||
warpdrive.force_field.shape.status_line.sphere=Ball
|
||||
|
@ -824,27 +824,29 @@ warpdrive.security_station.guide.registered_players=Aangesloten Spelers: %1$s
|
|||
warpdrive.security_station.guide.player_registered=You're now registered on this security station.\nRegistered players are %1$s
|
||||
warpdrive.security_station.guide.player_unregistered=You've been unregistered from this security station.\nAttached players are %1$s
|
||||
|
||||
# Note for translators: you want to keep each line shorter than 50 characters so that it fits on computer screens.
|
||||
warpdrive.ship.guide.cooling_countdown=Ship core is cooling down... %1$d s to go...
|
||||
warpdrive.ship.guide.pre_jumping=Running pre-jump checklist...
|
||||
warpdrive.ship.guide.warming_up=Ship core is warming up... %1$d s to go...
|
||||
warpdrive.ship.guide.insufficient_energy=Jump aborted! Insufficient energy in core.
|
||||
warpdrive.ship.guide.warp_field_overlapping=Jump aborted! Own warp field contains another ship. Disable other core to continue.
|
||||
warpdrive.ship.guide.cloaking_field_overlapping=Jump aborted! Core is cloaked, disable cloak to continue!
|
||||
warpdrive.ship.guide.movement_aborted=Movement aborted!
|
||||
warpdrive.ship.guide.insufficient_energy=Insufficient energy in core.
|
||||
warpdrive.ship.guide.warp_field_overlapping=Own warp field contains another ship.\nDisable other core to continue.
|
||||
warpdrive.ship.guide.cloaking_field_overlapping=Core is cloaked.\nDisable cloak to continue.
|
||||
warpdrive.ship.guide.pre_jump_success=Ok
|
||||
warpdrive.ship.guide.too_large_side_for_tier=Error: ship is too large (max is %1$d per side)\nUpgrade ship core or reduce span!
|
||||
warpdrive.ship.guide.too_much_mass_for_planet=Ship is too big for a planet (max is %1$d blocks while ship mass is %2$d blocks).\nReduce your mass!
|
||||
warpdrive.ship.guide.insufficient_mass_for_tier=Ship is too small for its category (%2$d < %1$d).\nDowngrade your ship core or increase your mass!
|
||||
warpdrive.ship.guide.too_much_mass_for_tier=Ship is too big for its category (%2$d > %1$d).\nUpgrade your ship core or reduce your mass!
|
||||
warpdrive.ship.guide.insufficient_mass_for_hyperspace=Ship is too small to engage Alcubierre drive (%1$d/%2$d).\nIncrease your mass to reach hyperspace.
|
||||
warpdrive.ship.guide.jumpgate_is_too_far=Ship is not inside a jumpgate. Jump rejected.
|
||||
warpdrive.ship.guide.jumpgate_partially_entered=Ship is only %.1f%% inside a jumpgate. Sorry, we'll loose too much crew as is, jump rejected.
|
||||
warpdrive.ship.guide.jumpgate_not_defined=Destination jumpgate '%1$s' is unknown. Check jumpgate name.
|
||||
warpdrive.ship.guide.jumpgate_blocked=Destination gate is blocked by obstacles. Aborting...
|
||||
warpdrive.ship.guide.target_outside_planet_border=Target ship position is outside planet border, unable to jump!\nWorld borders are (%1$d %2$d %3$d) to (%4$d %5$d %6$d).
|
||||
warpdrive.ship.guide.too_large_side_for_tier=Ship is too large, max is %1$d per side.\nUpgrade ship core or reduce span.
|
||||
warpdrive.ship.guide.too_much_mass_for_planet=Ship is too big for a planet.\nReduce your mass below %1$d blocks.
|
||||
warpdrive.ship.guide.insufficient_mass_for_tier=Ship is too small, min is %1$d block.\nDowngrade ship core or increase mass.
|
||||
warpdrive.ship.guide.too_much_mass_for_tier=Ship is too big, max is %1$d blocks.\nUpgrade ship core or reduce your mass.
|
||||
warpdrive.ship.guide.insufficient_mass_for_hyperspace=Ship is too small to engage Alcubierre drive.\nIncrease your mass to %2$d.
|
||||
warpdrive.ship.guide.jumpgate_is_too_far=Ship is not inside a jumpgate.
|
||||
warpdrive.ship.guide.jumpgate_partially_entered=Ship is only %.1f%% inside a jumpgate.\nSorry, we'll loose too much crew as is.
|
||||
warpdrive.ship.guide.jumpgate_not_defined=Destination jumpgate '%1$s' is unknown.
|
||||
warpdrive.ship.guide.jumpgate_blocked=Destination gate is blocked by obstacles.
|
||||
warpdrive.ship.guide.target_outside_planet_border=Target position is outside planet border!\nWorld borders are (%1$d %2$d %3$d) to (%4$d %5$d %6$d).
|
||||
warpdrive.ship.guide.invalid_y_coordinates=Invalid Y coordinate(s), check ship dimensions...
|
||||
warpdrive.ship.guide.invalid_state=Invalid state, aborting jump...
|
||||
warpdrive.ship.guide.overlapping_source_and_target=Jump aborted. Increase jump distance to continue.
|
||||
warpdrive.ship.guide.not_enough_space_after_adjustment=\nNot enough space after adjustment, jump aborted!
|
||||
warpdrive.ship.guide.overlapping_source_and_target=Target is too close. Increase jump distance to continue.
|
||||
warpdrive.ship.guide.not_enough_space_after_adjustment=Not enough space after adjustment.
|
||||
warpdrive.ship.guide.entering_hyperspace=Entering hyperspace...
|
||||
warpdrive.ship.guide.leaving_hyperspace=Leaving hyperspace...
|
||||
warpdrive.ship.guide.engaging_jumpgate_x=Engaging jumpgate towards %1$s!
|
||||
|
@ -852,36 +854,32 @@ warpdrive.ship.guide.jumping_xyz=Jumping of %1$d blocks (XYZ %2$d %3$d %4$d)
|
|||
warpdrive.ship.guide.turning_right=Turning to the right
|
||||
warpdrive.ship.guide.turning_back=Turning back
|
||||
warpdrive.ship.guide.turning_left=Turning to the left
|
||||
warpdrive.ship.guide.anchor_block_detected=Jump aborted by on-board anchor block %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_entity_detected=Anchor entity %1$s detected at (%2$d %3$d %4$d), aborting jump...
|
||||
warpdrive.ship.guide.block_not_ready_for_jump=Jump aborted by on-board block %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_block_detected=On-board anchor block %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_entity_detected=Anchor entity %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.block_not_ready_for_jump=On-board block %1$s at (%2$d %3$d %4$d) is not ready.
|
||||
warpdrive.ship.guide.ship_snagged1=Ship snagged by %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.ship_snagged2=Sneak right click the ship core to see your ship dimensions, then update your ship dimensions.
|
||||
warpdrive.ship.guide.corrupted_block=Exception while saving ship, probably a corrupted block %1$s.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_source_world=Chunkloading rejected in source world %1$s. Aborting.
|
||||
warpdrive.ship.guide.too_many_source_chunks_to_load=Ship is extending over %1$d chunks in source world.
|
||||
warpdrive.ship.guide.max_chunkloading=Max is currently set to %2$d in config/forgeChunkLoading.cfg. Aborting.\nClose the game, change your config/forgeChunkLoading.cfg configuration and try again.
|
||||
warpdrive.ship.guide.save_exception=Exception while saving ship block %1$s.\nCheck console for details.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_source_world=Chunkloading rejected in source world %1$s.
|
||||
warpdrive.ship.guide.too_many_chunks_to_load=Ship extends over %1$d chunks.\nMax is set to %2$d in config/forgeChunkLoading.cfg.
|
||||
warpdrive.ship.guide.max_chunkloading=Close the game, update config/forgeChunkLoading.cfg, then try again.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_target_world=Chunkloading rejected in target world %s. Aborting.
|
||||
warpdrive.ship.guide.too_many_target_chunks_to_load=Ship is extending over %1$d chunks in target world.
|
||||
warpdrive.ship.guide.no_celestial_object_in_hyperspace=No star system exists in %1$s (%2$d), there's nowhere to exit hyperspace!
|
||||
warpdrive.ship.guide.no_star_system_in_hyperspace=Ship is outside any star system, unable to exit hyperspace!\nClosest start system is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_load_space_dimension=Unable to load Space dimension %1$d, aborting jump.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_from_planet=Unable to reach hyperspace from a planet!
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_no_parent=Unable to reach hyperspace!\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_load_hyperspace_dimension=Unable to load Hyperspace dimension %1$d, aborting jump.
|
||||
warpdrive.ship.guide.unable_to_reach_space_no_parent=There's no parent defined for %1$s (%2$d), unable to reach space!
|
||||
warpdrive.ship.guide.unable_to_reach_space_outside_border=Ship is outside planet border, unable to reach space!\nClosest transition area is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.no_celestial_object_in_space=No planet exists in %1$s (%2$d), there's nowhere to land!
|
||||
warpdrive.ship.guide.unable_to_land_outside_orbit=We're not in orbit of planet, unable to land!\nClosest planet is %1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_land_virtual_planet=Sorry, we can't go to %1$s. This is a virtual celestial object. It's either a decorative planet or a server misconfiguration.
|
||||
warpdrive.ship.guide.unable_to_land_invalid_id=Sorry, we can't land on %1$s because dimension %2$d isn't defined. It might be a missing mod or a server misconfiguration.
|
||||
warpdrive.ship.guide.ship_collision=Ship collision detected around (%1$d %2$d %3$d). Damage report pending...
|
||||
warpdrive.ship.guide.impassable_block_detected=Impassable %1$s detected at destination (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.no_star_system_in_range=Ship won't survive in deep space.\nClosest star system is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.exception_loading_dimension=Unable to load dimension %1$d.\nCheck console for a missing mod or configuration.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_from_planet=Unable to engage Alcubierre drive on a planet.\nGet into orbit, then try again.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_no_parent=Current location has no hyperspace connection.\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_reach_space_no_parent=Current location as no space connection.\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_reach_space_outside_border=Ship is outside planet border.\nClosest transition area is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.no_celestial_object_in_space=There's nowhere to land.\nNo planet exists in %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_land_outside_orbit=Ship isn't orbiting of planet, unable to land!\nClosest planet is %1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_land_virtual_planet=Celestial object %1$s is out of reach.\nIt's either a decorative planet or a server misconfiguration.
|
||||
warpdrive.ship.guide.ship_collision=Collision detected around (%1$d %2$d %3$d).\nSend a maintenance team to check for damages!
|
||||
warpdrive.ship.guide.impassable_block_detected=Impassable %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.obstacle_block_detected=Obstacle %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.entering_protected_area=Ship is entering a protected area at (%1$d %2$d %3$d).
|
||||
warpdrive.ship.guide.entering_protected_area=Entering protected area at (%1$d %2$d %3$d).
|
||||
warpdrive.ship.guide.moving_too_high=Ship core is moving too high.
|
||||
warpdrive.ship.guide.moving_too_low=Ship core is moving too low.
|
||||
warpdrive.ship.guide.jump_aborted=Jump aborted!
|
||||
warpdrive.ship.guide.jump_done=Jump done
|
||||
warpdrive.ship.guide.schematic_not_found=Schematic not found or unknown error reading it: '%1$s'.
|
||||
warpdrive.ship.guide.schematic_invalid_format=Invalid schematic format: %1$s
|
||||
|
@ -892,14 +890,14 @@ warpdrive.ship.status_line.isolation=%1$d actieve isolatie-blokken geven %2$s%%
|
|||
warpdrive.teleportation.guide.no_safe_spot=No safe spot found to summon player %1$s
|
||||
|
||||
warpdrive.transporter.status_line.from_to=Van (%1$.0f %2$.0f %3$.0f) naar (%4$.0f %5$.0f %6$.0f)
|
||||
warpdrive.transporter_signature.status_line.invalid=§cNo transporter room linked
|
||||
warpdrive.transporter_signature.status_line.invalid=No transporter room linked
|
||||
warpdrive.transporter_signature.status_line.valid=Linked to transporter room %1$s\n§8%2$s
|
||||
warpdrive.transporter_signature.get_missing=§cTransporter room has no signature yet!
|
||||
warpdrive.transporter_signature.get_same=§cTransporter beacon is already linked to %1$s.
|
||||
warpdrive.transporter_signature.get_missing=Transporter room has no signature yet!
|
||||
warpdrive.transporter_signature.get_same=Transporter beacon is already linked to %1$s.
|
||||
warpdrive.transporter_signature.get=Transporter beacon is now linked to %1$s.
|
||||
warpdrive.transporter_signature.set_missing=§cTransporter beacon needs to be linked first!
|
||||
warpdrive.transporter_signature.set_self=§cTransporter room can't target itself!
|
||||
warpdrive.transporter_signature.set_same=§cTransporter room is already linked to %1$s.
|
||||
warpdrive.transporter_signature.set_missing=Transporter beacon needs to be linked first!
|
||||
warpdrive.transporter_signature.set_self=Transporter room can't target itself!
|
||||
warpdrive.transporter_signature.set_same=Transporter room is already linked to %1$s.
|
||||
warpdrive.transporter_signature.set=Transporter room is now linked to %1$s.
|
||||
|
||||
warpdrive.world_border.in_range=Proximity alert: world border is only %1$d m away!
|
||||
|
|
|
@ -616,7 +616,7 @@ tile.warpdrive.hull.superior.stairs.black.name=Black Stained Superior Hull Stair
|
|||
|
||||
|
||||
warpdrive.guide.prefix=%1$s:
|
||||
warpdrive.error.bad_tile_entity=§cэтот блок нужно сломать и поставить заново.
|
||||
warpdrive.error.bad_tile_entity=этот блок нужно сломать и поставить заново.
|
||||
warpdrive.error.internal_check_console=Internal error, check console for details
|
||||
|
||||
warpdrive.command.invalid_parameter=Invalid parameter %1$s
|
||||
|
@ -650,15 +650,15 @@ warpdrive.beam_frequency.tooltip=Частота луча установлена
|
|||
warpdrive.beam_frequency.get=Beam frequency %2$d has been retrieved from %1$s
|
||||
warpdrive.beam_frequency.set=%1$s настроен на частоту луча %2$d
|
||||
warpdrive.beam_frequency.status_line.valid=Частота луча %1$d действительна.
|
||||
warpdrive.beam_frequency.status_line.invalid=§cЧастота луча %1$d недействительна.
|
||||
warpdrive.beam_frequency.status_line.undefined=§7Undefined beam frequency.\n§bUse a Tuning fork§r to set Beam frequency.
|
||||
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.status_line.valid=Control channel %1$d is valid.
|
||||
warpdrive.control_channel.status_line.invalid=§cControl channel %1$d is invalid.
|
||||
warpdrive.control_channel.status_line.undefined=§7Undefined Control channel.\n§bUse a Tuning fork§r to set it.
|
||||
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.
|
||||
|
||||
warpdrive.is_enabled.set.enabled=Switched ON!
|
||||
warpdrive.is_enabled.set.disabled=Switched off!
|
||||
|
@ -667,20 +667,20 @@ warpdrive.tooltip.item_tag.breathing_helmet=§bSpace breathing§r consuming Air
|
|||
warpdrive.tooltip.item_tag.fly_in_space=§bSpace compatible jetpack§r.
|
||||
warpdrive.tooltip.item_tag.no_fall_damage=§bAbsorbs fall damage§r.
|
||||
|
||||
warpdrive.upgrade.result.no_upgrade_to_dismount=§cNo upgrade to dismount.
|
||||
warpdrive.upgrade.result.not_enough_upgrades=§cYou need at least 1 item to upgrade this block.
|
||||
warpdrive.upgrade.result.invalid_upgrade=§cThis is not a valid item to upgrade this block.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_projector=§cThis upgrade is too big for a projector, use a relay instead.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_relay=§cThis upgrade only applies to projectors.
|
||||
warpdrive.upgrade.result.no_upgrade_to_dismount=No upgrade to dismount.
|
||||
warpdrive.upgrade.result.not_enough_upgrades=You need at least 1 item to upgrade this block.
|
||||
warpdrive.upgrade.result.invalid_upgrade=This is not a valid item to upgrade this block.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_projector=This upgrade is too big for a projector, use a relay instead.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_relay=This upgrade only applies to projectors.
|
||||
warpdrive.upgrade.result.valid_upgrades=Valid upgrades for this block include: %1$s. @TODO not implemented yet
|
||||
warpdrive.upgrade.result.too_many_upgrades=§cThere's already %1$d upgrades installed.
|
||||
warpdrive.upgrade.result.too_many_upgrades=There's already %1$d upgrades installed.
|
||||
warpdrive.upgrade.result.dismounted=Upgrade %1$s was dismounted successfully.
|
||||
warpdrive.upgrade.result.mounted=Upgrade %1$s was mounted successfully.
|
||||
|
||||
warpdrive.upgrade.result.wrong_shape_side=§cThere's no Electromagnetic projector on this side.
|
||||
warpdrive.upgrade.result.no_shape_to_dismount=§cNo shape to dismount.
|
||||
warpdrive.upgrade.result.not_enough_shapes.double=§cYou need at least 2 items to set the shape of a double sided projector.
|
||||
warpdrive.upgrade.result.not_enough_shapes.single=§cYou need at least 1 item to set the shape of a single sided projector.
|
||||
warpdrive.upgrade.result.wrong_shape_side=There's no Electromagnetic projector on this side.
|
||||
warpdrive.upgrade.result.no_shape_to_dismount=No shape to dismount.
|
||||
warpdrive.upgrade.result.not_enough_shapes.double=You need at least 2 items to set the shape of a double sided projector.
|
||||
warpdrive.upgrade.result.not_enough_shapes.single=You need at least 1 item to set the shape of a single sided projector.
|
||||
warpdrive.upgrade.result.shape_dismounted=Shape dismounted successfully.
|
||||
warpdrive.upgrade.result.shape_mounted=Shape mounted successfully.
|
||||
|
||||
|
@ -692,9 +692,9 @@ 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=§cВидеоканал %1$d недействителен.
|
||||
warpdrive.video_channel.status_line.not_loaded=§cВидеоканал %1$d недействителен или камера слишком далеко.
|
||||
warpdrive.video_channel.status_line.undefined=§7Undefined Video channel.\n§bUse a Tuning fork§r to set it.
|
||||
warpdrive.video_channel.status_line.invalid=Видеоканал %1$d недействителен.
|
||||
warpdrive.video_channel.status_line.not_loaded=Видеоканал %1$d недействителен или камера слишком далеко.
|
||||
warpdrive.video_channel.status_line.undefined=Undefined Video channel.\n§bUse a Tuning fork§r to set it.
|
||||
|
||||
|
||||
warpdrive.accelerator.guide.low_power.not_enough_storage=Energy storage is too low; we need at least %1$d to continue operation but can only store %2$d
|
||||
|
@ -733,7 +733,7 @@ warpdrive.cloaking_core.missing_channeling_coils=Integrity down to %1$d%%: missi
|
|||
warpdrive.cloaking_core.missing_projecting_coils=Integrity down to %1$d%%: missing projecting coil(s) towards %2$s
|
||||
warpdrive.cloaking_core.valid=System is valid
|
||||
warpdrive.cloaking_core.disabled=Маскировка выключена
|
||||
warpdrive.cloaking_core.low_power=§cМаскировка выключилась, нужно больше энергии, капитан!
|
||||
warpdrive.cloaking_core.low_power=Маскировка выключилась, нужно больше энергии, капитан!
|
||||
warpdrive.cloaking_core.cloaking=Маскировка %1$d уровня покрывает %2$d блоков.
|
||||
|
||||
warpdrive.compat.guide.block_detected_on_board=%1$s detected on board!
|
||||
|
@ -750,7 +750,7 @@ warpdrive.energy.side.changed_to_disabled=%1$s side changed to Disabled mode!
|
|||
|
||||
warpdrive.force_field.guide.low_power=We're running out of power captain, reduce our consumption or get that scottish engineer to boost our power!
|
||||
|
||||
warpdrive.force_field.shape.status_line.none=§cShape isn't defined.
|
||||
warpdrive.force_field.shape.status_line.none=Shape isn't defined.
|
||||
warpdrive.force_field.shape.status_line.double=Shape is a full %1$s
|
||||
warpdrive.force_field.shape.status_line.single=Shape is an half %1$s
|
||||
warpdrive.force_field.shape.status_line.sphere=sphere
|
||||
|
@ -825,27 +825,29 @@ warpdrive.security_station.guide.registered_players=Прирепленные и
|
|||
warpdrive.security_station.guide.player_registered=You're now registered on this security station.\nRegistered players are %1$s
|
||||
warpdrive.security_station.guide.player_unregistered=You've been unregistered from this security station.\nAttached players are %1$s
|
||||
|
||||
# Note for translators: you want to keep each line shorter than 50 characters so that it fits on computer screens.
|
||||
warpdrive.ship.guide.cooling_countdown=Ship core is cooling down... %1$d s to go...
|
||||
warpdrive.ship.guide.pre_jumping=Running pre-jump checklist...
|
||||
warpdrive.ship.guide.warming_up=Ship core is warming up... %1$d s to go...
|
||||
warpdrive.ship.guide.insufficient_energy=Jump aborted! Insufficient energy in core.
|
||||
warpdrive.ship.guide.warp_field_overlapping=Jump aborted! Own warp field contains another ship. Disable other core to continue.
|
||||
warpdrive.ship.guide.cloaking_field_overlapping=Jump aborted! Core is cloaked, disable cloak to continue!
|
||||
warpdrive.ship.guide.movement_aborted=Movement aborted!
|
||||
warpdrive.ship.guide.insufficient_energy=Insufficient energy in core.
|
||||
warpdrive.ship.guide.warp_field_overlapping=Own warp field contains another ship.\nDisable other core to continue.
|
||||
warpdrive.ship.guide.cloaking_field_overlapping=Core is cloaked.\nDisable cloak to continue.
|
||||
warpdrive.ship.guide.pre_jump_success=Ok
|
||||
warpdrive.ship.guide.too_large_side_for_tier=Error: ship is too large (max is %1$d per side)\nUpgrade ship core or reduce span!
|
||||
warpdrive.ship.guide.too_much_mass_for_planet=Ship is too big for a planet (max is %1$d blocks while ship mass is %2$d blocks).\nReduce your mass!
|
||||
warpdrive.ship.guide.insufficient_mass_for_tier=Ship is too small for its category (%2$d < %1$d).\nDowngrade your ship core or increase your mass!
|
||||
warpdrive.ship.guide.too_much_mass_for_tier=Ship is too big for its category (%2$d > %1$d).\nUpgrade your ship core or reduce your mass!
|
||||
warpdrive.ship.guide.insufficient_mass_for_hyperspace=Ship is too small to engage Alcubierre drive (%1$d/%2$d).\nIncrease your mass to reach hyperspace.
|
||||
warpdrive.ship.guide.jumpgate_is_too_far=Ship is not inside a jumpgate. Jump rejected.
|
||||
warpdrive.ship.guide.jumpgate_partially_entered=Ship is only %.1f%% inside a jumpgate. Sorry, we'll loose too much crew as is, jump rejected.
|
||||
warpdrive.ship.guide.jumpgate_not_defined=Destination jumpgate '%1$s' is unknown. Check jumpgate name.
|
||||
warpdrive.ship.guide.jumpgate_blocked=Destination gate is blocked by obstacles. Aborting...
|
||||
warpdrive.ship.guide.target_outside_planet_border=Target ship position is outside planet border, unable to jump!\nWorld borders are (%1$d %2$d %3$d) to (%4$d %5$d %6$d).
|
||||
warpdrive.ship.guide.too_large_side_for_tier=Ship is too large, max is %1$d per side.\nUpgrade ship core or reduce span.
|
||||
warpdrive.ship.guide.too_much_mass_for_planet=Ship is too big for a planet.\nReduce your mass below %1$d blocks.
|
||||
warpdrive.ship.guide.insufficient_mass_for_tier=Ship is too small, min is %1$d block.\nDowngrade ship core or increase mass.
|
||||
warpdrive.ship.guide.too_much_mass_for_tier=Ship is too big, max is %1$d blocks.\nUpgrade ship core or reduce your mass.
|
||||
warpdrive.ship.guide.insufficient_mass_for_hyperspace=Ship is too small to engage Alcubierre drive.\nIncrease your mass to %2$d.
|
||||
warpdrive.ship.guide.jumpgate_is_too_far=Ship is not inside a jumpgate.
|
||||
warpdrive.ship.guide.jumpgate_partially_entered=Ship is only %.1f%% inside a jumpgate.\nSorry, we'll loose too much crew as is.
|
||||
warpdrive.ship.guide.jumpgate_not_defined=Destination jumpgate '%1$s' is unknown.
|
||||
warpdrive.ship.guide.jumpgate_blocked=Destination gate is blocked by obstacles.
|
||||
warpdrive.ship.guide.target_outside_planet_border=Target position is outside planet border!\nWorld borders are (%1$d %2$d %3$d) to (%4$d %5$d %6$d).
|
||||
warpdrive.ship.guide.invalid_y_coordinates=Invalid Y coordinate(s), check ship dimensions...
|
||||
warpdrive.ship.guide.invalid_state=Invalid state, aborting jump...
|
||||
warpdrive.ship.guide.overlapping_source_and_target=Jump aborted. Increase jump distance to continue.
|
||||
warpdrive.ship.guide.not_enough_space_after_adjustment=\nNot enough space after adjustment, jump aborted!
|
||||
warpdrive.ship.guide.overlapping_source_and_target=Target is too close. Increase jump distance to continue.
|
||||
warpdrive.ship.guide.not_enough_space_after_adjustment=Not enough space after adjustment.
|
||||
warpdrive.ship.guide.entering_hyperspace=Entering hyperspace...
|
||||
warpdrive.ship.guide.leaving_hyperspace=Leaving hyperspace...
|
||||
warpdrive.ship.guide.engaging_jumpgate_x=Engaging jumpgate towards %1$s!
|
||||
|
@ -853,36 +855,32 @@ warpdrive.ship.guide.jumping_xyz=Jumping of %1$d blocks (XYZ %2$d %3$d %4$d)
|
|||
warpdrive.ship.guide.turning_right=Turning to the right
|
||||
warpdrive.ship.guide.turning_back=Turning back
|
||||
warpdrive.ship.guide.turning_left=Turning to the left
|
||||
warpdrive.ship.guide.anchor_block_detected=Jump aborted by on-board anchor block %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_entity_detected=Anchor entity %1$s detected at (%2$d %3$d %4$d), aborting jump...
|
||||
warpdrive.ship.guide.block_not_ready_for_jump=Jump aborted by on-board block %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_block_detected=On-board anchor block %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_entity_detected=Anchor entity %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.block_not_ready_for_jump=On-board block %1$s at (%2$d %3$d %4$d) is not ready.
|
||||
warpdrive.ship.guide.ship_snagged1=Ship snagged by %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.ship_snagged2=Sneak right click the ship core to see your ship dimensions, then update your ship dimensions.
|
||||
warpdrive.ship.guide.corrupted_block=Exception while saving ship, probably a corrupted block %1$s.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_source_world=Chunkloading rejected in source world %1$s. Aborting.
|
||||
warpdrive.ship.guide.too_many_source_chunks_to_load=Ship is extending over %1$d chunks in source world.
|
||||
warpdrive.ship.guide.max_chunkloading=Max is currently set to %2$d in config/forgeChunkLoading.cfg. Aborting.\nClose the game, change your config/forgeChunkLoading.cfg configuration and try again.
|
||||
warpdrive.ship.guide.save_exception=Exception while saving ship block %1$s.\nCheck console for details.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_source_world=Chunkloading rejected in source world %1$s.
|
||||
warpdrive.ship.guide.too_many_chunks_to_load=Ship extends over %1$d chunks.\nMax is set to %2$d in config/forgeChunkLoading.cfg.
|
||||
warpdrive.ship.guide.max_chunkloading=Close the game, update config/forgeChunkLoading.cfg, then try again.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_target_world=Chunkloading rejected in target world %s. Aborting.
|
||||
warpdrive.ship.guide.too_many_target_chunks_to_load=Ship is extending over %1$d chunks in target world.
|
||||
warpdrive.ship.guide.no_celestial_object_in_hyperspace=No star system exists in %1$s (%2$d), there's nowhere to exit hyperspace!
|
||||
warpdrive.ship.guide.no_star_system_in_hyperspace=Ship is outside any star system, unable to exit hyperspace!\nClosest start system is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_load_space_dimension=Unable to load Space dimension %1$d, aborting jump.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_from_planet=Unable to reach hyperspace from a planet!
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_no_parent=Unable to reach hyperspace!\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_load_hyperspace_dimension=Unable to load Hyperspace dimension %1$d, aborting jump.
|
||||
warpdrive.ship.guide.unable_to_reach_space_no_parent=There's no parent defined for %1$s (%2$d), unable to reach space!
|
||||
warpdrive.ship.guide.unable_to_reach_space_outside_border=Ship is outside planet border, unable to reach space!\nClosest transition area is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.no_celestial_object_in_space=No planet exists in %1$s (%2$d), there's nowhere to land!
|
||||
warpdrive.ship.guide.unable_to_land_outside_orbit=We're not in orbit of planet, unable to land!\nClosest planet is %1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_land_virtual_planet=Sorry, we can't go to %1$s. This is a virtual celestial object. It's either a decorative planet or a server misconfiguration.
|
||||
warpdrive.ship.guide.unable_to_land_invalid_id=Sorry, we can't land on %1$s because dimension %2$d isn't defined. It might be a missing mod or a server misconfiguration.
|
||||
warpdrive.ship.guide.ship_collision=Ship collision detected around (%1$d %2$d %3$d). Damage report pending...
|
||||
warpdrive.ship.guide.impassable_block_detected=Impassable %1$s detected at destination (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.no_star_system_in_range=Ship won't survive in deep space.\nClosest star system is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.exception_loading_dimension=Unable to load dimension %1$d.\nCheck console for a missing mod or configuration.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_from_planet=Unable to engage Alcubierre drive on a planet.\nGet into orbit, then try again.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_no_parent=Current location has no hyperspace connection.\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_reach_space_no_parent=Current location as no space connection.\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_reach_space_outside_border=Ship is outside planet border.\nClosest transition area is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.no_celestial_object_in_space=There's nowhere to land.\nNo planet exists in %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_land_outside_orbit=Ship isn't orbiting of planet, unable to land!\nClosest planet is %1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_land_virtual_planet=Celestial object %1$s is out of reach.\nIt's either a decorative planet or a server misconfiguration.
|
||||
warpdrive.ship.guide.ship_collision=Collision detected around (%1$d %2$d %3$d).\nSend a maintenance team to check for damages!
|
||||
warpdrive.ship.guide.impassable_block_detected=Impassable %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.obstacle_block_detected=Obstacle %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.entering_protected_area=Ship is entering a protected area at (%1$d %2$d %3$d).
|
||||
warpdrive.ship.guide.entering_protected_area=Entering protected area at (%1$d %2$d %3$d).
|
||||
warpdrive.ship.guide.moving_too_high=Ship core is moving too high.
|
||||
warpdrive.ship.guide.moving_too_low=Ship core is moving too low.
|
||||
warpdrive.ship.guide.jump_aborted=Jump aborted!
|
||||
warpdrive.ship.guide.jump_done=Jump done
|
||||
warpdrive.ship.guide.schematic_not_found=Schematic not found or unknown error reading it: '%1$s'.
|
||||
warpdrive.ship.guide.schematic_invalid_format=Invalid schematic format: %1$s
|
||||
|
@ -893,14 +891,14 @@ warpdrive.ship.status_line.isolation=%1$d активных блоков изол
|
|||
warpdrive.teleportation.guide.no_safe_spot=No safe spot found to summon player %1$s
|
||||
|
||||
warpdrive.transporter.status_line.from_to=Из (%1$.0f %2$.0f %3$.0f) в (%4$.0f %5$.0f %6$.0f)
|
||||
warpdrive.transporter_signature.status_line.invalid=§cNo transporter room linked
|
||||
warpdrive.transporter_signature.status_line.invalid=No transporter room linked
|
||||
warpdrive.transporter_signature.status_line.valid=Linked to transporter room %1$s\n§8%2$s
|
||||
warpdrive.transporter_signature.get_missing=§cTransporter room has no signature yet!
|
||||
warpdrive.transporter_signature.get_same=§cTransporter beacon is already linked to %1$s.
|
||||
warpdrive.transporter_signature.get_missing=Transporter room has no signature yet!
|
||||
warpdrive.transporter_signature.get_same=Transporter beacon is already linked to %1$s.
|
||||
warpdrive.transporter_signature.get=Transporter beacon is now linked to %1$s.
|
||||
warpdrive.transporter_signature.set_missing=§cTransporter beacon needs to be linked first!
|
||||
warpdrive.transporter_signature.set_self=§cTransporter room can't target itself!
|
||||
warpdrive.transporter_signature.set_same=§cTransporter room is already linked to %1$s.
|
||||
warpdrive.transporter_signature.set_missing=Transporter beacon needs to be linked first!
|
||||
warpdrive.transporter_signature.set_self=Transporter room can't target itself!
|
||||
warpdrive.transporter_signature.set_same=Transporter room is already linked to %1$s.
|
||||
warpdrive.transporter_signature.set=Transporter room is now linked to %1$s.
|
||||
|
||||
warpdrive.world_border.in_range=Proximity alert: world border is only %1$d m away!
|
||||
|
|
|
@ -617,7 +617,7 @@ tile.warpdrive.hull.superior.stairs.black.name=黑色卓越船体楼梯
|
|||
|
||||
|
||||
warpdrive.guide.prefix=%1$s:
|
||||
warpdrive.error.bad_tile_entity=§c需要重放置以更新此方块.
|
||||
warpdrive.error.bad_tile_entity=需要重放置以更新此方块.
|
||||
warpdrive.error.internal_check_console=Internal error, check console for details
|
||||
|
||||
warpdrive.command.invalid_parameter=Invalid parameter %1$s
|
||||
|
@ -651,15 +651,15 @@ warpdrive.beam_frequency.tooltip=设置光束频率为%1$d
|
|||
warpdrive.beam_frequency.get=光束频率%2$d 已从 %1$s 断开
|
||||
warpdrive.beam_frequency.set=光束%1$s 正与频率 %2$d进行匹配
|
||||
warpdrive.beam_frequency.status_line.valid=光束频率%1$d有效
|
||||
warpdrive.beam_frequency.status_line.invalid=§c光束频率%1$d无效
|
||||
warpdrive.beam_frequency.status_line.undefined=§7未定义的光束频率.\n§b使用一个音叉§r进行设置
|
||||
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.status_line.valid=控制连接 %1$d 有效.
|
||||
warpdrive.control_channel.status_line.invalid=§c控制连接 %1$d 无效.
|
||||
warpdrive.control_channel.status_line.undefined=§7未定义控制连接.\n§b使用音叉§r进行设置.
|
||||
warpdrive.control_channel.status_line.invalid=控制连接 %1$d 无效.
|
||||
warpdrive.control_channel.status_line.undefined=未定义控制连接.\n§b使用音叉§r进行设置.
|
||||
|
||||
warpdrive.is_enabled.set.enabled=Switched ON!
|
||||
warpdrive.is_enabled.set.disabled=Switched off!
|
||||
|
@ -668,20 +668,20 @@ warpdrive.tooltip.item_tag.breathing_helmet=§b太空中呼吸§r消耗背包中
|
|||
warpdrive.tooltip.item_tag.fly_in_space=§b太空喷气背包§r.
|
||||
warpdrive.tooltip.item_tag.no_fall_damage=§b减少摔落伤害§r.
|
||||
|
||||
warpdrive.upgrade.result.no_upgrade_to_dismount=§c没有可卸载的升级
|
||||
warpdrive.upgrade.result.not_enough_upgrades=§c你需要至少一个物品去升级这个方块
|
||||
warpdrive.upgrade.result.invalid_upgrade=§c这不是一个能够升级升级方块的有效物品
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_projector=§c这个升级对于一个投影仪来说过于巨大,需要用一个继电器来替代它.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_relay=§c这个升级只适用于投影仪.
|
||||
warpdrive.upgrade.result.no_upgrade_to_dismount=没有可卸载的升级
|
||||
warpdrive.upgrade.result.not_enough_upgrades=你需要至少一个物品去升级这个方块
|
||||
warpdrive.upgrade.result.invalid_upgrade=这不是一个能够升级升级方块的有效物品
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_projector=这个升级对于一个投影仪来说过于巨大,需要用一个继电器来替代它.
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_relay=这个升级只适用于投影仪.
|
||||
warpdrive.upgrade.result.valid_upgrades=这个方块所能加载的有效升级包括: %1$s. @TODO 仍未加载
|
||||
warpdrive.upgrade.result.too_many_upgrades=§c这个 %1$d升级已经安装.
|
||||
warpdrive.upgrade.result.too_many_upgrades=这个 %1$d升级已经安装.
|
||||
warpdrive.upgrade.result.dismounted=升级 %1$s 已经被成功卸载.
|
||||
warpdrive.upgrade.result.mounted=升级 %1$s已被成功安装.
|
||||
|
||||
warpdrive.upgrade.result.wrong_shape_side=§c这一边没有电磁投影仪。
|
||||
warpdrive.upgrade.result.no_shape_to_dismount=§c没有模型可供卸载
|
||||
warpdrive.upgrade.result.not_enough_shapes.double=§c你需要至少两个物品去设定一个双面投影仪所投影的形状.
|
||||
warpdrive.upgrade.result.not_enough_shapes.single=§c你需要至少一个物品去设定一个单面投影仪所投影的形状.
|
||||
warpdrive.upgrade.result.wrong_shape_side=这一边没有电磁投影仪。
|
||||
warpdrive.upgrade.result.no_shape_to_dismount=没有模型可供卸载
|
||||
warpdrive.upgrade.result.not_enough_shapes.double=你需要至少两个物品去设定一个双面投影仪所投影的形状.
|
||||
warpdrive.upgrade.result.not_enough_shapes.single=你需要至少一个物品去设定一个单面投影仪所投影的形状.
|
||||
warpdrive.upgrade.result.shape_dismounted=模型卸载成功.
|
||||
warpdrive.upgrade.result.shape_mounted=模型加载成功.
|
||||
|
||||
|
@ -693,9 +693,9 @@ 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=§c视频通道 %1$d 无效.
|
||||
warpdrive.video_channel.status_line.not_loaded=§c视频通道 %1$d 无效或者是相机的距离太远!
|
||||
warpdrive.video_channel.status_line.undefined=§7未定义的视频通道.\n§b使用一个音叉§r 去设置它.
|
||||
warpdrive.video_channel.status_line.invalid=视频通道 %1$d 无效.
|
||||
warpdrive.video_channel.status_line.not_loaded=视频通道 %1$d 无效或者是相机的距离太远!
|
||||
warpdrive.video_channel.status_line.undefined=未定义的视频通道.\n§b使用一个音叉§r 去设置它.
|
||||
|
||||
|
||||
warpdrive.accelerator.guide.low_power.not_enough_storage=能量不足;我们需要%1$d的能量储备维持运转 目前仅剩%2$d
|
||||
|
@ -734,7 +734,7 @@ warpdrive.cloaking_core.missing_channeling_coils=完整度降低至 %1$d%%: %2$s
|
|||
warpdrive.cloaking_core.missing_projecting_coils=完整度降低至 %1$d%%: 预计丢失 %2$s 线圈
|
||||
warpdrive.cloaking_core.valid=系统认证
|
||||
warpdrive.cloaking_core.disabled=伪装被禁用
|
||||
warpdrive.cloaking_core.low_power=§c伪装失效,我们需要更多的能量.
|
||||
warpdrive.cloaking_core.low_power=伪装失效,我们需要更多的能量.
|
||||
warpdrive.cloaking_core.cloaking=一个层级 %1$d 伪装目前覆盖 %2$d方块!
|
||||
|
||||
warpdrive.compat.guide.block_detected_on_board=%1$s detected on board!
|
||||
|
@ -751,7 +751,7 @@ warpdrive.energy.side.changed_to_disabled=%1$s侧面更改为禁用模式!
|
|||
|
||||
warpdrive.force_field.guide.low_power=舰长,我们的能量已耗尽,请降低能耗或者找一个苏格兰工程师恢复能量!
|
||||
|
||||
warpdrive.force_field.shape.status_line.none=§c形状未定义.
|
||||
warpdrive.force_field.shape.status_line.none=形状未定义.
|
||||
warpdrive.force_field.shape.status_line.double=形状是完整的%1$s
|
||||
warpdrive.force_field.shape.status_line.single=形状是半个%1$s
|
||||
warpdrive.force_field.shape.status_line.sphere=球体
|
||||
|
@ -826,27 +826,29 @@ warpdrive.security_station.guide.registered_players=所属的玩家: %1$s
|
|||
warpdrive.security_station.guide.player_registered=You're now registered on this security station.\nRegistered players are %1$s
|
||||
warpdrive.security_station.guide.player_unregistered=You've been unregistered from this security station.\nAttached players are %1$s
|
||||
|
||||
# Note for translators: you want to keep each line shorter than 50 characters so that it fits on computer screens.
|
||||
warpdrive.ship.guide.cooling_countdown=Ship core is cooling down... %1$d s to go...
|
||||
warpdrive.ship.guide.pre_jumping=Running pre-jump checklist...
|
||||
warpdrive.ship.guide.warming_up=Ship core is warming up... %1$d s to go...
|
||||
warpdrive.ship.guide.insufficient_energy=Jump aborted! Insufficient energy in core.
|
||||
warpdrive.ship.guide.warp_field_overlapping=Jump aborted! Own warp field contains another ship. Disable other core to continue.
|
||||
warpdrive.ship.guide.cloaking_field_overlapping=Jump aborted! Core is cloaked, disable cloak to continue!
|
||||
warpdrive.ship.guide.movement_aborted=Movement aborted!
|
||||
warpdrive.ship.guide.insufficient_energy=Insufficient energy in core.
|
||||
warpdrive.ship.guide.warp_field_overlapping=Own warp field contains another ship.\nDisable other core to continue.
|
||||
warpdrive.ship.guide.cloaking_field_overlapping=Core is cloaked.\nDisable cloak to continue.
|
||||
warpdrive.ship.guide.pre_jump_success=Ok
|
||||
warpdrive.ship.guide.too_large_side_for_tier=Error: ship is too large (max is %1$d per side)\nUpgrade ship core or reduce span!
|
||||
warpdrive.ship.guide.too_much_mass_for_planet=Ship is too big for a planet (max is %1$d blocks while ship mass is %2$d blocks).\nReduce your mass!
|
||||
warpdrive.ship.guide.insufficient_mass_for_tier=Ship is too small for its category (%2$d < %1$d).\nDowngrade your ship core or increase your mass!
|
||||
warpdrive.ship.guide.too_much_mass_for_tier=Ship is too big for its category (%2$d > %1$d).\nUpgrade your ship core or reduce your mass!
|
||||
warpdrive.ship.guide.insufficient_mass_for_hyperspace=Ship is too small to engage Alcubierre drive (%1$d/%2$d).\nIncrease your mass to reach hyperspace.
|
||||
warpdrive.ship.guide.jumpgate_is_too_far=Ship is not inside a jumpgate. Jump rejected.
|
||||
warpdrive.ship.guide.jumpgate_partially_entered=Ship is only %.1f%% inside a jumpgate. Sorry, we'll loose too much crew as is, jump rejected.
|
||||
warpdrive.ship.guide.jumpgate_not_defined=Destination jumpgate '%1$s' is unknown. Check jumpgate name.
|
||||
warpdrive.ship.guide.jumpgate_blocked=Destination gate is blocked by obstacles. Aborting...
|
||||
warpdrive.ship.guide.target_outside_planet_border=Target ship position is outside planet border, unable to jump!\nWorld borders are (%1$d %2$d %3$d) to (%4$d %5$d %6$d).
|
||||
warpdrive.ship.guide.too_large_side_for_tier=Ship is too large, max is %1$d per side.\nUpgrade ship core or reduce span.
|
||||
warpdrive.ship.guide.too_much_mass_for_planet=Ship is too big for a planet.\nReduce your mass below %1$d blocks.
|
||||
warpdrive.ship.guide.insufficient_mass_for_tier=Ship is too small, min is %1$d block.\nDowngrade ship core or increase mass.
|
||||
warpdrive.ship.guide.too_much_mass_for_tier=Ship is too big, max is %1$d blocks.\nUpgrade ship core or reduce your mass.
|
||||
warpdrive.ship.guide.insufficient_mass_for_hyperspace=Ship is too small to engage Alcubierre drive.\nIncrease your mass to %2$d.
|
||||
warpdrive.ship.guide.jumpgate_is_too_far=Ship is not inside a jumpgate.
|
||||
warpdrive.ship.guide.jumpgate_partially_entered=Ship is only %.1f%% inside a jumpgate.\nSorry, we'll loose too much crew as is.
|
||||
warpdrive.ship.guide.jumpgate_not_defined=Destination jumpgate '%1$s' is unknown.
|
||||
warpdrive.ship.guide.jumpgate_blocked=Destination gate is blocked by obstacles.
|
||||
warpdrive.ship.guide.target_outside_planet_border=Target position is outside planet border!\nWorld borders are (%1$d %2$d %3$d) to (%4$d %5$d %6$d).
|
||||
warpdrive.ship.guide.invalid_y_coordinates=Invalid Y coordinate(s), check ship dimensions...
|
||||
warpdrive.ship.guide.invalid_state=Invalid state, aborting jump...
|
||||
warpdrive.ship.guide.overlapping_source_and_target=Jump aborted. Increase jump distance to continue.
|
||||
warpdrive.ship.guide.not_enough_space_after_adjustment=\nNot enough space after adjustment, jump aborted!
|
||||
warpdrive.ship.guide.overlapping_source_and_target=Target is too close. Increase jump distance to continue.
|
||||
warpdrive.ship.guide.not_enough_space_after_adjustment=Not enough space after adjustment.
|
||||
warpdrive.ship.guide.entering_hyperspace=Entering hyperspace...
|
||||
warpdrive.ship.guide.leaving_hyperspace=Leaving hyperspace...
|
||||
warpdrive.ship.guide.engaging_jumpgate_x=Engaging jumpgate towards %1$s!
|
||||
|
@ -854,36 +856,32 @@ warpdrive.ship.guide.jumping_xyz=Jumping of %1$d blocks (XYZ %2$d %3$d %4$d)
|
|||
warpdrive.ship.guide.turning_right=Turning to the right
|
||||
warpdrive.ship.guide.turning_back=Turning back
|
||||
warpdrive.ship.guide.turning_left=Turning to the left
|
||||
warpdrive.ship.guide.anchor_block_detected=Jump aborted by on-board anchor block %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_entity_detected=Anchor entity %1$s detected at (%2$d %3$d %4$d), aborting jump...
|
||||
warpdrive.ship.guide.block_not_ready_for_jump=Jump aborted by on-board block %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_block_detected=On-board anchor block %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_entity_detected=Anchor entity %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.block_not_ready_for_jump=On-board block %1$s at (%2$d %3$d %4$d) is not ready.
|
||||
warpdrive.ship.guide.ship_snagged1=Ship snagged by %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.ship_snagged2=Sneak right click the ship core to see your ship dimensions, then update your ship dimensions.
|
||||
warpdrive.ship.guide.corrupted_block=Exception while saving ship, probably a corrupted block %1$s.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_source_world=Chunkloading rejected in source world %1$s. Aborting.
|
||||
warpdrive.ship.guide.too_many_source_chunks_to_load=Ship is extending over %1$d chunks in source world.
|
||||
warpdrive.ship.guide.max_chunkloading=Max is currently set to %2$d in config/forgeChunkLoading.cfg. Aborting.\nClose the game, change your config/forgeChunkLoading.cfg configuration and try again.
|
||||
warpdrive.ship.guide.save_exception=Exception while saving ship block %1$s.\nCheck console for details.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_source_world=Chunkloading rejected in source world %1$s.
|
||||
warpdrive.ship.guide.too_many_chunks_to_load=Ship extends over %1$d chunks.\nMax is set to %2$d in config/forgeChunkLoading.cfg.
|
||||
warpdrive.ship.guide.max_chunkloading=Close the game, update config/forgeChunkLoading.cfg, then try again.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_target_world=Chunkloading rejected in target world %s. Aborting.
|
||||
warpdrive.ship.guide.too_many_target_chunks_to_load=Ship is extending over %1$d chunks in target world.
|
||||
warpdrive.ship.guide.no_celestial_object_in_hyperspace=No star system exists in %1$s (%2$d), there's nowhere to exit hyperspace!
|
||||
warpdrive.ship.guide.no_star_system_in_hyperspace=Ship is outside any star system, unable to exit hyperspace!\nClosest start system is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_load_space_dimension=Unable to load Space dimension %1$d, aborting jump.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_from_planet=Unable to reach hyperspace from a planet!
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_no_parent=Unable to reach hyperspace!\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_load_hyperspace_dimension=Unable to load Hyperspace dimension %1$d, aborting jump.
|
||||
warpdrive.ship.guide.unable_to_reach_space_no_parent=There's no parent defined for %1$s (%2$d), unable to reach space!
|
||||
warpdrive.ship.guide.unable_to_reach_space_outside_border=Ship is outside planet border, unable to reach space!\nClosest transition area is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.no_celestial_object_in_space=No planet exists in %1$s (%2$d), there's nowhere to land!
|
||||
warpdrive.ship.guide.unable_to_land_outside_orbit=We're not in orbit of planet, unable to land!\nClosest planet is %1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_land_virtual_planet=Sorry, we can't go to %1$s. This is a virtual celestial object. It's either a decorative planet or a server misconfiguration.
|
||||
warpdrive.ship.guide.unable_to_land_invalid_id=Sorry, we can't land on %1$s because dimension %2$d isn't defined. It might be a missing mod or a server misconfiguration.
|
||||
warpdrive.ship.guide.ship_collision=Ship collision detected around (%1$d %2$d %3$d). Damage report pending...
|
||||
warpdrive.ship.guide.impassable_block_detected=Impassable %1$s detected at destination (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.no_star_system_in_range=Ship won't survive in deep space.\nClosest star system is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.exception_loading_dimension=Unable to load dimension %1$d.\nCheck console for a missing mod or configuration.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_from_planet=Unable to engage Alcubierre drive on a planet.\nGet into orbit, then try again.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_no_parent=Current location has no hyperspace connection.\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_reach_space_no_parent=Current location as no space connection.\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_reach_space_outside_border=Ship is outside planet border.\nClosest transition area is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.no_celestial_object_in_space=There's nowhere to land.\nNo planet exists in %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_land_outside_orbit=Ship isn't orbiting of planet, unable to land!\nClosest planet is %1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_land_virtual_planet=Celestial object %1$s is out of reach.\nIt's either a decorative planet or a server misconfiguration.
|
||||
warpdrive.ship.guide.ship_collision=Collision detected around (%1$d %2$d %3$d).\nSend a maintenance team to check for damages!
|
||||
warpdrive.ship.guide.impassable_block_detected=Impassable %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.obstacle_block_detected=Obstacle %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.entering_protected_area=Ship is entering a protected area at (%1$d %2$d %3$d).
|
||||
warpdrive.ship.guide.entering_protected_area=Entering protected area at (%1$d %2$d %3$d).
|
||||
warpdrive.ship.guide.moving_too_high=Ship core is moving too high.
|
||||
warpdrive.ship.guide.moving_too_low=Ship core is moving too low.
|
||||
warpdrive.ship.guide.jump_aborted=Jump aborted!
|
||||
warpdrive.ship.guide.jump_done=Jump done
|
||||
warpdrive.ship.guide.schematic_not_found=Schematic not found or unknown error reading it: '%1$s'.
|
||||
warpdrive.ship.guide.schematic_invalid_format=Invalid schematic format: %1$s
|
||||
|
@ -894,14 +892,14 @@ warpdrive.ship.status_line.isolation=%1$d有效的隔离方块提供%2$s%%吸收
|
|||
warpdrive.teleportation.guide.no_safe_spot=No safe spot found to summon player %1$s
|
||||
|
||||
warpdrive.transporter.status_line.from_to=从 (%1$.0f %2$.0f %3$.0f) 到 (%4$.0f %5$.0f %6$.0f)
|
||||
warpdrive.transporter_signature.status_line.invalid=§cNo transporter room linked
|
||||
warpdrive.transporter_signature.status_line.invalid=No transporter room linked
|
||||
warpdrive.transporter_signature.status_line.valid=Linked to transporter room %1$s\n§8%2$s
|
||||
warpdrive.transporter_signature.get_missing=§cTransporter room has no signature yet!
|
||||
warpdrive.transporter_signature.get_same=§cTransporter beacon is already linked to %1$s.
|
||||
warpdrive.transporter_signature.get_missing=Transporter room has no signature yet!
|
||||
warpdrive.transporter_signature.get_same=Transporter beacon is already linked to %1$s.
|
||||
warpdrive.transporter_signature.get=Transporter beacon is now linked to %1$s.
|
||||
warpdrive.transporter_signature.set_missing=§cTransporter beacon needs to be linked first!
|
||||
warpdrive.transporter_signature.set_self=§cTransporter room can't target itself!
|
||||
warpdrive.transporter_signature.set_same=§cTransporter room is already linked to %1$s.
|
||||
warpdrive.transporter_signature.set_missing=Transporter beacon needs to be linked first!
|
||||
warpdrive.transporter_signature.set_self=Transporter room can't target itself!
|
||||
warpdrive.transporter_signature.set_same=Transporter room is already linked to %1$s.
|
||||
warpdrive.transporter_signature.set=Transporter room is now linked to %1$s.
|
||||
|
||||
warpdrive.world_border.in_range=Proximity alert: world border is only %1$d m away!
|
||||
|
|
|
@ -614,7 +614,7 @@ tile.warpdrive.hull.superior.stairs.black.name=黑色高階船體階梯
|
|||
|
||||
|
||||
warpdrive.guide.prefix=%1$s:
|
||||
warpdrive.error.bad_tile_entity=§c該塊需要重新放置。
|
||||
warpdrive.error.bad_tile_entity=該塊需要重新放置。
|
||||
warpdrive.error.internal_check_console=Internal error, check console for details
|
||||
|
||||
warpdrive.command.invalid_parameter=Invalid parameter %1$s
|
||||
|
@ -648,15 +648,15 @@ warpdrive.beam_frequency.tooltip=光束頻率設置為 %1$d
|
|||
warpdrive.beam_frequency.get=Beam frequency %2$d has been retrieved from %1$s
|
||||
warpdrive.beam_frequency.set=%1$s 現在與波束頻率對準 %2$d
|
||||
warpdrive.beam_frequency.status_line.valid=光束頻率 %1$d 已驗證。
|
||||
warpdrive.beam_frequency.status_line.invalid=§c光束頻率 %1$d 是無效的。
|
||||
warpdrive.beam_frequency.status_line.undefined=§7無效的光束頻率。\n§bUse 使用調音叉§r 來設置。
|
||||
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.status_line.valid=Control channel %1$d is valid.
|
||||
warpdrive.control_channel.status_line.invalid=§cControl channel %1$d is invalid.
|
||||
warpdrive.control_channel.status_line.undefined=§7Undefined Control channel.\n§bUse a Tuning fork§r to set it.
|
||||
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.
|
||||
|
||||
warpdrive.is_enabled.set.enabled=Switched ON!
|
||||
warpdrive.is_enabled.set.disabled=Switched off!
|
||||
|
@ -666,20 +666,20 @@ warpdrive.tooltip.item_tag.breathing_helmet=§bSpace breathing§r consuming Air
|
|||
warpdrive.tooltip.item_tag.fly_in_space=§b空間噴氣背包§r.
|
||||
warpdrive.tooltip.item_tag.no_fall_damage=§b吸收跌落傷害§r.
|
||||
|
||||
warpdrive.upgrade.result.no_upgrade_to_dismount=§c無需升級即可卸載。
|
||||
warpdrive.upgrade.result.not_enough_upgrades=§c您需要至少1個才能升級此塊。
|
||||
warpdrive.upgrade.result.invalid_upgrade=§c這不是升級此方塊的有效項。
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_projector=§c此升級對於投射器而言太大,請改用繼電器。
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_relay=§c此升級僅適用於投射器。
|
||||
warpdrive.upgrade.result.no_upgrade_to_dismount=無需升級即可卸載。
|
||||
warpdrive.upgrade.result.not_enough_upgrades=您需要至少1個才能升級此塊。
|
||||
warpdrive.upgrade.result.invalid_upgrade=這不是升級此方塊的有效項。
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_projector=此升級對於投射器而言太大,請改用繼電器。
|
||||
warpdrive.upgrade.result.invalid_upgrade_for_relay=此升級僅適用於投射器。
|
||||
warpdrive.upgrade.result.valid_upgrades=此方塊塊的有效升級包括: %1$s. @TODO 尚未執行。
|
||||
warpdrive.upgrade.result.too_many_upgrades=§c已經有 %1$d 升級安裝。
|
||||
warpdrive.upgrade.result.too_many_upgrades=已經有 %1$d 升級安裝。
|
||||
warpdrive.upgrade.result.dismounted=升級 %1$s 成功卸下。
|
||||
warpdrive.upgrade.result.mounted=升級 %1$s 已成功掛載。
|
||||
|
||||
warpdrive.upgrade.result.wrong_shape_side=§c這邊沒有電磁投射器。
|
||||
warpdrive.upgrade.result.no_shape_to_dismount=§c沒有形狀來卸下。
|
||||
warpdrive.upgrade.result.not_enough_shapes.double=§c您需要至少2個項目來設置雙面投射器的形狀。
|
||||
warpdrive.upgrade.result.not_enough_shapes.single=§c至少需要1個項目來設置單面投射器的形狀。
|
||||
warpdrive.upgrade.result.wrong_shape_side=這邊沒有電磁投射器。
|
||||
warpdrive.upgrade.result.no_shape_to_dismount=沒有形狀來卸下。
|
||||
warpdrive.upgrade.result.not_enough_shapes.double=您需要至少2個項目來設置雙面投射器的形狀。
|
||||
warpdrive.upgrade.result.not_enough_shapes.single=至少需要1個項目來設置單面投射器的形狀。
|
||||
warpdrive.upgrade.result.shape_dismounted=已成功卸載形狀。
|
||||
warpdrive.upgrade.result.shape_mounted=形狀已成功安裝。
|
||||
|
||||
|
@ -691,9 +691,9 @@ 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=§c視頻頻道 %1$d 是無效的。
|
||||
warpdrive.video_channel.status_line.not_loaded=§c視頻頻道 %1$d 是無效的或者錄像機太過遙遠。
|
||||
warpdrive.video_channel.status_line.undefined=§7未定義的視頻通道。\n§bUse 調音叉§r 來設定。
|
||||
warpdrive.video_channel.status_line.invalid=視頻頻道 %1$d 是無效的。
|
||||
warpdrive.video_channel.status_line.not_loaded=視頻頻道 %1$d 是無效的或者錄像機太過遙遠。
|
||||
warpdrive.video_channel.status_line.undefined=未定義的視頻通道。\n§bUse 調音叉§r 來設定。
|
||||
|
||||
|
||||
warpdrive.accelerator.guide.low_power.not_enough_storage=Energy storage is too low; we need at least %1$d to continue operation but can only store %2$d
|
||||
|
@ -732,7 +732,7 @@ warpdrive.cloaking_core.missing_channeling_coils=Integrity down to %1$d%%: missi
|
|||
warpdrive.cloaking_core.missing_projecting_coils=Integrity down to %1$d%%: missing projecting coil(s) towards %2$s
|
||||
warpdrive.cloaking_core.valid=System is valid
|
||||
warpdrive.cloaking_core.disabled=僞裝無效!
|
||||
warpdrive.cloaking_core.low_power=§c僞裝失效了,我們需要更多的能量!艦長!
|
||||
warpdrive.cloaking_core.low_power=僞裝失效了,我們需要更多的能量!艦長!
|
||||
warpdrive.cloaking_core.cloaking=A 層 %1$d 僞裝目前正確覆蓋 %2$d 區域!
|
||||
|
||||
warpdrive.compat.guide.block_detected_on_board=%1$s detected on board!
|
||||
|
@ -749,7 +749,7 @@ warpdrive.energy.side.changed_to_disabled=%1$s 側面變為能量禁用模式!
|
|||
|
||||
warpdrive.force_field.guide.low_power=我們的能量用完了,艦長!減少消耗,或讓引擎長提高我們的輸出!
|
||||
|
||||
warpdrive.force_field.shape.status_line.none=§c形狀未定義。
|
||||
warpdrive.force_field.shape.status_line.none=形狀未定義。
|
||||
warpdrive.force_field.shape.status_line.double=形狀是滿的 %1$s
|
||||
warpdrive.force_field.shape.status_line.single=形狀是一半 %1$s
|
||||
warpdrive.force_field.shape.status_line.sphere=領域
|
||||
|
@ -824,27 +824,29 @@ warpdrive.security_station.guide.registered_players=屬於: %1$s
|
|||
warpdrive.security_station.guide.player_registered=You're now registered on this security station.\nRegistered players are %1$s
|
||||
warpdrive.security_station.guide.player_unregistered=You've been unregistered from this security station.\nAttached players are %1$s
|
||||
|
||||
# Note for translators: you want to keep each line shorter than 50 characters so that it fits on computer screens.
|
||||
warpdrive.ship.guide.cooling_countdown=Ship core is cooling down... %1$d s to go...
|
||||
warpdrive.ship.guide.pre_jumping=Running pre-jump checklist...
|
||||
warpdrive.ship.guide.warming_up=Ship core is warming up... %1$d s to go...
|
||||
warpdrive.ship.guide.insufficient_energy=Jump aborted! Insufficient energy in core.
|
||||
warpdrive.ship.guide.warp_field_overlapping=Jump aborted! Own warp field contains another ship. Disable other core to continue.
|
||||
warpdrive.ship.guide.cloaking_field_overlapping=Jump aborted! Core is cloaked, disable cloak to continue!
|
||||
warpdrive.ship.guide.movement_aborted=Movement aborted!
|
||||
warpdrive.ship.guide.insufficient_energy=Insufficient energy in core.
|
||||
warpdrive.ship.guide.warp_field_overlapping=Own warp field contains another ship.\nDisable other core to continue.
|
||||
warpdrive.ship.guide.cloaking_field_overlapping=Core is cloaked.\nDisable cloak to continue.
|
||||
warpdrive.ship.guide.pre_jump_success=Ok
|
||||
warpdrive.ship.guide.too_large_side_for_tier=Error: ship is too large (max is %1$d per side)\nUpgrade ship core or reduce span!
|
||||
warpdrive.ship.guide.too_much_mass_for_planet=Ship is too big for a planet (max is %1$d blocks while ship mass is %2$d blocks).\nReduce your mass!
|
||||
warpdrive.ship.guide.insufficient_mass_for_tier=Ship is too small for its category (%2$d < %1$d).\nDowngrade your ship core or increase your mass!
|
||||
warpdrive.ship.guide.too_much_mass_for_tier=Ship is too big for its category (%2$d > %1$d).\nUpgrade your ship core or reduce your mass!
|
||||
warpdrive.ship.guide.insufficient_mass_for_hyperspace=Ship is too small to engage Alcubierre drive (%1$d/%2$d).\nIncrease your mass to reach hyperspace.
|
||||
warpdrive.ship.guide.jumpgate_is_too_far=Ship is not inside a jumpgate. Jump rejected.
|
||||
warpdrive.ship.guide.jumpgate_partially_entered=Ship is only %.1f%% inside a jumpgate. Sorry, we'll loose too much crew as is, jump rejected.
|
||||
warpdrive.ship.guide.jumpgate_not_defined=Destination jumpgate '%1$s' is unknown. Check jumpgate name.
|
||||
warpdrive.ship.guide.jumpgate_blocked=Destination gate is blocked by obstacles. Aborting...
|
||||
warpdrive.ship.guide.target_outside_planet_border=Target ship position is outside planet border, unable to jump!\nWorld borders are (%1$d %2$d %3$d) to (%4$d %5$d %6$d).
|
||||
warpdrive.ship.guide.too_large_side_for_tier=Ship is too large, max is %1$d per side.\nUpgrade ship core or reduce span.
|
||||
warpdrive.ship.guide.too_much_mass_for_planet=Ship is too big for a planet.\nReduce your mass below %1$d blocks.
|
||||
warpdrive.ship.guide.insufficient_mass_for_tier=Ship is too small, min is %1$d block.\nDowngrade ship core or increase mass.
|
||||
warpdrive.ship.guide.too_much_mass_for_tier=Ship is too big, max is %1$d blocks.\nUpgrade ship core or reduce your mass.
|
||||
warpdrive.ship.guide.insufficient_mass_for_hyperspace=Ship is too small to engage Alcubierre drive.\nIncrease your mass to %2$d.
|
||||
warpdrive.ship.guide.jumpgate_is_too_far=Ship is not inside a jumpgate.
|
||||
warpdrive.ship.guide.jumpgate_partially_entered=Ship is only %.1f%% inside a jumpgate.\nSorry, we'll loose too much crew as is.
|
||||
warpdrive.ship.guide.jumpgate_not_defined=Destination jumpgate '%1$s' is unknown.
|
||||
warpdrive.ship.guide.jumpgate_blocked=Destination gate is blocked by obstacles.
|
||||
warpdrive.ship.guide.target_outside_planet_border=Target position is outside planet border!\nWorld borders are (%1$d %2$d %3$d) to (%4$d %5$d %6$d).
|
||||
warpdrive.ship.guide.invalid_y_coordinates=Invalid Y coordinate(s), check ship dimensions...
|
||||
warpdrive.ship.guide.invalid_state=Invalid state, aborting jump...
|
||||
warpdrive.ship.guide.overlapping_source_and_target=Jump aborted. Increase jump distance to continue.
|
||||
warpdrive.ship.guide.not_enough_space_after_adjustment=\nNot enough space after adjustment, jump aborted!
|
||||
warpdrive.ship.guide.overlapping_source_and_target=Target is too close. Increase jump distance to continue.
|
||||
warpdrive.ship.guide.not_enough_space_after_adjustment=Not enough space after adjustment.
|
||||
warpdrive.ship.guide.entering_hyperspace=Entering hyperspace...
|
||||
warpdrive.ship.guide.leaving_hyperspace=Leaving hyperspace...
|
||||
warpdrive.ship.guide.engaging_jumpgate_x=Engaging jumpgate towards %1$s!
|
||||
|
@ -852,36 +854,32 @@ warpdrive.ship.guide.jumping_xyz=Jumping of %1$d blocks (XYZ %2$d %3$d %4$d)
|
|||
warpdrive.ship.guide.turning_right=Turning to the right
|
||||
warpdrive.ship.guide.turning_back=Turning back
|
||||
warpdrive.ship.guide.turning_left=Turning to the left
|
||||
warpdrive.ship.guide.anchor_block_detected=Jump aborted by on-board anchor block %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_entity_detected=Anchor entity %1$s detected at (%2$d %3$d %4$d), aborting jump...
|
||||
warpdrive.ship.guide.block_not_ready_for_jump=Jump aborted by on-board block %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_block_detected=On-board anchor block %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.anchor_entity_detected=Anchor entity %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.block_not_ready_for_jump=On-board block %1$s at (%2$d %3$d %4$d) is not ready.
|
||||
warpdrive.ship.guide.ship_snagged1=Ship snagged by %1$s at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.ship_snagged2=Sneak right click the ship core to see your ship dimensions, then update your ship dimensions.
|
||||
warpdrive.ship.guide.corrupted_block=Exception while saving ship, probably a corrupted block %1$s.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_source_world=Chunkloading rejected in source world %1$s. Aborting.
|
||||
warpdrive.ship.guide.too_many_source_chunks_to_load=Ship is extending over %1$d chunks in source world.
|
||||
warpdrive.ship.guide.max_chunkloading=Max is currently set to %2$d in config/forgeChunkLoading.cfg. Aborting.\nClose the game, change your config/forgeChunkLoading.cfg configuration and try again.
|
||||
warpdrive.ship.guide.save_exception=Exception while saving ship block %1$s.\nCheck console for details.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_source_world=Chunkloading rejected in source world %1$s.
|
||||
warpdrive.ship.guide.too_many_chunks_to_load=Ship extends over %1$d chunks.\nMax is set to %2$d in config/forgeChunkLoading.cfg.
|
||||
warpdrive.ship.guide.max_chunkloading=Close the game, update config/forgeChunkLoading.cfg, then try again.
|
||||
warpdrive.ship.guide.chunkloading_rejected_in_target_world=Chunkloading rejected in target world %s. Aborting.
|
||||
warpdrive.ship.guide.too_many_target_chunks_to_load=Ship is extending over %1$d chunks in target world.
|
||||
warpdrive.ship.guide.no_celestial_object_in_hyperspace=No star system exists in %1$s (%2$d), there's nowhere to exit hyperspace!
|
||||
warpdrive.ship.guide.no_star_system_in_hyperspace=Ship is outside any star system, unable to exit hyperspace!\nClosest start system is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_load_space_dimension=Unable to load Space dimension %1$d, aborting jump.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_from_planet=Unable to reach hyperspace from a planet!
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_no_parent=Unable to reach hyperspace!\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_load_hyperspace_dimension=Unable to load Hyperspace dimension %1$d, aborting jump.
|
||||
warpdrive.ship.guide.unable_to_reach_space_no_parent=There's no parent defined for %1$s (%2$d), unable to reach space!
|
||||
warpdrive.ship.guide.unable_to_reach_space_outside_border=Ship is outside planet border, unable to reach space!\nClosest transition area is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.no_celestial_object_in_space=No planet exists in %1$s (%2$d), there's nowhere to land!
|
||||
warpdrive.ship.guide.unable_to_land_outside_orbit=We're not in orbit of planet, unable to land!\nClosest planet is %1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_land_virtual_planet=Sorry, we can't go to %1$s. This is a virtual celestial object. It's either a decorative planet or a server misconfiguration.
|
||||
warpdrive.ship.guide.unable_to_land_invalid_id=Sorry, we can't land on %1$s because dimension %2$d isn't defined. It might be a missing mod or a server misconfiguration.
|
||||
warpdrive.ship.guide.ship_collision=Ship collision detected around (%1$d %2$d %3$d). Damage report pending...
|
||||
warpdrive.ship.guide.impassable_block_detected=Impassable %1$s detected at destination (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.no_star_system_in_range=Ship won't survive in deep space.\nClosest star system is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.exception_loading_dimension=Unable to load dimension %1$d.\nCheck console for a missing mod or configuration.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_from_planet=Unable to engage Alcubierre drive on a planet.\nGet into orbit, then try again.
|
||||
warpdrive.ship.guide.unable_to_reach_hyperspace_no_parent=Current location has no hyperspace connection.\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_reach_space_no_parent=Current location as no space connection.\nThere's no parent defined for %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_reach_space_outside_border=Ship is outside planet border.\nClosest transition area is ~%1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.no_celestial_object_in_space=There's nowhere to land.\nNo planet exists in %1$s (%2$d).
|
||||
warpdrive.ship.guide.unable_to_land_outside_orbit=Ship isn't orbiting of planet, unable to land!\nClosest planet is %1$d m away (%2$d %3$d %4$d) to (%5$d %6$d %7$d).
|
||||
warpdrive.ship.guide.unable_to_land_virtual_planet=Celestial object %1$s is out of reach.\nIt's either a decorative planet or a server misconfiguration.
|
||||
warpdrive.ship.guide.ship_collision=Collision detected around (%1$d %2$d %3$d).\nSend a maintenance team to check for damages!
|
||||
warpdrive.ship.guide.impassable_block_detected=Impassable %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.obstacle_block_detected=Obstacle %1$s detected at (%2$d %3$d %4$d).
|
||||
warpdrive.ship.guide.entering_protected_area=Ship is entering a protected area at (%1$d %2$d %3$d).
|
||||
warpdrive.ship.guide.entering_protected_area=Entering protected area at (%1$d %2$d %3$d).
|
||||
warpdrive.ship.guide.moving_too_high=Ship core is moving too high.
|
||||
warpdrive.ship.guide.moving_too_low=Ship core is moving too low.
|
||||
warpdrive.ship.guide.jump_aborted=Jump aborted!
|
||||
warpdrive.ship.guide.jump_done=Jump done
|
||||
warpdrive.ship.guide.schematic_not_found=Schematic not found or unknown error reading it: '%1$s'.
|
||||
warpdrive.ship.guide.schematic_invalid_format=Invalid schematic format: %1$s
|
||||
|
@ -892,14 +890,14 @@ warpdrive.ship.status_line.isolation=%1$d 主動隔離塊由 %2$s%% 吸收。
|
|||
warpdrive.teleportation.guide.no_safe_spot=No safe spot found to summon player %1$s
|
||||
|
||||
warpdrive.transporter.status_line.from_to=From (%1$.0f %2$.0f %3$.0f) to (%4$.0f %5$.0f %6$.0f)
|
||||
warpdrive.transporter_signature.status_line.invalid=§cNo transporter room linked
|
||||
warpdrive.transporter_signature.status_line.invalid=No transporter room linked
|
||||
warpdrive.transporter_signature.status_line.valid=Linked to transporter room %1$s\n§8%2$s
|
||||
warpdrive.transporter_signature.get_missing=§cTransporter room has no signature yet!
|
||||
warpdrive.transporter_signature.get_same=§cTransporter beacon is already linked to %1$s.
|
||||
warpdrive.transporter_signature.get_missing=Transporter room has no signature yet!
|
||||
warpdrive.transporter_signature.get_same=Transporter beacon is already linked to %1$s.
|
||||
warpdrive.transporter_signature.get=Transporter beacon is now linked to %1$s.
|
||||
warpdrive.transporter_signature.set_missing=§cTransporter beacon needs to be linked first!
|
||||
warpdrive.transporter_signature.set_self=§cTransporter room can't target itself!
|
||||
warpdrive.transporter_signature.set_same=§cTransporter room is already linked to %1$s.
|
||||
warpdrive.transporter_signature.set_missing=Transporter beacon needs to be linked first!
|
||||
warpdrive.transporter_signature.set_self=Transporter room can't target itself!
|
||||
warpdrive.transporter_signature.set_same=Transporter room is already linked to %1$s.
|
||||
warpdrive.transporter_signature.set=Transporter room is now linked to %1$s.
|
||||
|
||||
warpdrive.world_border.in_range=Proximity alert: world border is only %1$d m away!
|
||||
|
|
|
@ -10,6 +10,7 @@ local data_handlers = { }
|
|||
local device_handlers = {}
|
||||
|
||||
local event_handlers = {}
|
||||
local event_timers = {}
|
||||
|
||||
local monitors = {}
|
||||
local monitor_textScale = 0.5
|
||||
|
@ -19,8 +20,8 @@ local page_endText = ""
|
|||
local page_callbackDisplay
|
||||
local page_callbackKey
|
||||
|
||||
local event_refreshPeriod_s = 3.0
|
||||
local event_refreshTimerId = -1
|
||||
local run_refreshPeriod_s = 3.0
|
||||
local status_period_s = 1.0
|
||||
|
||||
local styles = {
|
||||
normal = { front = colors.black , back = colors.lightGray },
|
||||
|
@ -38,8 +39,8 @@ local styles = {
|
|||
----------- Terminal & monitor support
|
||||
|
||||
local function setMonitorColorFrontBack(colorFront, colorBackground)
|
||||
term.setBackgroundColor(colorBackground)
|
||||
term.setTextColor(colorFront)
|
||||
term.setBackgroundColor(colorBackground)
|
||||
if monitors ~= nil then
|
||||
for key, monitor in pairs(monitors) do
|
||||
monitor.setTextColor(colorFront)
|
||||
|
@ -265,10 +266,12 @@ end
|
|||
|
||||
local status_clockTarget = -1 -- < 0 when stopped, < clock when elapsed, > clock when ticking
|
||||
local status_isWarning = false
|
||||
local status_line = 0
|
||||
local status_text = ""
|
||||
local function status_clear()
|
||||
if status_clockTarget > 0 then
|
||||
status_clockTarget = -1
|
||||
w.event_timer_stop("status")
|
||||
local xSize, ySize = w.getResolution()
|
||||
w.setCursorPos(1, ySize)
|
||||
w.setColorNormal()
|
||||
|
@ -280,38 +283,43 @@ local function status_isActive()
|
|||
end
|
||||
local function status_show(isWarning, text)
|
||||
if isWarning or not w.status_isActive() then
|
||||
if isWarning then
|
||||
status_clockTarget = w.event_clock() + 1.0
|
||||
else
|
||||
status_clockTarget = w.event_clock() + 0.5
|
||||
end
|
||||
status_line = 1
|
||||
status_isWarning = isWarning
|
||||
if text ~= nil then
|
||||
status_text = text
|
||||
else
|
||||
status_text = "???"
|
||||
status_text = {}
|
||||
local textToParse = text or "???"
|
||||
for line in string.gmatch(textToParse, "[^\n]+") do
|
||||
if line ~= "" then
|
||||
table.insert(status_text, line)
|
||||
end
|
||||
end
|
||||
w.status_refresh()
|
||||
if isWarning then
|
||||
status_clockTarget = w.event_clock() + 1.0 * #status_text
|
||||
else
|
||||
status_clockTarget = w.event_clock() + 0.5 * #status_text
|
||||
end
|
||||
w.event_timer_start("status", status_period_s, "timer_status")
|
||||
end
|
||||
-- always refresh as a visual clue
|
||||
w.status_refresh()
|
||||
end
|
||||
local function status_refresh()
|
||||
if status_clockTarget > 0 then
|
||||
local xSize, ySize = w.getResolution()
|
||||
w.setCursorPos(1, ySize)
|
||||
w.setColorNormal()
|
||||
w.clearLine()
|
||||
|
||||
if w.event_clock() < status_clockTarget then
|
||||
if w.event_clock() > status_clockTarget and status_line == 1 then
|
||||
w.status_clear()
|
||||
else
|
||||
local xSize, ySize = w.getResolution()
|
||||
w.setCursorPos(1, ySize)
|
||||
w.setColorNormal()
|
||||
w.clearLine()
|
||||
|
||||
if status_isWarning then
|
||||
w.setColorWarning()
|
||||
else
|
||||
w.setColorSuccess()
|
||||
end
|
||||
w.setCursorPos((xSize - status_text:len()) / 2, ySize)
|
||||
w.write(" " .. status_text .. " ")
|
||||
local text = status_text[status_line]
|
||||
w.writeCentered(" " .. text .. " ")
|
||||
w.setColorNormal()
|
||||
else
|
||||
status_clockTarget = -1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -322,12 +330,14 @@ local function status_showSuccess(text)
|
|||
w.status_show(false, text)
|
||||
end
|
||||
local function status_tick()
|
||||
if status_clockTarget > 0 and w.event_clock() > status_clockTarget then
|
||||
local xSize, ySize = w.getResolution()
|
||||
w.setCursorPos(1, ySize)
|
||||
w.setColorNormal()
|
||||
w.clearLine()
|
||||
status_clockTarget = -1
|
||||
if status_clockTarget > -1 then
|
||||
local clockCurrent = w.event_clock()
|
||||
if clockCurrent > status_clockTarget then
|
||||
w.status_clear()
|
||||
else
|
||||
status_line = (status_line % #status_text) + 1
|
||||
w.status_refresh()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -415,7 +425,6 @@ local function input_readInteger(currentValue)
|
|||
|
||||
term.setCursorBlink(true)
|
||||
repeat
|
||||
w.status_tick()
|
||||
w.setCursorPos(x, y)
|
||||
w.setColorNormal()
|
||||
w.write(input .. " ")
|
||||
|
@ -518,7 +527,6 @@ local function input_readText(currentValue)
|
|||
|
||||
term.setCursorBlink(true)
|
||||
repeat
|
||||
w.status_tick()
|
||||
-- update display clearing extra characters
|
||||
w.setCursorPos(x, y)
|
||||
w.setColorNormal()
|
||||
|
@ -637,7 +645,6 @@ local function input_readEnum(currentValue, list, toValue, toDescription, noValu
|
|||
|
||||
term.setCursorBlink(true)
|
||||
repeat
|
||||
w.status_tick()
|
||||
w.setCursorPos(x, y)
|
||||
w.setColorNormal()
|
||||
if #list == 0 then
|
||||
|
@ -752,22 +759,73 @@ local function event_clock()
|
|||
return os.clock()
|
||||
end
|
||||
|
||||
local function event_refresh_start()
|
||||
if event_refreshTimerId == -1 then
|
||||
event_refreshTimerId = os.startTimer(event_refreshPeriod_s)
|
||||
local function event_timer_start(name, period_s, eventId)
|
||||
local name = name or "-nameless-"
|
||||
local eventId = eventId or "timer_" .. name
|
||||
-- check for an already active timer
|
||||
local countActives = 0
|
||||
for id, entry in pairs(event_timers) do
|
||||
if entry.name == name and entry.active then -- already one started
|
||||
countActives = countActives + 1
|
||||
end
|
||||
end
|
||||
if countActives > 0 then
|
||||
if name ~= "status" then -- don't report status timer overlaps to prevent a stack overflow
|
||||
w.status_showWarning("Timer already started for " .. name)
|
||||
end
|
||||
return
|
||||
end
|
||||
-- start a new timer
|
||||
local period_s = period_s or 1.0
|
||||
local id = os.startTimer(period_s)
|
||||
event_timers[id] = {
|
||||
active = true,
|
||||
eventId = eventId,
|
||||
name = name,
|
||||
period_s = period_s
|
||||
}
|
||||
end
|
||||
|
||||
local function event_timer_stop(name)
|
||||
local name = name or "-nameless-"
|
||||
for id, entry in pairs(event_timers) do
|
||||
if entry.name == name then
|
||||
if entry.active then -- kill any active one
|
||||
entry.active = false
|
||||
os.cancelTimer(id)
|
||||
else -- purge all legacy ones
|
||||
event_timers[id] = nil
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function event_refresh_stop()
|
||||
if event_refreshTimerId ~= -1 then
|
||||
os.cancelTimer(event_refreshTimerId)
|
||||
event_refreshTimerId = -1
|
||||
local function event_timer_stopAll()
|
||||
for id, entry in pairs(event_timers) do
|
||||
if entry.active then
|
||||
event_timers[id] = nil
|
||||
os.cancelTimer(id)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function event_refresh_tick()
|
||||
event_refreshTimerId = -1
|
||||
event_refresh_start()
|
||||
local function event_timer_tick(id)
|
||||
local entry = event_timers[id]
|
||||
local isUnknown = entry == nil
|
||||
if isUnknown then -- unknown id, report a warning
|
||||
w.status_showWarning("Timer #" .. id .. " is unknown")
|
||||
return
|
||||
end
|
||||
if not entry.active then -- dying timer, just ignore it
|
||||
return
|
||||
end
|
||||
-- resolve the timer
|
||||
os.queueEvent(entry.eventId, nil, nil, nil)
|
||||
-- CC timers are one shot, so we start a new one, if still needed
|
||||
if entry.active then
|
||||
entry.active = false
|
||||
w.event_timer_start(entry.name, entry.period_s)
|
||||
end
|
||||
end
|
||||
|
||||
local function event_register(eventName, callback)
|
||||
|
@ -780,12 +838,7 @@ local function event_handler(eventName, param)
|
|||
if eventName == "redstone" then
|
||||
w.redstone_event(param)
|
||||
elseif eventName == "timer" then
|
||||
if param == event_refreshTimerId then
|
||||
w.event_refresh_tick()
|
||||
needRedraw = page_callbackDisplay ~= page_handlers['0'].display
|
||||
else
|
||||
w.status_showWarning("Timer #" .. param .. " is unknown")
|
||||
end
|
||||
w.event_timer_tick(param)
|
||||
elseif eventName == "key_up" then
|
||||
elseif eventName == "mouse_click" then
|
||||
w.status_showSuccess("Use the keyboard, Luke!")
|
||||
|
@ -1083,12 +1136,13 @@ local function run()
|
|||
end
|
||||
|
||||
-- start refresh timer
|
||||
w.event_refresh_start()
|
||||
|
||||
w.event_register("timer_refresh", function() return page_callbackDisplay ~= page_handlers['0'].display end )
|
||||
w.event_register("timer_status" , function() w.status_tick() return false end )
|
||||
w.event_timer_start("refresh", run_refreshPeriod_s, "timer_refresh")
|
||||
|
||||
-- main loop
|
||||
selectPage('0')
|
||||
repeat
|
||||
w.status_tick()
|
||||
if refresh then
|
||||
w.clear()
|
||||
page_callbackDisplay(false)
|
||||
|
@ -1177,7 +1231,8 @@ local function run()
|
|||
until abort
|
||||
|
||||
-- stop refresh timer
|
||||
w.event_refresh_stop()
|
||||
w.event_timer_stop("refresh")
|
||||
w.event_timer_stopAll()
|
||||
end
|
||||
|
||||
local function close()
|
||||
|
@ -1242,9 +1297,10 @@ w = {
|
|||
reboot = reboot,
|
||||
sleep = sleep,
|
||||
event_clock = event_clock,
|
||||
event_refresh_start = event_refresh_start,
|
||||
event_refresh_stop = event_refresh_stop,
|
||||
event_refresh_tick = event_refresh_tick,
|
||||
event_timer_start = event_timer_start,
|
||||
event_timer_stop = event_timer_stop,
|
||||
event_timer_stopAll = event_timer_stopAll,
|
||||
event_timer_tick = event_timer_tick,
|
||||
event_register = event_register,
|
||||
event_handler = event_handler,
|
||||
data_get = data_get,
|
||||
|
|
|
@ -417,38 +417,40 @@ function ship_page_controls()
|
|||
ship.command("MANUAL", false)
|
||||
ship_updateMovementStats()
|
||||
end
|
||||
-- w.writeLn("")
|
||||
w.writeLn("Ship:")
|
||||
w.writeLn(" Current position = " .. w.format_integer(ship_x) .. ", " .. w.format_integer(ship_y) .. ", " .. w.format_integer(ship_z))
|
||||
local energyStored, energyMax, energyUnits = ship.getEnergyStatus()
|
||||
if energyStored == nil then energyStored = 0 end
|
||||
if energyMax == nil or energyMax == 0 then energyMax = 1 end
|
||||
w.writeLn(" Energy = " .. math.floor(energyStored / energyMax * 100) .. " % (" .. w.format_integer(energyStored) .. " " .. energyUnits .. ")")
|
||||
|
||||
w.writeLn("")
|
||||
-- w.writeLn("")
|
||||
w.writeLn("Dimensions:")
|
||||
w.writeLn(" Front, Right, Up = " .. w.format_integer(ship_front) .. ", " .. w.format_integer(ship_right) .. ", " .. w.format_integer(ship_up) .. " blocks")
|
||||
w.writeLn(" Back, Left, Down = " .. w.format_integer(ship_back) .. ", " .. w.format_integer(ship_left) .. ", " .. w.format_integer(ship_down) .. " blocks")
|
||||
local shipVolume, shipMass = ship.getShipSize()
|
||||
if shipVolume == nil then
|
||||
shipVolume = 0
|
||||
shipMass = 0
|
||||
end
|
||||
w.write(" Volume, Mass = ")
|
||||
if shipVolume == 0 then
|
||||
w.write("?")
|
||||
else
|
||||
w.write(w.format_integer(shipVolume))
|
||||
end
|
||||
w.write(" blocks, ")
|
||||
if shipMass == 0 then
|
||||
w.write("?")
|
||||
else
|
||||
w.write(w.format_integer(shipMass))
|
||||
end
|
||||
w.writeLn(" tons")
|
||||
|
||||
end
|
||||
|
||||
w.setCursorPos(1, 2)
|
||||
w.writeLn("Ship:")
|
||||
w.writeLn(" Current position = " .. w.format_integer(ship_x) .. ", " .. w.format_integer(ship_y) .. ", " .. w.format_integer(ship_z))
|
||||
local energyStored, energyMax, energyUnits = ship.getEnergyStatus()
|
||||
if energyStored == nil then energyStored = 0 end
|
||||
if energyMax == nil or energyMax == 0 then energyMax = 1 end
|
||||
w.writeLn(" Energy = " .. math.floor(energyStored / energyMax * 100) .. " % (" .. w.format_integer(energyStored) .. " " .. energyUnits .. ")")
|
||||
|
||||
w.writeLn("")
|
||||
w.writeLn("Dimensions:")
|
||||
w.writeLn(" Front, Right, Up = " .. w.format_integer(ship_front) .. ", " .. w.format_integer(ship_right) .. ", " .. w.format_integer(ship_up) .. " blocks")
|
||||
w.writeLn(" Back, Left, Down = " .. w.format_integer(ship_back) .. ", " .. w.format_integer(ship_left) .. ", " .. w.format_integer(ship_down) .. " blocks")
|
||||
local shipMass, shipVolume = ship.getShipSize()
|
||||
if shipMass == nil then
|
||||
shipMass = 0
|
||||
shipVolume = 0
|
||||
end
|
||||
w.write(" Mass, Volume = ")
|
||||
if shipMass == 0 then
|
||||
w.write("?")
|
||||
else
|
||||
w.write(w.format_integer(shipMass))
|
||||
end
|
||||
w.write(" tons, ")
|
||||
if shipVolume == 0 then
|
||||
w.write("?")
|
||||
else
|
||||
w.write(w.format_integer(shipVolume))
|
||||
end
|
||||
w.writeLn(" blocks")
|
||||
|
||||
if isValid == true then
|
||||
w.writeLn("")
|
||||
w.writeLn("Warp data:")
|
||||
ship_writeMovement(" Movement = ")
|
||||
|
|
|
@ -34,6 +34,7 @@ local data_handlers = { }
|
|||
local device_handlers = {}
|
||||
|
||||
local event_handlers = {}
|
||||
local event_timers = {}
|
||||
|
||||
local monitors = {}
|
||||
local monitor_textScale = 0.5
|
||||
|
@ -47,8 +48,8 @@ local page_endText = ""
|
|||
local page_callbackDisplay
|
||||
local page_callbackKey
|
||||
|
||||
local event_refreshPeriod_s = 20.0
|
||||
local event_refreshTimerId = -1
|
||||
local run_refreshPeriod_s = 20.0
|
||||
local status_period_s = 1.0
|
||||
|
||||
local styles = {
|
||||
normal = { front = colors.black , back = colors.lightGray },
|
||||
|
@ -271,10 +272,12 @@ end
|
|||
|
||||
local status_clockTarget = -1 -- < 0 when stopped, < clock when elapsed, > clock when ticking
|
||||
local status_isWarning = false
|
||||
local status_line = 0
|
||||
local status_text = ""
|
||||
local function status_clear()
|
||||
if status_clockTarget > 0 then
|
||||
status_clockTarget = -1
|
||||
w.event_timer_stop("status")
|
||||
local xSize, ySize = w.getResolution()
|
||||
w.setCursorPos(1, ySize)
|
||||
w.setColorNormal()
|
||||
|
@ -286,38 +289,43 @@ local function status_isActive()
|
|||
end
|
||||
local function status_show(isWarning, text)
|
||||
if isWarning or not w.status_isActive() then
|
||||
if isWarning then
|
||||
status_clockTarget = w.event_clock() + 1.0
|
||||
else
|
||||
status_clockTarget = w.event_clock() + 0.5
|
||||
end
|
||||
status_line = 1
|
||||
status_isWarning = isWarning
|
||||
if text ~= nil then
|
||||
status_text = text
|
||||
else
|
||||
status_text = "???"
|
||||
status_text = {}
|
||||
local textToParse = text or "???"
|
||||
for line in string.gmatch(textToParse, "[^\n]+") do
|
||||
if line ~= "" then
|
||||
table.insert(status_text, line)
|
||||
end
|
||||
end
|
||||
w.status_refresh()
|
||||
if isWarning then
|
||||
status_clockTarget = w.event_clock() + 1.0 * #status_text
|
||||
else
|
||||
status_clockTarget = w.event_clock() + 0.5 * #status_text
|
||||
end
|
||||
w.event_timer_start("status", status_period_s, "timer_status")
|
||||
end
|
||||
-- always refresh as a visual clue
|
||||
w.status_refresh()
|
||||
end
|
||||
local function status_refresh()
|
||||
if status_clockTarget > 0 then
|
||||
local xSize, ySize = w.getResolution()
|
||||
w.setCursorPos(1, ySize)
|
||||
w.setColorNormal()
|
||||
w.clearLine()
|
||||
|
||||
if w.event_clock() < status_clockTarget then
|
||||
if w.event_clock() > status_clockTarget and status_line == 1 then
|
||||
w.status_clear()
|
||||
else
|
||||
local xSize, ySize = w.getResolution()
|
||||
w.setCursorPos(1, ySize)
|
||||
w.setColorNormal()
|
||||
w.clearLine()
|
||||
|
||||
if status_isWarning then
|
||||
w.setColorWarning()
|
||||
else
|
||||
w.setColorSuccess()
|
||||
end
|
||||
w.setCursorPos((xSize - status_text:len() - 2) / 2, ySize)
|
||||
w.write(" " .. status_text .. " ")
|
||||
local text = status_text[status_line]
|
||||
w.writeCentered(" " .. text .. " ")
|
||||
w.setColorNormal()
|
||||
else
|
||||
status_clockTarget = -1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -328,12 +336,14 @@ local function status_showSuccess(text)
|
|||
w.status_show(false, text)
|
||||
end
|
||||
local function status_tick()
|
||||
if status_clockTarget > 0 and w.event_clock() > status_clockTarget then
|
||||
local xSize, ySize = w.getResolution()
|
||||
w.setCursorPos(1, ySize)
|
||||
w.setColorNormal()
|
||||
w.clearLine()
|
||||
status_clockTarget = -1
|
||||
if status_clockTarget > -1 then
|
||||
local clockCurrent = w.event_clock()
|
||||
if clockCurrent > status_clockTarget then
|
||||
w.status_clear()
|
||||
else
|
||||
status_line = (status_line % #status_text) + 1
|
||||
w.status_refresh()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -421,7 +431,6 @@ local function input_readInteger(currentValue)
|
|||
|
||||
term.setCursorBlink(true)
|
||||
repeat
|
||||
w.status_tick()
|
||||
w.setCursorPos(x, y)
|
||||
w.setColorNormal()
|
||||
w.write(input .. " ")
|
||||
|
@ -525,7 +534,6 @@ local function input_readText(currentValue)
|
|||
|
||||
term.setCursorBlink(true)
|
||||
repeat
|
||||
w.status_tick()
|
||||
-- update display clearing extra characters
|
||||
w.setCursorPos(x, y)
|
||||
w.setColorNormal()
|
||||
|
@ -646,7 +654,6 @@ local function input_readEnum(currentValue, list, toValue, toDescription, noValu
|
|||
|
||||
term.setCursorBlink(true)
|
||||
repeat
|
||||
w.status_tick()
|
||||
w.setCursorPos(x, y)
|
||||
w.setColorNormal()
|
||||
if #list == 0 then
|
||||
|
@ -762,21 +769,79 @@ local function event_clock()
|
|||
return computer.uptime()
|
||||
end
|
||||
|
||||
local function event_refresh_start()
|
||||
if event_refreshTimerId == -1 then
|
||||
event_refreshTimerId = event.timer(event_refreshPeriod_s, function () w.event_refresh_tick() end, math.huge)
|
||||
local function event_timer_start(name, period_s, eventId)
|
||||
local name = name or "-nameless-"
|
||||
local eventId = eventId or "timer_" .. name
|
||||
-- check for an already active timer
|
||||
local countActives = 0
|
||||
for id, entry in pairs(event_timers) do
|
||||
if entry.name == name and entry.active then -- already one started
|
||||
countActives = countActives + 1
|
||||
end
|
||||
end
|
||||
if countActives > 0 then
|
||||
if name ~= "status" then -- don't report status timer overlaps to prevent a stack overflow
|
||||
w.status_showWarning("Timer already started for " .. name)
|
||||
end
|
||||
return
|
||||
end
|
||||
-- start a new timer
|
||||
local period_s = period_s or 1.0
|
||||
local id = event.timer(period_s, function () w.event_timer_tick(name) end, math.huge)
|
||||
event_timers[id] = {
|
||||
active = true,
|
||||
eventId = eventId,
|
||||
name = name,
|
||||
period_s = period_s
|
||||
}
|
||||
end
|
||||
|
||||
local function event_timer_stop(name)
|
||||
local name = name or "-nameless-"
|
||||
for id, entry in pairs(event_timers) do
|
||||
if entry.name == name then
|
||||
if entry.active then -- kill any active one
|
||||
entry.active = false
|
||||
event.cancel(id)
|
||||
else -- purge all legacy ones
|
||||
event_timers[id] = nil
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function event_refresh_stop()
|
||||
if event_refreshTimerId ~= -1 then
|
||||
event.cancel(event_refreshTimerId)
|
||||
event_refreshTimerId = -1
|
||||
local function event_timer_stopAll()
|
||||
for id, entry in pairs(event_timers) do
|
||||
if entry.active then
|
||||
event_timers[id] = nil
|
||||
event.cancel(id)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function event_refresh_tick()
|
||||
event.push("timer_refresh")
|
||||
local function event_timer_tick(name)
|
||||
local entry = nil
|
||||
local isUnknown = true
|
||||
for idLoop, entryLoop in pairs(event_timers) do
|
||||
if entryLoop.name == name then
|
||||
isUnknown = false
|
||||
if entryLoop.active then
|
||||
entry = entryLoop
|
||||
end
|
||||
end
|
||||
end
|
||||
if isUnknown then -- unknown id, report a warning
|
||||
w.status_showWarning("Timer " .. name .. " is unknown")
|
||||
return
|
||||
end
|
||||
if entry == nil then -- dying timer, just ignore it
|
||||
return
|
||||
end
|
||||
if not entry.active then -- dying timer, just ignore it
|
||||
return
|
||||
end
|
||||
-- resolve the timer
|
||||
event.push(entry.eventId)
|
||||
end
|
||||
|
||||
local function event_register(eventName, callback)
|
||||
|
@ -788,8 +853,6 @@ local function event_handler(eventName, param)
|
|||
local needRedraw = false
|
||||
if eventName == "redstone" then
|
||||
-- w.redstone_event(param)
|
||||
elseif eventName == "timer_refresh" then
|
||||
needRedraw = page_callbackDisplay ~= page_handlers['0'].display
|
||||
elseif eventName == "key_up" then
|
||||
elseif eventName == "touch" then
|
||||
w.status_showSuccess("Use the keyboard, Luke!")
|
||||
|
@ -1056,12 +1119,13 @@ local function run()
|
|||
end
|
||||
|
||||
-- start refresh timer
|
||||
w.event_refresh_start()
|
||||
w.event_register("timer_refresh", function() return page_callbackDisplay ~= page_handlers['0'].display end )
|
||||
w.event_register("timer_status" , function() w.status_tick() return false end )
|
||||
w.event_timer_start("refresh", run_refreshPeriod_s, "timer_refresh")
|
||||
|
||||
-- main loop
|
||||
selectPage('0')
|
||||
repeat
|
||||
w.status_tick()
|
||||
if refresh then
|
||||
w.clear()
|
||||
page_callbackDisplay(false)
|
||||
|
@ -1149,7 +1213,8 @@ local function run()
|
|||
until abort
|
||||
|
||||
-- stop refresh timer
|
||||
w.event_refresh_stop()
|
||||
w.event_timer_stop("refresh")
|
||||
w.event_timer_stopAll()
|
||||
end
|
||||
|
||||
local function close()
|
||||
|
@ -1213,9 +1278,10 @@ w = {
|
|||
reboot = reboot,
|
||||
sleep = sleep,
|
||||
event_clock = event_clock,
|
||||
event_refresh_start = event_refresh_start,
|
||||
event_refresh_stop = event_refresh_stop,
|
||||
event_refresh_tick = event_refresh_tick,
|
||||
event_timer_start = event_timer_start,
|
||||
event_timer_stop = event_timer_stop,
|
||||
event_timer_stopAll = event_timer_stopAll,
|
||||
event_timer_tick = event_timer_tick,
|
||||
event_register = event_register,
|
||||
event_handler = event_handler,
|
||||
data_get = data_get,
|
||||
|
|
|
@ -421,38 +421,40 @@ function ship_page_controls()
|
|||
ship.command("MANUAL", false)
|
||||
ship_updateMovementStats()
|
||||
end
|
||||
-- w.writeLn("")
|
||||
w.writeLn("Ship:")
|
||||
w.writeLn(" Current position = " .. w.format_integer(ship_x) .. ", " .. w.format_integer(ship_y) .. ", " .. w.format_integer(ship_z))
|
||||
local energyStored, energyMax, energyUnits = ship.getEnergyStatus()
|
||||
if energyStored == nil then energyStored = 0 end
|
||||
if energyMax == nil or energyMax == 0 then energyMax = 1 end
|
||||
w.writeLn(" Energy = " .. math.floor(energyStored / energyMax * 100) .. " % (" .. w.format_integer(energyStored) .. " " .. energyUnits .. ")")
|
||||
|
||||
w.writeLn("")
|
||||
-- w.writeLn("")
|
||||
w.writeLn("Dimensions:")
|
||||
w.writeLn(" Front, Right, Up = " .. w.format_integer(ship_front) .. ", " .. w.format_integer(ship_right) .. ", " .. w.format_integer(ship_up) .. " blocks")
|
||||
w.writeLn(" Back, Left, Down = " .. w.format_integer(ship_back) .. ", " .. w.format_integer(ship_left) .. ", " .. w.format_integer(ship_down) .. " blocks")
|
||||
local shipVolume, shipMass = ship.getShipSize()
|
||||
if shipVolume == nil then
|
||||
shipVolume = 0
|
||||
shipMass = 0
|
||||
end
|
||||
w.write(" Volume, Mass = ")
|
||||
if shipVolume == 0 then
|
||||
w.write("?")
|
||||
else
|
||||
w.write(w.format_integer(shipVolume))
|
||||
end
|
||||
w.write(" blocks, ")
|
||||
if shipMass == 0 then
|
||||
w.write("?")
|
||||
else
|
||||
w.write(w.format_integer(shipMass))
|
||||
end
|
||||
w.writeLn(" tons")
|
||||
|
||||
end
|
||||
|
||||
w.setCursorPos(1, 2)
|
||||
w.writeLn("Ship:")
|
||||
w.writeLn(" Current position = " .. w.format_integer(ship_x) .. ", " .. w.format_integer(ship_y) .. ", " .. w.format_integer(ship_z))
|
||||
local energyStored, energyMax, energyUnits = ship.getEnergyStatus()
|
||||
if energyStored == nil then energyStored = 0 end
|
||||
if energyMax == nil or energyMax == 0 then energyMax = 1 end
|
||||
w.writeLn(" Energy = " .. math.floor(energyStored / energyMax * 100) .. " % (" .. w.format_integer(energyStored) .. " " .. energyUnits .. ")")
|
||||
|
||||
w.writeLn("")
|
||||
w.writeLn("Dimensions:")
|
||||
w.writeLn(" Front, Right, Up = " .. w.format_integer(ship_front) .. ", " .. w.format_integer(ship_right) .. ", " .. w.format_integer(ship_up) .. " blocks")
|
||||
w.writeLn(" Back, Left, Down = " .. w.format_integer(ship_back) .. ", " .. w.format_integer(ship_left) .. ", " .. w.format_integer(ship_down) .. " blocks")
|
||||
local shipMass, shipVolume = ship.getShipSize()
|
||||
if shipMass == nil then
|
||||
shipMass = 0
|
||||
shipVolume = 0
|
||||
end
|
||||
w.write(" Mass, Volume = ")
|
||||
if shipMass == 0 then
|
||||
w.write("?")
|
||||
else
|
||||
w.write(w.format_integer(shipMass))
|
||||
end
|
||||
w.write(" tons, ")
|
||||
if shipVolume == 0 then
|
||||
w.write("?")
|
||||
else
|
||||
w.write(w.format_integer(shipVolume))
|
||||
end
|
||||
w.writeLn(" blocks")
|
||||
|
||||
if isValid == true then
|
||||
w.writeLn("")
|
||||
w.writeLn("Warp data:")
|
||||
ship_writeMovement(" Movement = ")
|
||||
|
|
Loading…
Reference in a new issue