From 30bb98468ffae3c5c253973d87d57d19be996812 Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Wed, 25 Mar 2020 23:42:38 +0100 Subject: [PATCH] Bug Fixes, Updated zh_cn localization - Mechanical Crafter JEI no longer adds other mods' custom crafting recipe types, addresses #114 - Potential fix for #125 - Blacklisted a few entities from contraption collision, addresses #120 - Contraption Entities no longer spawn water particles, addresses #107 - Fixed floating point errors in RSC, addresses #118 - Added rendering safety check for belts, addresses #108 - Update Chinese translation --- .../simibubi/create/compat/jei/CreateJEI.java | 8 +- .../contraptions/RotationPropagator.java | 85 +- .../modules/contraptions/base/IRotate.java | 4 +- .../contraptions/ContraptionCollider.java | 13 +- .../contraptions/ContraptionEntity.java | 56 +- .../contraptions/IControlContraption.java | 2 + .../bearing/ClockworkBearingTileEntity.java | 40 +- .../bearing/MechanicalBearingTileEntity.java | 33 +- .../piston/LinearActuatorTileEntity.java | 5 + .../advanced/SpeedControllerTileEntity.java | 34 +- .../contraptions/relays/belt/BeltBlock.java | 2 - .../contraptions/relays/belt/BeltColor.java | 2 + .../resources/assets/create/lang/zh_cn.json | 1752 +++++++++++------ 13 files changed, 1330 insertions(+), 706 deletions(-) diff --git a/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java b/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java index 4e5e8e513..e6104d6d6 100644 --- a/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java +++ b/src/main/java/com/simibubi/create/compat/jei/CreateJEI.java @@ -133,12 +133,12 @@ public class CreateJEI implements IModPlugin { registration.addRecipes(findRecipes( r -> (r instanceof MechanicalCraftingRecipe) && MechanicalCraftingCategory.isSmall((ShapedRecipe) r)), smallMechanicalCraftingCategory.getUid()); - registration.addRecipes( - findRecipes(r -> (r instanceof ShapedRecipe) && !(r instanceof MechanicalCraftingRecipe) - && MechanicalCraftingCategory.isSmall((ShapedRecipe) r)), + registration.addRecipes(findRecipes(r -> r.getType() == IRecipeType.CRAFTING && (r instanceof ShapedRecipe) + && !(r instanceof MechanicalCraftingRecipe) && MechanicalCraftingCategory.isSmall((ShapedRecipe) r)), smallMechanicalCraftingCategory.getUid()); registration.addRecipes( - findRecipes(r -> (r instanceof ShapedRecipe) && !MechanicalCraftingCategory.isSmall((ShapedRecipe) r)), + findRecipes(r -> r.getType() == IRecipeType.CRAFTING && (r instanceof ShapedRecipe) + && !MechanicalCraftingCategory.isSmall((ShapedRecipe) r)), largeMechanicalCraftingCategory.getUid()); } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/RotationPropagator.java b/src/main/java/com/simibubi/create/modules/contraptions/RotationPropagator.java index 1cd01d438..0e4252954 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/RotationPropagator.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/RotationPropagator.java @@ -20,6 +20,7 @@ import com.simibubi.create.modules.contraptions.relays.encased.SplitShaftTileEnt import com.simibubi.create.modules.contraptions.relays.gearbox.GearboxTileEntity; import net.minecraft.block.BlockState; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Direction; import net.minecraft.util.Direction.Axis; import net.minecraft.util.math.BlockPos; @@ -95,12 +96,6 @@ public class RotationPropagator { if (isLargeToSmallGear(stateTo, stateFrom, diff)) return -.5f; - // Rotation Speed Controller <-> Large Gear - if (isLargeGearToSpeedController(stateFrom, stateTo, diff)) - return SpeedControllerTileEntity.getSpeedModifier(from, to, true); - if (isLargeGearToSpeedController(stateTo, stateFrom, diff)) - return SpeedControllerTileEntity.getSpeedModifier(to, from, false); - // Gear <-> Gear if (connectedByGears) { if (diff.manhattanDistance(BlockPos.ZERO) != 1) @@ -114,6 +109,20 @@ public class RotationPropagator { return 0; } + private static float getConveyedSpeed(KineticTileEntity from, KineticTileEntity to) { + final BlockState stateFrom = from.getBlockState(); + final BlockState stateTo = to.getBlockState(); + final BlockPos diff = to.getPos().subtract(from.getPos()); + + // Rotation Speed Controller <-> Large Gear + if (isLargeGearToSpeedController(stateFrom, stateTo, diff)) + return SpeedControllerTileEntity.getConveyedSpeed(from, to, true); + if (isLargeGearToSpeedController(stateTo, stateFrom, diff)) + return SpeedControllerTileEntity.getConveyedSpeed(to, from, false); + + return from.getTheoreticalSpeed() * getRotationSpeedModifier(from, to); + } + private static boolean isLargeToLargeGear(BlockState from, BlockState to, BlockPos diff) { if (!LARGE_COGWHEEL.typeOf(from) || !LARGE_COGWHEEL.typeOf(to)) return false; @@ -184,31 +193,7 @@ public class RotationPropagator { return; if (!worldIn.isBlockPresent(pos)) return; - if (addedTE.getTheoreticalSpeed() != 0) { - propagateNewSource(addedTE); - return; - } - - for (KineticTileEntity neighbourTE : getConnectedNeighbours(addedTE)) { - final float speedModifier = getRotationSpeedModifier(neighbourTE, addedTE); - - float neighbourSpeed = neighbourTE.getTheoreticalSpeed(); - if (neighbourSpeed == 0) - continue; - if (neighbourTE.hasSource() && neighbourTE.source.equals(addedTE.getPos())) { - addedTE.setSpeed(neighbourSpeed * speedModifier); - addedTE.onSpeedChanged(0); - addedTE.sendData(); - continue; - } - - addedTE.setSpeed(neighbourSpeed * speedModifier); - addedTE.setSource(neighbourTE.getPos()); - addedTE.onSpeedChanged(0); - addedTE.sendData(); - propagateNewSource(addedTE); - return; - } + propagateNewSource(addedTE); } /** @@ -221,12 +206,10 @@ public class RotationPropagator { World world = currentTE.getWorld(); for (KineticTileEntity neighbourTE : getConnectedNeighbours(currentTE)) { - float modFromTo = getRotationSpeedModifier(currentTE, neighbourTE); - float modToFrom = getRotationSpeedModifier(neighbourTE, currentTE); float speedOfCurrent = currentTE.getTheoreticalSpeed(); float speedOfNeighbour = neighbourTE.getTheoreticalSpeed(); - float newSpeed = speedOfCurrent * modFromTo; - float oppositeSpeed = speedOfNeighbour * modToFrom; + float newSpeed = getConveyedSpeed(currentTE, neighbourTE); + float oppositeSpeed = getConveyedSpeed(neighbourTE, currentTE); boolean incompatible = Math.signum(newSpeed) != Math.signum(speedOfNeighbour) && (newSpeed != 0 && speedOfNeighbour != 0); @@ -249,7 +232,7 @@ public class RotationPropagator { // Neighbour faster, overpower the incoming tree if (Math.abs(oppositeSpeed) > Math.abs(speedOfCurrent)) { float prevSpeed = currentTE.getSpeed(); - currentTE.setSpeed(speedOfNeighbour * getRotationSpeedModifier(neighbourTE, currentTE)); + currentTE.setSpeed(oppositeSpeed); currentTE.setSource(neighbourTE.getPos()); currentTE.onSpeedChanged(prevSpeed); currentTE.sendData(); @@ -272,7 +255,7 @@ public class RotationPropagator { currentTE.removeSource(); float prevSpeed = neighbourTE.getSpeed(); - neighbourTE.setSpeed(speedOfCurrent * getRotationSpeedModifier(currentTE, neighbourTE)); + neighbourTE.setSpeed(newSpeed); neighbourTE.setSource(currentTE.getPos()); neighbourTE.onSpeedChanged(prevSpeed); neighbourTE.sendData(); @@ -370,17 +353,33 @@ public class RotationPropagator { } } - private static KineticTileEntity findConnectedNeighbour(KineticTileEntity te, BlockPos neighbourPos) { - BlockState neighbourState = te.getWorld().getBlockState(neighbourPos); + private static KineticTileEntity findConnectedNeighbour(KineticTileEntity currentTE, BlockPos neighbourPos) { + BlockState neighbourState = currentTE.getWorld().getBlockState(neighbourPos); if (!(neighbourState.getBlock() instanceof IRotate)) return null; if (!neighbourState.hasTileEntity()) return null; - - KineticTileEntity neighbour = (KineticTileEntity) te.getWorld().getTileEntity(neighbourPos); - if (getRotationSpeedModifier(te, neighbour) == 0) + TileEntity neighbourTE = currentTE.getWorld().getTileEntity(neighbourPos); + if (!(neighbourTE instanceof KineticTileEntity)) return null; - return neighbour; + KineticTileEntity neighbourKTE = (KineticTileEntity) neighbourTE; + if (!(neighbourKTE.getBlockState().getBlock() instanceof IRotate)) + return null; + if (!isConnected(currentTE, neighbourKTE)) + return null; + return neighbourKTE; + } + + public static boolean isConnected(KineticTileEntity from, KineticTileEntity to) { + final BlockState stateFrom = from.getBlockState(); + final BlockState stateTo = to.getBlockState(); + final BlockPos diff = to.getPos().subtract(from.getPos()); + + if (isLargeGearToSpeedController(stateFrom, stateTo, diff)) + return true; + if (isLargeGearToSpeedController(stateTo, stateFrom, diff)) + return true; + return getRotationSpeedModifier(from, to) != 0; } private static List getConnectedNeighbours(KineticTileEntity te) { diff --git a/src/main/java/com/simibubi/create/modules/contraptions/base/IRotate.java b/src/main/java/com/simibubi/create/modules/contraptions/base/IRotate.java index 870a4a7d1..917ac8c56 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/base/IRotate.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/base/IRotate.java @@ -68,9 +68,9 @@ public interface IRotate extends IWrenchable { String level = color + ItemDescription.makeProgressBar(3, speedLevel.ordinal()); if (speedLevel == SpeedLevel.MEDIUM) - level += Lang.translate("tooltip.speedRequirements.medium"); + level += Lang.translate("tooltip.speedRequirement.medium"); if (speedLevel == SpeedLevel.FAST) - level += Lang.translate("tooltip.speedRequirements.high"); + level += Lang.translate("tooltip.speedRequirement.high"); level += String.format(" (%s%s) ", IHaveGoggleInformation.format(Math.abs(speed)), Lang.translate("generic.unit.rpm")); diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionCollider.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionCollider.java index 4452f949d..9e1efeaeb 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionCollider.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionCollider.java @@ -11,6 +11,7 @@ import net.minecraft.block.material.PushReaction; import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityType; +import net.minecraft.entity.IProjectile; import net.minecraft.entity.MoverType; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.util.Direction; @@ -52,7 +53,7 @@ public class ContraptionCollider { return; for (Entity entity : world.getEntitiesWithinAABB((EntityType) null, bounds.grow(1), - e -> e.getPushReaction() == PushReaction.NORMAL)) { + e -> canBeCollidedWith(e))) { ReuseableStream potentialHits = getPotentiallyCollidedShapes(world, contraption, contraptionPosition, entity); @@ -88,6 +89,16 @@ public class ContraptionCollider { } + public static boolean canBeCollidedWith(Entity e) { + if (e instanceof PlayerEntity && e.isSpectator()) + return false; + if (e.noClip) + return false; + if (e instanceof IProjectile) + return false; + return e.getPushReaction() == PushReaction.NORMAL; + } + @OnlyIn(Dist.CLIENT) private static void checkForClientPlayerCollision(Entity entity) { if (entity != Minecraft.getInstance().player) diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionEntity.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionEntity.java index 07f52fb32..c4a347028 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionEntity.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/ContraptionEntity.java @@ -54,7 +54,6 @@ public class ContraptionEntity extends Entity implements IEntityAdditionalSpawnD protected Contraption contraption; protected float initialAngle; protected BlockPos controllerPos; - protected IControlContraption controllerTE; protected Vec3d motionBeforeStall; protected boolean stationary; @@ -103,12 +102,22 @@ public class ContraptionEntity extends Entity implements IEntityAdditionalSpawnD public ContraptionEntity controlledBy(T controller) { this.controllerPos = controller.getPos(); - this.controllerTE = controller; return this; } + private IControlContraption getController() { + if (controllerPos == null) + return null; + if (!world.isBlockPresent(controllerPos)) + return null; + TileEntity te = world.getTileEntity(controllerPos); + if (!(te instanceof IControlContraption)) + return null; + return (IControlContraption) te; + } + public boolean collisionEnabled() { - return stationary && controllerTE instanceof LinearActuatorTileEntity; + return getController() instanceof LinearActuatorTileEntity; } @Override @@ -118,7 +127,7 @@ public class ContraptionEntity extends Entity implements IEntityAdditionalSpawnD return; } - attachToController(); + checkController(); Entity mountedEntity = getRidingEntity(); if (mountedEntity != null) { @@ -131,7 +140,7 @@ public class ContraptionEntity extends Entity implements IEntityAdditionalSpawnD move(getMotion().x, getMotion().y, getMotion().z); if (ContraptionCollider.collideBlocks(this)) - controllerTE.collided(); + getController().collided(); tickActors(new Vec3d(posX - prevPosX, posY - prevPosY, posZ - prevPosZ)); @@ -256,8 +265,8 @@ public class ContraptionEntity extends Entity implements IEntityAdditionalSpawnD if (!world.isRemote) { if (!stalledPreviously && contraption.stalled) { setMotion(Vec3d.ZERO); - if (controllerTE != null) - controllerTE.onStall(); + if (getController() != null) + getController().onStall(); AllPackets.channel.send(PacketDistributor.TRACKING_ENTITY.with(() -> this), new ContraptionStallPacket(getEntityId(), posX, posY, posZ, yaw, pitch, roll)); } @@ -368,22 +377,21 @@ public class ContraptionEntity extends Entity implements IEntityAdditionalSpawnD controllerPos = NBTUtil.readBlockPos(compound.getCompound("Controller")); } - public void attachToController() { - if (controllerPos != null && (controllerTE == null || !controllerTE.isValid())) { - if (!world.isBlockPresent(controllerPos)) - return; - TileEntity te = world.getTileEntity(controllerPos); - if (te == null || !(te instanceof IControlContraption)) { - remove(); - return; - } - IControlContraption controllerTE = (IControlContraption) te; - this.controllerTE = controllerTE; - controllerTE.attach(this); - - if (world.isRemote) - setPosition(posX, posY, posZ); + public void checkController() { + if (controllerPos == null) + return; + if (!world.isBlockPresent(controllerPos)) + return; + IControlContraption controller = getController(); + if (controller == null) { + remove(); + return; } + if (controller.isAttachedTo(this)) + return; + controller.attach(this); + if (world.isRemote) + setPosition(posX, posY, posZ); } @Override @@ -424,6 +432,10 @@ public class ContraptionEntity extends Entity implements IEntityAdditionalSpawnD } remove(); } + + @Override + protected void doWaterSplashEffect() { + } public void preventMovedEntitiesFromGettingStuck() { Vec3d stuckTest = new Vec3d(0, -2, 0); diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/IControlContraption.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/IControlContraption.java index 556e08986..1af2b453f 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/IControlContraption.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/IControlContraption.java @@ -6,6 +6,8 @@ import com.simibubi.create.foundation.utility.Lang; public interface IControlContraption { + public boolean isAttachedTo(ContraptionEntity contraption); + public void attach(ContraptionEntity contraption); public void onStall(); diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/ClockworkBearingTileEntity.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/ClockworkBearingTileEntity.java index 88a7d11c6..a6c53e481 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/ClockworkBearingTileEntity.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/ClockworkBearingTileEntity.java @@ -203,21 +203,22 @@ public class ClockworkBearingTileEntity extends KineticTileEntity implements IBe @Override public void attach(ContraptionEntity contraption) { - if (contraption.getContraption() instanceof ClockworkContraption) { - ClockworkContraption cc = (ClockworkContraption) contraption.getContraption(); - markDirty(); - Direction facing = getBlockState().get(BlockStateProperties.FACING); - BlockPos anchor = pos.offset(facing, cc.offset + 1); - if (cc.handType == HandType.HOUR) { - this.hourHand = contraption; - hourHand.setPosition(anchor.getX(), anchor.getY(), anchor.getZ()); - } else { - this.minuteHand = contraption; - minuteHand.setPosition(anchor.getX(), anchor.getY(), anchor.getZ()); - } - if (!world.isRemote) - sendData(); + if (!(contraption.getContraption() instanceof ClockworkContraption)) + return; + + ClockworkContraption cc = (ClockworkContraption) contraption.getContraption(); + markDirty(); + Direction facing = getBlockState().get(BlockStateProperties.FACING); + BlockPos anchor = pos.offset(facing, cc.offset + 1); + if (cc.handType == HandType.HOUR) { + this.hourHand = contraption; + hourHand.setPosition(anchor.getX(), anchor.getY(), anchor.getZ()); + } else { + this.minuteHand = contraption; + minuteHand.setPosition(anchor.getX(), anchor.getY(), anchor.getZ()); } + if (!world.isRemote) + sendData(); } @Override @@ -287,4 +288,15 @@ public class ClockworkBearingTileEntity extends KineticTileEntity implements IBe public void collided() { } + @Override + public boolean isAttachedTo(ContraptionEntity contraption) { + if (!(contraption.getContraption() instanceof ClockworkContraption)) + return false; + ClockworkContraption cc = (ClockworkContraption) contraption.getContraption(); + if (cc.handType == HandType.HOUR) + return this.hourHand == contraption; + else + return this.minuteHand == contraption; + } + } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/MechanicalBearingTileEntity.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/MechanicalBearingTileEntity.java index 398437f39..8033bbd6c 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/MechanicalBearingTileEntity.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/MechanicalBearingTileEntity.java @@ -1,5 +1,7 @@ package com.simibubi.create.modules.contraptions.components.contraptions.bearing; +import static net.minecraft.state.properties.BlockStateProperties.FACING; + import java.util.List; import com.simibubi.create.AllTileEntities; @@ -14,8 +16,8 @@ import com.simibubi.create.modules.contraptions.components.contraptions.Contrapt import com.simibubi.create.modules.contraptions.components.contraptions.ContraptionEntity; import com.simibubi.create.modules.contraptions.components.contraptions.DirectionalExtenderScrollOptionSlot; +import net.minecraft.block.BlockState; import net.minecraft.nbt.CompoundNBT; -import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.util.Direction; import net.minecraft.util.Direction.Axis; import net.minecraft.util.Direction.AxisDirection; @@ -145,7 +147,7 @@ public class MechanicalBearingTileEntity extends GeneratingKineticTileEntity imp } public void assemble() { - Direction direction = getBlockState().get(BlockStateProperties.FACING); + Direction direction = getBlockState().get(FACING); // Collect Construct BearingContraption contraption = BearingContraption.assembleBearingAt(world, pos, direction); @@ -237,7 +239,7 @@ public class MechanicalBearingTileEntity extends GeneratingKineticTileEntity imp protected void applyRotation() { if (movedContraption != null) { - Axis axis = getBlockState().get(BlockStateProperties.FACING).getAxis(); + Axis axis = getBlockState().get(FACING).getAxis(); Direction direction = Direction.getFacingFromAxis(AxisDirection.POSITIVE, axis); Vec3d vec = new Vec3d(1, 1, 1).scale(angle).mul(new Vec3d(direction.getDirectionVec())); movedContraption.rotateTo(vec.x, vec.y, vec.z); @@ -246,14 +248,18 @@ public class MechanicalBearingTileEntity extends GeneratingKineticTileEntity imp @Override public void attach(ContraptionEntity contraption) { - if (contraption.getContraption() instanceof BearingContraption) { - this.movedContraption = contraption; - markDirty(); - BlockPos anchor = pos.offset(getBlockState().get(BlockStateProperties.FACING)); - movedContraption.setPosition(anchor.getX(), anchor.getY(), anchor.getZ()); - if (!world.isRemote) - sendData(); - } + BlockState blockState = getBlockState(); + if (!(contraption.getContraption() instanceof BearingContraption)) + return; + if (!blockState.has(FACING)) + return; + + this.movedContraption = contraption; + markDirty(); + BlockPos anchor = pos.offset(blockState.get(FACING)); + movedContraption.setPosition(anchor.getX(), anchor.getY(), anchor.getZ()); + if (!world.isRemote) + sendData(); } @Override @@ -279,4 +285,9 @@ public class MechanicalBearingTileEntity extends GeneratingKineticTileEntity imp public void collided() { } + @Override + public boolean isAttachedTo(ContraptionEntity contraption) { + return movedContraption == contraption; + } + } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/piston/LinearActuatorTileEntity.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/piston/LinearActuatorTileEntity.java index 71713172c..4642683f8 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/piston/LinearActuatorTileEntity.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/piston/LinearActuatorTileEntity.java @@ -297,4 +297,9 @@ public abstract class LinearActuatorTileEntity extends KineticTileEntity impleme sendData(); } + @Override + public boolean isAttachedTo(ContraptionEntity contraption) { + return movedContraption == contraption; + } + } \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/modules/contraptions/relays/advanced/SpeedControllerTileEntity.java b/src/main/java/com/simibubi/create/modules/contraptions/relays/advanced/SpeedControllerTileEntity.java index c0a7fda31..d90c58efe 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/relays/advanced/SpeedControllerTileEntity.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/relays/advanced/SpeedControllerTileEntity.java @@ -31,8 +31,8 @@ public class SpeedControllerTileEntity extends KineticTileEntity { super.addBehaviours(behaviours); Integer max = AllConfigs.SERVER.kinetics.maxRotationSpeed.get(); - targetSpeed = new ScrollValueBehaviour(Lang.translate("generic.speed"), this, - new ControllerValueBoxTransform()); + targetSpeed = + new ScrollValueBehaviour(Lang.translate("generic.speed"), this, new ControllerValueBoxTransform()); targetSpeed.between(-max, max); targetSpeed.value = DEFAULT_SPEED; targetSpeed.moveText(new Vec3d(9, 0, 10)); @@ -43,7 +43,7 @@ public class SpeedControllerTileEntity extends KineticTileEntity { } private void updateTargetRotation() { - if (hasNetwork()) + if (hasNetwork()) getOrCreateNetwork().remove(this); RotationPropagator.handleRemoved(world, pos, this); removeSource(); @@ -54,38 +54,38 @@ public class SpeedControllerTileEntity extends KineticTileEntity { public boolean hasFastRenderer() { return false; } - - public static float getSpeedModifier(KineticTileEntity cogWheel, KineticTileEntity speedControllerIn, + + public static float getConveyedSpeed(KineticTileEntity cogWheel, KineticTileEntity speedControllerIn, boolean targetingController) { if (!(speedControllerIn instanceof SpeedControllerTileEntity)) - return 1; + return 0; SpeedControllerTileEntity speedController = (SpeedControllerTileEntity) speedControllerIn; + float targetSpeed = speedController.targetSpeed.getValue(); float speed = speedControllerIn.getSpeed(); + float wheelSpeed = cogWheel.getTheoreticalSpeed(); if (targetSpeed == 0) return 0; - float wheelSpeed = cogWheel.getTheoreticalSpeed(); if (targetingController && wheelSpeed == 0) - return 1; - + return 0; if (!speedController.hasSource()) { if (targetingController) - return targetSpeed / wheelSpeed; - return 1; + return targetSpeed; + return 0; } boolean wheelPowersController = speedController.source.equals(cogWheel.getPos()); - + if (wheelPowersController) { if (targetingController) - return targetSpeed / wheelSpeed; - return wheelSpeed / targetSpeed; + return targetSpeed; + return wheelSpeed; } - + if (targetingController) - return speed / targetSpeed; - return targetSpeed / speed; + return speed; + return targetSpeed; } private class ControllerValueBoxTransform extends ValueBoxTransform.Sided { diff --git a/src/main/java/com/simibubi/create/modules/contraptions/relays/belt/BeltBlock.java b/src/main/java/com/simibubi/create/modules/contraptions/relays/belt/BeltBlock.java index 58a46b42f..2073e752e 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/relays/belt/BeltBlock.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/relays/belt/BeltBlock.java @@ -1,6 +1,5 @@ package com.simibubi.create.modules.contraptions.relays.belt; -import java.util.ArrayList; import java.util.Collections; import java.util.LinkedList; import java.util.List; @@ -55,7 +54,6 @@ import net.minecraft.util.math.shapes.VoxelShape; import net.minecraft.world.IBlockReader; import net.minecraft.world.IWorldReader; import net.minecraft.world.World; -import net.minecraft.world.storage.loot.LootParameter; import net.minecraft.world.storage.loot.LootParameters; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; diff --git a/src/main/java/com/simibubi/create/modules/contraptions/relays/belt/BeltColor.java b/src/main/java/com/simibubi/create/modules/contraptions/relays/belt/BeltColor.java index 258cea032..54798894e 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/relays/belt/BeltColor.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/relays/belt/BeltColor.java @@ -13,6 +13,8 @@ class BeltColor implements IBlockColor { @Override public int getColor(BlockState state, IEnviromentBlockReader reader, BlockPos pos, int layer) { + if (reader == null) + return 0; TileEntity tileEntity = reader.getTileEntity(pos); if (tileEntity instanceof BeltTileEntity) { BeltTileEntity te = (BeltTileEntity) tileEntity; diff --git a/src/main/resources/assets/create/lang/zh_cn.json b/src/main/resources/assets/create/lang/zh_cn.json index d8ee57168..73f4e0293 100644 --- a/src/main/resources/assets/create/lang/zh_cn.json +++ b/src/main/resources/assets/create/lang/zh_cn.json @@ -1,601 +1,1173 @@ { - "_comment": "-------------------------] GAME ELEMENTS [------------------------------------------------", + "_comment": "-------------------------] GAME ELEMENTS [------------------------------------------------", - "item.create.symmetry_wand": "对称法杖", - "item.create.placement_handgun": "手持式方块放置器", - "item.create.tree_fertilizer": "树木肥料", - "item.create.empty_blueprint": "空白原理图", - "item.create.andesite_alloy_cube": "安山合金", - "item.create.blaze_brass_cube": "烈焰合金", - "item.create.chorus_chrome_cube": "紫颂合金", - "item.create.chromatic_compound_cube": "Chromatic Compound", - "item.create.shadow_steel_cube": "Shadow Steel", - "item.create.blueprint_and_quill": "原理图与笔", - "item.create.blueprint": "原理图", - "item.create.belt_connector": "传送带", - "item.create.filter": "Filter", - "item.create.rose_quartz": "Rose Quartz", - "item.create.refined_rose_quartz": "Refined Rose Quartz", - "item.create.refined_radiance_cube": "Refined Radiance", - "item.create.iron_sheet": "铁板", - "item.create.gold_sheet": "金板", - "item.create.propeller": "扇叶", - "item.create.flour": "小麦粉", - "item.create.dough": "面团", + "item.create.symmetry_wand": "对称法杖", + "item.create.placement_handgun": "手持式方块放置器", + "item.create.terrain_zapper": "手持式环境塑形器", + "item.create.tree_fertilizer": "树木肥料", + "item.create.empty_blueprint": "空白原理图", + "item.create.andesite_alloy": "安山合金", + "item.create.chromatic_compound": "谜之化合物", + "item.create.shadow_steel": "暗影金属", + "item.create.blueprint_and_quill": "原理图与笔", + "item.create.blueprint": "原理图", + "item.create.belt_connector": "传送带", + "item.create.goggles": "工程师护目镜", + "item.create.filter": "过滤器", + "item.create.property_filter": "属性过滤器", + "item.create.logistical_filter": "Address Filter", + "item.create.rose_quartz": "玫瑰石英", + "item.create.polished_rose_quartz": "磨制玫瑰石英", + "item.create.refined_radiance": "光辉石", + "item.create.iron_sheet": "铁板", + "item.create.gold_sheet": "金板", + "item.create.lapis_plate": "青金石电镀版", + "item.create.obsidian_dust": "黑曜石粉", + "item.create.propeller": "扇叶", + "item.create.whisk": "搅拌器", + "item.create.brass_hand": "机械手部零件", + "item.create.slot_cover": "制造器盖板", + "item.create.zinc_handle": "锌工具手柄", + "item.create.flour": "小麦粉", + "item.create.dough": "面团", + "item.create.wrench": "扳手", + "item.create.deforester": "树林毁灭者", + "item.create.crushed_iron": "碎铁矿", + "item.create.crushed_gold": "碎金矿", + "item.create.sand_paper": "砂纸", + "item.create.red_sand_paper": "红砂纸", - "item.create.blazing_pickaxe": "Blazing Pickaxe", - "item.create.blazing_shovel": "Blazing Shovel", - "item.create.blazing_axe": "Blazing Axe", - "item.create.blazing_sword": "Blazing Longsword", + "item.create.brass_ingot": "黄铜锭", + "item.create.brass_sheet": "黄铜板", + "item.create.brass_nugget": "黄铜粒", + "item.create.crushed_brass": "碎黄铜", + "item.create.zinc_ingot": "锌锭", + "item.create.zinc_nugget": "锌粒", + "item.create.crushed_zinc": "碎锌", + "item.create.copper_sheet": "铜板", + "item.create.copper_ingot": "铜锭", + "item.create.copper_nugget": "铜粒", + "item.create.crushed_copper": "碎铜", - "item.create.shadow_steel_pickaxe": "Shadow Steel Pickaxe", - "item.create.shadow_steel_mattock": "Shadow Steel Garden Mattock", - "item.create.shadow_steel_sword": "Shadow Steel Sword", + "item.create.electron_tube": "电子管", + "item.create.integrated_circuit": "集成电路", - "item.create.rose_quartz_pickaxe": "Gilded Quartz Pickaxe", - "item.create.rose_quartz_shovel": "Gilded Quartz Shovel", - "item.create.rose_quartz_axe": "Gilded Quartz Axe", - "item.create.rose_quartz_sword": "Gilded Quartz Blade", + "item.create.logistical_controller_supply": "Item Supply", + "item.create.logistical_controller_request": "Item Request", + "item.create.logistical_controller_storage": "Item Storage", + "item.create.logistical_controller_calculation": "Ingredient Calculator", + "item.create.logistical_controller_transactions": "Task Manager", + "item.create.logistical_dial": "Logistical Dial", - "block.create.cogwheel": "齿轮", + "item.create.blazing_pickaxe": "烈焰稿", + "item.create.blazing_shovel": "烈焰铲", + "item.create.blazing_axe": "烈焰斧", + "item.create.blazing_sword": "烈焰长剑", + + "item.create.shadow_steel_pickaxe": "暗影金属稿", + "item.create.shadow_steel_mattock": "暗影金属鹤嘴锄", + "item.create.shadow_steel_sword": "暗影金属剑", + + "item.create.rose_quartz_pickaxe": "玫瑰石英稿", + "item.create.rose_quartz_shovel": "玫瑰石英铲", + "item.create.rose_quartz_axe": "玫瑰石英斧", + "item.create.rose_quartz_sword": "玫瑰石英剑", + + "block.create.copper_ore": "铜矿", + "block.create.copper_block": "铜块", + "block.create.copper_shingles": "铜瓦堆", + "block.create.zinc_ore": "锌矿", + + "block.create.andesite_casing": "安山箱", + "block.create.brass_casing": "黄铜箱", + "block.create.copper_casing": "铜箱", + + "block.create.cogwheel": "齿轮", "block.create.large_cogwheel": "大齿轮", "block.create.turntable": "转盘", "block.create.gearbox": "十字齿轮箱", - "block.create.gearshift": "红石齿轮箱", - "block.create.clutch": "离合器", + "block.create.gearshift": "红石齿轮箱", + "block.create.clutch": "离合器", "block.create.shaft": "传动杆", - "block.create.encased_belt": "连携齿轮箱", - "block.create.encased_shaft": "齿轮箱", - "block.create.encased_fan": "鼓风机", - "block.create.motor": "动力马达", - "block.create.belt": "Mechanical Belt", - "block.create.crushing_wheel": "粉碎轮", - "block.create.drill": "动力钻头", - "block.create.harvester": "收割机", - "block.create.water_wheel": "水车", - "block.create.belt_support": "传送带支撑", - "block.create.mechanical_press": "辊压机", - - "block.create.sticky_mechanical_piston": "粘性动力活塞", - "block.create.mechanical_piston": "动力活塞", - "block.create.mechanical_piston_head": "Mechanical Piston Head", - "block.create.piston_pole": "活塞杆", - "block.create.mechanical_bearing": "动力轴承", - "block.create.translation_chassis": "机壳底盘", - "block.create.rotation_chassis": "旋转底盘", - - "block.create.contact": "信号检测器", - "block.create.redstone_bridge": "无线红石信号终端", - "block.create.stockswitch": "存储检测器", - "block.create.flexcrate": "板条箱", - "block.create.extractor": "提取器", - "block.create.belt_funnel": "传送带漏斗", - "block.create.linked_extractor": "无线提取器", - "block.create.pulse_repeater": "脉冲中继器", - "block.create.flexpeater": "高级中继器", - "block.create.entity_detector": "传送带观察者", - - "block.create.andesite_bricks": "安山岩石砖", - "block.create.diorite_bricks": "闪长岩石砖", - "block.create.granite_bricks": "花岗岩石砖", - - "block.create.gabbro": "辉长岩", - "block.create.gabbro_stairs": "辉长岩楼梯", - "block.create.gabbro_slab": "辉长岩台阶", - "block.create.gabbro_wall": "辉长岩墙", - "block.create.polished_gabbro": "磨制辉长岩", - "block.create.gabbro_bricks": "辉长岩石砖", - "block.create.gabbro_bricks_stairs": "辉长岩石砖楼梯", - "block.create.gabbro_bricks_wall": "辉长岩石砖墙", - "block.create.paved_gabbro_bricks": "辉长岩砖块", - "block.create.paved_gabbro_bricks_slab": "辉长岩砖块台阶", - "block.create.indented_gabbro": "平滑辉长岩石砖", - "block.create.indented_gabbro_slab": "平滑辉长岩石砖台阶", - "block.create.slightly_mossy_gabbro_bricks": "辉长岩苔石砖", - "block.create.mossy_gabbro_bricks": "辉长岩苔藓石砖", - - "block.create.weathered_limestone": "风化石灰石", - "block.create.weathered_limestone_stairs": "风化石灰石楼梯", - "block.create.weathered_limestone_wall": "风化石灰石墙", - "block.create.weathered_limestone_slab": "风化石灰石台阶", - "block.create.polished_weathered_limestone": "磨制风化 石灰石", - "block.create.polished_weathered_limestone_slab": "磨制风化石灰石台阶", - "block.create.weathered_limestone_bricks": "风化石灰石砖", - "block.create.weathered_limestone_bricks_stairs": "风化石灰石砖楼梯", - "block.create.weathered_limestone_bricks_wall": "风化石灰石砖墙", - "block.create.weathered_limestone_bricks_slab": "风化石灰石砖台阶", - "block.create.weathered_limestone_pillar": "风化石灰石柱", - - "block.create.dolomite_pillar": "白云岩柱", - "block.create.dolomite": "白云岩", - "block.create.dolomite_stairs": "白云岩楼梯", - "block.create.dolomite_wall": "白云岩墙", - "block.create.dolomite_slab": "白云岩台阶", - "block.create.dolomite_bricks": "白云岩石砖", - "block.create.dolomite_bricks_wall": "白云岩石砖墙", - "block.create.dolomite_bricks_stairs": "白云岩石砖楼梯", - "block.create.dolomite_bricks_slab": "白云岩石砖台阶", - "block.create.polished_dolomite": "磨制白云岩", - - "block.create.limestone": "石灰石", - "block.create.limestone_stairs": "石灰石楼梯", - "block.create.limestone_slab": "石灰石台阶", - "block.create.limestone_wall": "石灰石墙", - "block.create.limestone_bricks": "石灰石砖", - "block.create.limestone_bricks_stairs": "石灰石砖楼梯", - "block.create.limestone_bricks_slab": "石灰石砖台阶", - "block.create.limestone_bricks_wall": "石灰石砖墙", - "block.create.polished_limestone": "磨制石灰石", - "block.create.polished_limestone_slab": "磨制石灰石台阶", - "block.create.limestone_pillar": "石灰石柱", - - "block.create.schematicannon": "加农炮", - "block.create.schematic_table": "Schematic桌", - "block.create.creative_crate": "Schematic创造者", - - "block.create.cocoa_log": "可可木", - - "block.create.shop_shelf": "Shelf", - - "_comment": "-------------------------] UI & MESSAGES [------------------------------------------------", - - "death.attack.create.crush": "%1$s 被压扁了", - "death.attack.create.fan_fire": "%1$s 试图接受热风的洗礼", - "death.attack.create.fan_lava": "%1$s 在接受热风的洗礼中欲火焚身", - "death.attack.create.drill": "%1$s 的钻头是突破天际的钻头", - - "create.recipe.crushing": "批量粉碎", - "create.recipe.splashing": "批量洗涤", - "create.recipe.splashing.fan": "在鼓风机前方倒水", - "create.recipe.smokingViaFan": "批量烟熏", - "create.recipe.smokingViaFan.fan": "在鼓风机前方点火", - "create.recipe.blastingViaFan": "批量冶炼", - "create.recipe.blastingViaFan.fan": "在鼓风机前方倒岩浆", - "create.recipe.pressing": "金属成型机", - "create.recipe.blockzapperUpgrade": "手持式方块放置器", - "create.recipe.processing.chance": "%1$s%% 概率", - - "create.generic.range": "范围", - "create.generic.radius": "半径", - "create.generic.speed": "速度", - "create.generic.delay": "延时", - "create.generic.unit.ticks": "Ticks", - "create.generic.unit.seconds": "Seconds", - "create.generic.unit.minutes": "Minutes", - - "create.action.scroll": "滚轮", - "create.action.confirm": "确认", - "create.action.abort": "退出", - "create.action.saveToFile": "保存", - "create.action.discard": "丢弃", - - "create.keyinfo.toolmenu": "工具菜单", - - "create.gui.scrollInput.defaultTitle": "选择一个选项:", - "create.gui.scrollInput.scrollToModify": "滚动修改", - "create.gui.scrollInput.scrollToSelect": "滚动选择", - "create.gui.scrollInput.shiftScrollsFaster": "潜行时滚动更快", - - "create.gui.toolmenu.focusKey": "按住 [%1$s] 鼠标滚轮选择", - "create.gui.toolmenu.cycle": "[SCROLL] 循环", - - "create.gui.symmetryWand.mirrorType": "镜子类型", - "create.gui.symmetryWand.orientation": "方向", - "create.symmetry.mirror.plane": "镜像", - "create.symmetry.mirror.doublePlane": "矩形", - "create.symmetry.mirror.triplePlane": "八角", - "create.orientation.orthogonal": "垂直", - "create.orientation.diagonal": "对角线", - "create.orientation.horizontal": "水平", - "create.orientation.alongZ": "Along Z", - "create.orientation.alongX": "Along X", - - "create.gui.blockzapper.title": "手持式方块放置机", - "create.gui.blockzapper.replaceMode": "更换模式", - "create.gui.blockzapper.searchDiagonal": "根据对角线", - "create.gui.blockzapper.searchFuzzy": "忽视边界", - "create.gui.blockzapper.range": "扩散范围", - "create.gui.blockzapper.patternSection": "模式", - "create.gui.blockzapper.pattern.solid": "实心", - "create.gui.blockzapper.pattern.checkered": "棋盘", - "create.gui.blockzapper.pattern.inversecheckered": "反转棋盘", - "create.gui.blockzapper.pattern.chance25": "25% ", - "create.gui.blockzapper.pattern.chance50": "50% ", - "create.gui.blockzapper.pattern.chance75": "75% ", - - "create.blockzapper.usingBlock": "使用: %1$s", - "create.blockzapper.componentUpgrades": "组件升级:", - "create.blockzapper.component.body": "机体", - "create.blockzapper.component.amplifier": "增大", - "create.blockzapper.component.accelerator": "加速", - "create.blockzapper.component.retriever": "寻回", - "create.blockzapper.component.scope": "范围", - "create.blockzapper.componentTier.none": "无", - "create.blockzapper.componentTier.blazebrass": "烈焰合金", - "create.blockzapper.componentTier.choruschrome": "紫颂合金", - "create.blockzapper.leftClickToSet": "左键点击方块以设定方块", - "create.blockzapper.empty": "出击!", - - "create.logistics.filter": "过滤器", - "create.logistics.firstFrequency": "频道. #1", - "create.logistics.secondFrequency": "频道. #2", - - "create.gui.flexcrate.title": "板条箱", - "create.gui.flexcrate.storageSpace": "储存空间", - - "create.gui.stockswitch.title": "储存开关", - "create.gui.stockswitch.lowerLimit": "阈值下限", - "create.gui.stockswitch.upperLimit": "阈值上限", - "create.gui.stockswitch.startAt": "启动信号", - "create.gui.stockswitch.startAbove": "Start Signal above", - "create.gui.stockswitch.stopAt": "停止信号", - "create.gui.stockswitch.stopBelow": "Stop Signal below", - - "create.schematicAndQuill.dimensions": "原理图尺寸: %1$sx%2$sx%3$s", - "create.schematicAndQuill.firstPos": "第一个位置.", - "create.schematicAndQuill.secondPos": "第二个位置.", - "create.schematicAndQuill.noTarget": "按住Ctrl选择空气方块.", - "create.schematicAndQuill.abort": "删除选择.", - "create.schematicAndQuill.prompt": "输入原理图的名称:", - "create.schematicAndQuill.fallbackName": "我的原理图", - "create.schematicAndQuill.saved": "另存为 %1$s", - - "create.schematic.invalid": "[!] 无效的项目", - "create.schematic.position": "位置", - "create.schematic.rotation": "旋转", - "create.schematic.rotation.none": "无", - "create.schematic.rotation.cw90": "顺时针90", - "create.schematic.rotation.cw180": "顺时针180", - "create.schematic.rotation.cw270": "顺时针270", - "create.schematic.mirror": "镜像", - "create.schematic.mirror.none": "无", - "create.schematic.mirror.frontBack": "前后", - "create.schematic.mirror.leftRight": "左右", - - "create.schematic.tool.deploy": "部署", - "create.schematic.tool.move": "移动 XZ", - "create.schematic.tool.movey": "移动 Y", - "create.schematic.tool.rotate": "旋转", - "create.schematic.tool.print": "打印", - "create.schematic.tool.flip": "翻转", - - "create.schematic.tool.deploy.description.0": "将结构移到某个位置.", - "create.schematic.tool.deploy.description.1": "在地面上单击鼠标右键以放置.", - "create.schematic.tool.deploy.description.2": "按住Ctrl以固定距离选择.", - "create.schematic.tool.deploy.description.3": "按住Ctrl鼠标滚动更改距离.", - "create.schematic.tool.move.description.0": "水平移动原理图", - "create.schematic.tool.move.description.1": "选定原理图,然后按住Ctrl鼠标滚动移动.", - "create.schematic.tool.move.description.2": "", - "create.schematic.tool.move.description.3": "", - "create.schematic.tool.movey.description.0": "垂直移动原理图", - "create.schematic.tool.movey.description.1": "按住Ctrl鼠标滚动上下移动", - "create.schematic.tool.movey.description.2": "", - "create.schematic.tool.movey.description.3": "", - "create.schematic.tool.rotate.description.0": "围绕原理图中心旋转原理图.", - "create.schematic.tool.rotate.description.1": "按住Ctrl鼠标滚动旋转90度", - "create.schematic.tool.rotate.description.2": "", - "create.schematic.tool.rotate.description.3": "", - "create.schematic.tool.print.description.0": "立即将结构放置在世界上", - "create.schematic.tool.print.description.1": "右键单机确认当前位置.", - "create.schematic.tool.print.description.2": "该工具仅适用于创造模式.", - "create.schematic.tool.print.description.3": "", - "create.schematic.tool.flip.description.0": "沿你选择的面翻转原理图.", - "create.schematic.tool.flip.description.1": "指向原理图,然后按住Ctrl鼠标滚动将其翻转.", - "create.schematic.tool.flip.description.2": "", - "create.schematic.tool.flip.description.3": "", - - "create.schematics.synchronizing": "正在同步...", - "create.schematics.uploadTooLarge": "你的原理图太大", - "create.schematics.maxAllowedSize": "允许的最大原理图文件大小为:", - - "create.gui.schematicTable.title": "原理图桌", - "create.gui.schematicTable.availableSchematics": "可用原理图", - "create.gui.schematicTable.noSchematics": "没有保存的原理图", - "create.gui.schematicTable.uploading": "正在上传...", - "create.gui.schematicTable.finished": "上传完成!", - - "create.gui.schematicannon.title": "原理图加农炮", - "create.gui.schematicannon.settingsTitle": "放置设置", - "create.gui.schematicannon.listPrinter": "物品清单打印机", - "create.gui.schematicannon.gunpowderLevel": "火药 %1$s%%", - "create.gui.schematicannon.shotsRemaining": "发射进度: %1$s", - "create.gui.schematicannon.shotsRemainingWithBackup": "备份: %1$s", - "create.gui.schematicannon.optionEnabled": "当前启用", - "create.gui.schematicannon.optionDisabled": "当前禁用", - "create.gui.schematicannon.option.dontReplaceSolid": "不要替换实体方块", - "create.gui.schematicannon.option.replaceWithSolid": "用普通方块替换实体方块", - "create.gui.schematicannon.option.replaceWithAny": "用任何方块替换", - "create.gui.schematicannon.option.replaceWithEmpty": "用方块替换空气", - "create.gui.schematicannon.option.skipMissing": "绕过缺少的方块", - "create.gui.schematicannon.option.skipTileEntities": "保护存储方块", - - "create.gui.schematicannon.option.skipMissing.description": "如果原理图无法找到所需的放置块,它将在下一个位置继续(译者:看不懂可以直接看视频,因为我也看不懂...).", - "create.gui.schematicannon.option.skipTileEntities.description": "原理图将避免更换存储方块,如箱子.", - "create.gui.schematicannon.option.dontReplaceSolid.description": "加农炮将永远不会替换工作范围内的任何实体方块.", - "create.gui.schematicannon.option.replaceWithSolid.description": "如果原理图在其工作范围内包含实体方块,则加农炮将仅替换实体方块.", - "create.gui.schematicannon.option.replaceWithAny.description": "如果原理图在其工作范围内包含任何块,则加农炮将替换实体方块.", - "create.gui.schematicannon.option.replaceWithEmpty.description": "加农炮将清除其工作范围内的所有阻碍物,包括被空气取代的障碍.", - - "create.schematicannon.status.idle": "闲置", - "create.schematicannon.status.ready": "准备", - "create.schematicannon.status.running": "运行", - "create.schematicannon.status.finished": "完成", - "create.schematicannon.status.paused": "已暂停", - "create.schematicannon.status.stopped": "停止", - "create.schematicannon.status.noGunpowder": "Out of Gunpowder", - "create.schematicannon.status.targetNotLoaded": "方块未加载", - "create.schematicannon.status.targetOutsideRange": "定位目标太远", - "create.schematicannon.status.searching": "搜索", - "create.schematicannon.status.skipping": "跳过", - "create.schematicannon.status.missingBlock": "缺少方块:", - "create.schematicannon.status.placing": "配置", - "create.schematicannon.status.clearing": "清除方块", - "create.schematicannon.status.schematicInvalid": "原理图无效", - "create.schematicannon.status.schematicNotPlaced": "原理图未部署", - "create.schematicannon.status.schematicExpired": "原理图文件已过期", - - "create.tooltip.holdKey": "按住 [%1$s]", - "create.tooltip.holdKeyOrKey": "按住 [%1$s] 或 [%2$s]", - "create.tooltip.keyShift": "Shift", - "create.tooltip.keyCtrl": "Ctrl", - - "_comment": "-------------------------] ITEM DESCRIPTIONS [------------------------------------------------", - - "item.create.example_item.tooltip": "EXAMPLE ITEM (just a marker that this tooltip exists)", - "item.create.example_item.tooltip.summary": "A brief description of the item. _Underscores_ highlight a term.", - "item.create.example_item.tooltip.condition1": "When this", - "item.create.example_item.tooltip.behaviour1": "Then this item does this. (behaviours show on shift)", - "item.create.example_item.tooltip.condition2": "And When this", - "item.create.example_item.tooltip.behaviour2": "You can add as many behaviours as you like", - "item.create.example_item.tooltip.control1": "When Ctrl pressed", - "item.create.example_item.tooltip.action1": "These controls are displayed.", - - "item.create.symmetry_wand.tooltip": "SYMMETRY WAND", - "item.create.symmetry_wand.tooltip.summary": "完美地映射你在已配置平面上的方块放置.", - "item.create.symmetry_wand.tooltip.condition1": "当在热键栏时", - "item.create.symmetry_wand.tooltip.behaviour1": "保持活跃", - "item.create.symmetry_wand.tooltip.control1": "当右键地面时", - "item.create.symmetry_wand.tooltip.action1": "创建或移动镜子", - "item.create.symmetry_wand.tooltip.control2": "当右键空气时", - "item.create.symmetry_wand.tooltip.action2": "删除镜子", - "item.create.symmetry_wand.tooltip.control3": "当潜行右键时", - "item.create.symmetry_wand.tooltip.action3": "打开gui界面", - - "item.create.placement_handgun.tooltip": "BLOCKZAPPER", - "item.create.placement_handgun.tooltip.summary": "新颖的小工具,可以远距离放置或更换方块.", - "item.create.placement_handgun.tooltip.control1": "当左键方块时", - "item.create.placement_handgun.tooltip.action1": "设定放置此方块.", - "item.create.placement_handgun.tooltip.control2": "当右键方块时", - "item.create.placement_handgun.tooltip.action2": "放置或替换目标方块.", - "item.create.placement_handgun.tooltip.control3": "当潜行右键时", - "item.create.placement_handgun.tooltip.action3": "打开gui界面", - - "item.create.tree_fertilizer.tooltip": "TREE FERTILIZER", - "item.create.tree_fertilizer.tooltip.summary": "适用于常见树木的快速肥料", - "item.create.tree_fertilizer.tooltip.condition1": "在树苗上使用时", - "item.create.tree_fertilizer.tooltip.behaviour1": "无论生长时间多少,直接长大", - - "block.create.cocoa_log.tooltip": "COCOA LOG", - "block.create.cocoa_log.tooltip.summary": "增强的可可豆丛林木,更方便实现可可豆自动化", - "block.create.cocoa_log.tooltip.condition1": "成熟时", - "block.create.cocoa_log.tooltip.behaviour1": "四面生长可可豆", - - "item.create.empty_blueprint.tooltip": "EMPTY SCHEMATIC", - "item.create.empty_blueprint.tooltip.summary": "可作为合成材料或在原理图桌使用", - - "item.create.blueprint.tooltip": "SCHEMATIC", - "item.create.blueprint.tooltip.summary": "可以放置在世界中的结构,根据需要放置全息图,并使用原理图加农炮进行构建.", - "item.create.blueprint.tooltip.condition1": "当全息图存在时", - "item.create.blueprint.tooltip.behaviour1": "可以使用屏幕上的工具定位", - "item.create.blueprint.tooltip.control1": "当潜行右键时", - "item.create.blueprint.tooltip.action1": "打开一个用于输入精确坐标的界面.", - - "item.create.blueprint_and_quill.tooltip": "SCHEMATIC AND QUILL", - "item.create.blueprint_and_quill.tooltip.summary": "用于将世界中的结构保存到.nbt文件.", - "item.create.blueprint_and_quill.tooltip.condition1": "第一步", - "item.create.blueprint_and_quill.tooltip.behaviour1": "手持原理图与右键旋转两个点", - "item.create.blueprint_and_quill.tooltip.condition2": "第二步", - "item.create.blueprint_and_quill.tooltip.behaviour2": "按住Ctrl鼠标滚轮选择选区大小,右键空白处保存.", - "item.create.blueprint_and_quill.tooltip.control1": "右键", - "item.create.blueprint_and_quill.tooltip.action1": "选取点/确认保存", - "item.create.blueprint_and_quill.tooltip.control2": "按住Ctrl鼠标滚轮", - "item.create.blueprint_and_quill.tooltip.action2": "在空中选择点滚动以调整距离。", - "item.create.blueprint_and_quill.tooltip.control3": "当潜行右键时", - "item.create.blueprint_and_quill.tooltip.action3": "重置并删除选区.", - - "block.create.creative_crate.tooltip": "CREATIVE CRATE", - "block.create.creative_crate.tooltip.summary": "为相邻的原理图加农炮提供无限能量的方块", - - "block.create.schematicannon.tooltip": "SCHEMATICANNON", - "block.create.schematicannon.tooltip.summary": "发射方块以在世界中重新构建已部署的全息图,使用相邻箱子中的物品及火药作为燃料.", - "block.create.schematicannon.tooltip.control1": "当右键时", - "block.create.schematicannon.tooltip.action1": "打开gui界面", - - "block.create.schematic_table.tooltip": "SCHEMATIC TABLE", - "block.create.schematic_table.tooltip.summary": "将保存的原理图图写入空白原理图", - "block.create.schematic_table.tooltip.condition1": "放入空白原理图时", - "block.create.schematic_table.tooltip.behaviour1": "从Schematics文件夹上传所选文件", - - "block.create.shaft.tooltip": "SHAFT", - "block.create.shaft.tooltip.summary": "传动杆.", - - "block.create.cogwheel.tooltip": "COGWHEEL", - "block.create.cogwheel.tooltip.summary": "传动结构之一.", - - "block.create.large_cogwheel.tooltip": "LARGE COGWHEEL", - "block.create.large_cogwheel.tooltip.summary": "大号齿轮传动结构,连接到小型齿轮时改变其转速.", - - "block.create.encased_shaft.tooltip": "ENCASED SHAFT", - "block.create.encased_shaft.tooltip.summary": "一字齿轮传动结构.", - - "block.create.gearbox.tooltip": "GEARBOX", - "block.create.gearbox.tooltip.summary": "十字传动旋转结构.", - - "block.create.gearshift.tooltip": "GEARSHIFT", - "block.create.gearshift.tooltip.summary": "用于传动的可控旋转开关.", - "block.create.gearshift.tooltip.condition1": "当提供红石信号时", - "block.create.gearshift.tooltip.behaviour1": "更改旋转方向.", - - "block.create.clutch.tooltip": "CLUTCH", - "block.create.clutch.tooltip.summary": "传动控制装置.", - "block.create.clutch.tooltip.condition1": "当提供红石信号时", - "block.create.clutch.tooltip.behaviour1": "停止另一侧的旋转.", - - "block.create.encased_belt.tooltip": "ENCASED_BELT", - "block.create.encased_belt.tooltip.summary": "通过此方块传递动力,比如将动力传递到连接的传送带.", - "block.create.encased_belt.tooltip.condition1": "连接到其他传动或装置时", - "block.create.encased_belt.tooltip.behaviour1": "将具有完全相同的转速和方向.", - - "item.create.belt_connector.tooltip": "BELT CONNECTOR", - "item.create.belt_connector.tooltip.summary": "用传送带连接传动杆,连接的传动杆将具有完全相同的转速和方向.传送带可以传输实体.", - "item.create.belt_connector.tooltip.control1": "当右键传动杆时", - "item.create.belt_connector.tooltip.action1": "选择传动杆作为传送带的传输点,选定的两个传动杆都必须相互垂直,水平或对角平齐.", - "item.create.belt_connector.tooltip.control2": "当潜行右键时", - "item.create.belt_connector.tooltip.action2": "重置传送带的第一个选定位置", - - "block.create.belt_support.tooltip": "BELT SUPPORT", - "block.create.belt_support.tooltip.summary": "纯粹的装饰块.", - "block.create.belt_support.tooltip.condition1": "当放置在传送带下方时", - "block.create.belt_support.tooltip.behaviour1": "支撑传送带顶部,隐藏下半部分.", - - "block.create.motor.tooltip": "MOTOR", - "block.create.motor.tooltip.summary": "可以配置的无限动力来源", - - "block.create.water_wheel.tooltip": "WATER WHEEL", - "block.create.water_wheel.tooltip.summary": "从相邻的流水中获得动力", - - "block.create.encased_fan.tooltip": "ENCASED FAN", - "block.create.encased_fan.tooltip.summary": "有多种用途,主要可以将动力转化为气流.", - "block.create.encased_fan.tooltip.condition1": "在下方点火时", - "block.create.encased_fan.tooltip.behaviour1": "可为连结的传动结构提供动力(热力>动力)", - "block.create.encased_fan.tooltip.condition2": "当旋转时", - "block.create.encased_fan.tooltip.behaviour2": "一面推动实体,一面吸引实体,强度和速度取决于给予的动力.", - "block.create.encased_fan.tooltip.condition3": "当气流通过火,水,岩浆时", - "block.create.encased_fan.tooltip.behaviour3": "获得相应产物(建议配合jei查看).", - - "block.create.turntable.tooltip": "TURNTABLE", - "block.create.turntable.tooltip.summary": "一个普通的转盘.", - - "block.create.crushing_wheel.tooltip": "CRUSHING WHEEL", - "block.create.crushing_wheel.tooltip.summary": "用于建造多方块粉碎机,粉碎轮的齿必须以相同的速度朝相对的方向旋转才可处理各种物品的粉碎合成.", - "block.create.crushing_wheel.tooltip.condition1": "当两个粉碎轮一起运作时", - "block.create.crushing_wheel.tooltip.behaviour1": "粉碎物品并获得相应产物(建议配合jei查看)", - - "block.create.mechanical_press.tooltip": "MECHANICAL PRESS", - "block.create.mechanical_press.tooltip.summary": "一个强里的活塞,用于压制其下方的物品.", - "block.create.mechanical_press.tooltip.condition1": "当提供红石信号时", - "block.create.mechanical_press.tooltip.behaviour1": "压制其下方的物品.", - "block.create.mechanical_press.tooltip.condition2": "在传送带上方时", - "block.create.mechanical_press.tooltip.behaviour2": "自动压缩经过传送带的物品.", - - "block.create.mechanical_piston.tooltip": "MECHANICAL PISTON", - "block.create.mechanical_piston.tooltip.summary": "活塞的高级版本,使用机械动力精确移动粘贴的方块,背面可放置活塞杆延长活塞范围,没有活塞杆将不会工作,使用机壳底盘可以移动多行.", - "block.create.mechanical_piston.tooltip.condition1": "推拉活塞时", - "block.create.mechanical_piston.tooltip.behaviour1": "速度和方向与转速相关.", - - "block.create.sticky_mechanical_piston.tooltip": "STICKY MECHANICAL PISTON", - "block.create.sticky_mechanical_piston.tooltip.summary": "粘性活塞的高级版本,使用机械动力精确移动粘贴的方块,背面可放置活塞杆延长活塞范围,没有活塞杆将不会工作,使用机壳底盘可以移动多行.", - "block.create.sticky_mechanical_piston.tooltip.condition1": "推拉活塞时", - "block.create.sticky_mechanical_piston.tooltip.behaviour1": "速度和方向与转速相关.", - - "block.create.piston_pole.tooltip": "PISTON POLE", - "block.create.piston_pole.tooltip.summary": "用于增加动力活塞范围", - "block.create.piston_pole.tooltip.condition1": "当连接到动力活塞时", - "block.create.piston_pole.tooltip.behaviour1": "活塞的延伸范围将扩大", - - "block.create.mechanical_bearing.tooltip": "MECHANICAL BEARING", - "block.create.mechanical_bearing.tooltip.summary": "用于建造旋转的大型风力动能结构,比如风车.", - "block.create.mechanical_bearing.tooltip.condition1": "当旋转时", - "block.create.mechanical_bearing.tooltip.behaviour1": "就是旋转啊还能怎么样....", - "block.create.mechanical_bearing.tooltip.condition2": "给予红石信号时", - "block.create.mechanical_bearing.tooltip.behaviour2": "开始旋转并为连接的传动方块提供动力(此结构需使用羊毛建造).", - - "block.create.translation_chassis.tooltip": "TRANSLATION CHASSIS", - "block.create.translation_chassis.tooltip.summary": "动力活塞移动的多方块结构基础,这种方块须在活塞前面第一层放置.", - "block.create.translation_chassis.tooltip.condition1": "由动力活塞推动时", - "block.create.translation_chassis.tooltip.behaviour1": "朝相同的方向移动所有连接在一起的机壳底盘;当活塞缩回时,只拉回底盘表面设置数量的方块(详情见Ctrl).", - "block.create.translation_chassis.tooltip.control1": "当用史莱姆球右键时", - "block.create.translation_chassis.tooltip.action1": "变为粘性机壳底盘.", - - "block.create.rotation_chassis.tooltip": "ROTATION CHASSIS", - "block.create.rotation_chassis.tooltip.summary": "使用旋转底盘是旋转结构必须的", - "block.create.rotation_chassis.tooltip.condition1": "当旋转时", - "block.create.rotation_chassis.tooltip.behaviour1": "在其周围的配置范围内旋转所有粘贴到粘性面的方块(详情见Ctrl).", - "block.create.rotation_chassis.tooltip.control1": "当用史莱姆球右键时", - "block.create.rotation_chassis.tooltip.action1": "当底盘旋转同时旋转所有粘贴到粘性面的方块.", - - "block.create.drill.tooltip": "MECHANICAL DRILL", - "block.create.drill.tooltip.summary": "用于破坏方块的装置", - "block.create.drill.tooltip.condition1": "当旋转时", - "block.create.drill.tooltip.behaviour1": "破化正前方的方块,且伤害在一定范围内生物及玩家.", - "block.create.drill.tooltip.condition2": "由动力活塞推动时", - "block.create.drill.tooltip.behaviour2": "横向或纵向破坏相当于活塞杆长度的方块.", - - "block.create.harvester.tooltip": "MECHANICAL HARVESTER", - "block.create.harvester.tooltip.summary": "适用于中型作物自动化的收割机", - "block.create.harvester.tooltip.condition1": "由动力活塞推动时", - "block.create.harvester.tooltip.behaviour1": "收割机移动至成熟作物收割作物并将作物变为初始生长状态.", - - "block.create.stockswitch.tooltip": "STOCKSWITCH", - "block.create.stockswitch.tooltip.summary": "根据连接的容器存储空间大小切换红石信号强度.", - "block.create.stockswitch.tooltip.condition1": "低于下限时", - "block.create.stockswitch.tooltip.behaviour1": "停止提供红石信号", - "block.create.stockswitch.tooltip.condition2": "超过上限时", - "block.create.stockswitch.tooltip.behaviour2": "开始提供红石信号,直到再次到达下限.", - "block.create.stockswitch.tooltip.control1": "当右键方块时", - - "block.create.redstone_bridge.tooltip": "REDSTONE LINK", - "block.create.redstone_bridge.tooltip.summary": "无线红石信号终端,可以使用任何物品编辑终端频道,但距离有限.", - "block.create.redstone_bridge.tooltip.condition1": "当启用时", - "block.create.redstone_bridge.tooltip.behaviour1": "接收相同频道提供的红石信号.", - "block.create.redstone_bridge.tooltip.control1": "当右键方块时", - "block.create.redstone_bridge.tooltip.action1": "手持任意物品为其设置频道,可以组合两个物品.", - "block.create.redstone_bridge.tooltip.control2": "当潜行右键方块时", - "block.create.redstone_bridge.tooltip.action2": "在终端模式和接收模式之间切换.", - - "block.create.contact.tooltip": "REDSTONE CONTACT", - "block.create.contact.tooltip.summary": "一种用于高级红石装置的设备.", - "block.create.contact.tooltip.condition1": "当正对面放置也放置信号检测器时", - "block.create.contact.tooltip.behaviour1": "提供红石信号", - "block.create.contact.tooltip.condition2": "", - "block.create.contact.tooltip.behaviour2": "", - - "block.create.flexcrate.tooltip": "FLEXCRATE", - "block.create.flexcrate.tooltip.summary": "该箱子允许对其容量进行调整,最大可以容纳16组物品.", - "block.create.flexcrate.tooltip.control1": "当右键方块时", - "block.create.flexcrate.tooltip.action1": "打开箱子", - - "block.create.extractor.tooltip": "EXTRACTOR", - "block.create.extractor.tooltip.summary": "从连接的箱子里自动将物品输出到外面,可以设置白名单过滤.", - "block.create.extractor.tooltip.condition1": "当提供红石信号时", - "block.create.extractor.tooltip.behaviour1": "暂停自动输出", - "block.create.extractor.tooltip.action1": "将当前持有的物品设置为物品过滤白名单", - - "block.create.linked_extractor.tooltip": "LINKED EXTRACTOR", - "block.create.linked_extractor.tooltip.summary": "从连接的箱子里自动将物品输出到外面,可以设置白名单过滤,直到上一次输出的物品被清空才会再次输出,可以使用无线红石信号终端控制.", - "block.create.linked_extractor.tooltip.condition1": "当无线红石信号激活时", - "block.create.linked_extractor.tooltip.behaviour1": "暂停输出物品", - "block.create.linked_extractor.tooltip.control1": "右键方块时", - "block.create.linked_extractor.tooltip.action1": "将当前持有的物品数量的物品设置为物品过滤白名单且输出此数量的物品.", - "block.create.linked_extractor.tooltip.control2": "当右键方块侧面时", - "block.create.linked_extractor.tooltip.action2": "手持任意物品为其设置频道,将接收无线红石终端相应频道,可以组合两个物品.", - - "block.create.belt_funnel.tooltip": "BELT FUNNEL", - "block.create.belt_funnel.tooltip.summary": "接收传送带上的物品到连接的储存空间,必须放置在正对传送带的方向及高度.", - - "block.create.entity_detector.tooltip": "BELT OBSERVER", - "block.create.entity_detector.tooltip.summary": "检测前方传送带上的物品经过时输出红石信号,比如在上方放置活塞.", - "block.create.entity_detector.tooltip.condition1": "当物品和过滤器相匹配时", - "block.create.entity_detector.tooltip.behaviour1": "提供一个短暂的红石信号,空置过滤器匹配所有通过的物品.", - "block.create.entity_detector.tooltip.control1": "右键方块时", - "block.create.entity_detector.tooltip.action1": "将当前持有的物品设置为物品过滤白名单,将只会对此物品做出反应(指红石信号.", - - "block.create.pulse_repeater.tooltip": "PULSE REPEATER", - "block.create.pulse_repeater.tooltip.summary": "一个简单的电路,将通过的红石信号变为1tick.", - - "block.create.flexpeater.tooltip": "FLEX REPEATER", - "block.create.flexpeater.tooltip.summary": "高级中继器,最大可设置30分钟延迟", - - "itemGroup.create": "机械动力" -} + "block.create.encased_belt": "连携齿轮箱", + "block.create.encased_shaft": "齿轮箱", + "block.create.encased_fan": "鼓风机", + "block.create.adjustable_pulley": "高级连携齿轮箱", + "block.create.nozzle": "分散网", + "block.create.hand_crank": "曲柄", + "block.create.cuckoo_clock": "布谷鸟鸣钟", + "block.create.creative_motor": "动力马达", + "block.create.belt": "传送带", + "block.create.crushing_wheel": "粉碎轮", + "block.create.drill": "动力钻头", + "block.create.portable_storage_interface": "移动式储物接口", + "block.create.harvester": "收割机", + "block.create.saw": "切割机", + "block.create.water_wheel": "水车", + "block.create.mechanical_press": "辊压机", + "block.create.mechanical_mixer": "搅拌器", + "block.create.deployer": "机械手", + "block.create.basin": "工作盆", + "block.create.mechanical_crafter": "机械制造机", + "block.create.flywheel": "飞轮", + "block.create.furnace_engine": "熔炉引擎", + "block.create.speed_gauge": "速度表", + "block.create.stress_gauge": "应力表", + "block.create.cart_assembler": "矿车装配器", + "block.create.analog_lever": "可调节推杆", + "block.create.rotation_speed_controller": "旋转速度控制器", + + "block.create.sticky_mechanical_piston": "粘性动力活塞", + "block.create.mechanical_piston": "动力活塞", + "block.create.mechanical_piston_head": "Mechanical Piston Head", + "block.create.piston_pole": "活塞杆", + "block.create.mechanical_bearing": "动力轴承", + "block.create.clockwork_bearing": "时钟轴承", + "block.create.rope_pulley": "绳索滑轮", + "block.create.rope": "Rope", + "block.create.pulley_magnet": "Pulley Magnet", + "block.create.translation_chassis": "机壳底盘", + "block.create.rotation_chassis": "旋转底盘", + + "block.create.contact": "信号检测器", + "block.create.redstone_bridge": "无线红石信号终端", + "block.create.stockswitch": "存储检测器", + "block.create.flexcrate": "板条箱", + "block.create.extractor": "提取器", + "block.create.belt_funnel": "传送带漏斗", + "block.create.linked_extractor": "无线提取器", + "block.create.transposer": "传输器", + "block.create.linked_transposer": "无线传输器", + "block.create.pulse_repeater": "脉冲中继器", + "block.create.flexpulsepeater": "高级脉冲中继器", + "block.create.redstone_latch": "锁存器", + "block.create.toggle_latch": "T触发器", + "block.create.flexpeater": "高级中继器", + "block.create.entity_detector": "传送带观察者", + "block.create.logistical_casing": "Logistical Casing", + "block.create.logistical_controller": "Logistical Controller", + "block.create.logistical_index": "Logistical Index", + "block.create.logisticians_table": "Logistician's Table", + "block.create.package_funnel": "Package Funnel", + "block.create.belt_tunnel": "传送带隧道", + "block.create.sequenced_gearshift": "可编程齿轮箱", + + "block.create.tiled_glass": "玻璃瓦", + "block.create.framed_glass": "大型玻璃窗", + "block.create.vertical_framed_glass": "竖直玻璃窗", + "block.create.horizontal_framed_glass": "水平玻璃窗", + "block.create.oak_glass": "橡木窗", + "block.create.spruce_glass": "云杉木窗", + "block.create.birch_glass": "桦木窗", + "block.create.jungle_glass": "从林木窗", + "block.create.dark_oak_glass": "深色橡木窗", + "block.create.acacia_glass": "合金欢木窗", + "block.create.iron_glass": "华丽的铁窗", + + "block.create.tiled_glass_pane": "玻璃瓦片板", + "block.create.framed_glass_pane": "大型玻璃窗板", + "block.create.vertical_framed_glass_pane": "竖直玻璃窗板", + "block.create.horizontal_framed_glass_pane": "水平玻璃窗板", + "block.create.oak_glass_pane": "橡木窗板", + "block.create.spruce_glass_pane": "云杉木窗板", + "block.create.birch_glass_pane": "桦木窗板", + "block.create.jungle_glass_pane": "从林木窗板", + "block.create.dark_oak_glass_pane": "深色橡木窗板", + "block.create.acacia_glass_pane": "合金欢木窗板", + "block.create.iron_glass_pane": "华丽的铁窗板", + + "block.create.window_in_a_block": "玻璃板块", + "block.create.andesite_bricks": "安山岩石砖", + "block.create.andesite_layers": "层叠安山岩", + "block.create.diorite_bricks": "闪长岩石砖", + "block.create.diorite_layers": "层叠闪长岩", + "block.create.granite_bricks": "花岗岩石砖", + "block.create.granite_layers": "层叠花岗岩", + + "block.create.gabbro": "辉长岩", + "block.create.gabbro_stairs": "辉长岩楼梯", + "block.create.gabbro_slab": "辉长岩台阶", + "block.create.gabbro_wall": "辉长岩墙", + "block.create.polished_gabbro": "磨制辉长岩", + "block.create.gabbro_bricks": "辉长岩石砖", + "block.create.gabbro_bricks_stairs": "辉长岩石砖楼梯", + "block.create.gabbro_bricks_wall": "辉长岩石砖墙", + "block.create.paved_gabbro_bricks": "辉长岩砖块", + "block.create.paved_gabbro_bricks_slab": "辉长岩砖块台阶", + "block.create.indented_gabbro": "平滑辉长岩石砖", + "block.create.indented_gabbro_slab": "平滑辉长岩石砖台阶", + "block.create.slightly_mossy_gabbro_bricks": "辉长岩苔石砖", + "block.create.mossy_gabbro_bricks": "辉长岩苔藓石砖", + "block.create.gabbro_layers": "层叠辉长岩", + + "block.create.weathered_limestone": "风化石灰石", + "block.create.weathered_limestone_stairs": "风化石灰石楼梯", + "block.create.weathered_limestone_wall": "风化石灰石墙", + "block.create.weathered_limestone_slab": "风化石灰石台阶", + "block.create.polished_weathered_limestone": "磨制风化 石灰石", + "block.create.polished_weathered_limestone_slab": "磨制风化石灰石台阶", + "block.create.weathered_limestone_bricks": "风化石灰石砖", + "block.create.weathered_limestone_bricks_stairs": "风化石灰石砖楼梯", + "block.create.weathered_limestone_bricks_wall": "风化石灰石砖墙", + "block.create.weathered_limestone_bricks_slab": "风化石灰石砖台阶", + "block.create.weathered_limestone_pillar": "风化石灰石柱", + "block.create.weathered_limestone_layers": "层叠风化石灰石", + + "block.create.dolomite_pillar": "白云岩柱", + "block.create.dolomite": "白云岩", + "block.create.dolomite_stairs": "白云岩楼梯", + "block.create.dolomite_wall": "白云岩墙", + "block.create.dolomite_slab": "白云岩台阶", + "block.create.dolomite_bricks": "白云岩石砖", + "block.create.dolomite_bricks_wall": "白云岩石砖墙", + "block.create.dolomite_bricks_stairs": "白云岩石砖楼梯", + "block.create.dolomite_bricks_slab": "白云岩石砖台阶", + "block.create.polished_dolomite": "磨制白云岩", + "block.create.dolomite_layers": "层叠白云岩", + + "block.create.limesand": "石灰沙", + "block.create.limestone": "石灰石", + "block.create.limestone_stairs": "石灰石楼梯", + "block.create.limestone_slab": "石灰石台阶", + "block.create.limestone_wall": "石灰石墙", + "block.create.limestone_bricks": "石灰石砖", + "block.create.limestone_bricks_stairs": "石灰石砖楼梯", + "block.create.limestone_bricks_slab": "石灰石砖台阶", + "block.create.limestone_bricks_wall": "石灰石砖墙", + "block.create.polished_limestone": "磨制石灰石", + "block.create.polished_limestone_slab": "磨制石灰石台阶", + "block.create.limestone_pillar": "石灰石柱", + "block.create.limestone_layers": "层叠石灰石", + + "block.create.natural_scoria": "天然熔渣", + "block.create.scoria": "熔渣", + "block.create.scoria_stairs": "熔渣楼梯", + "block.create.scoria_slab": "熔渣台阶", + "block.create.scoria_wall": "熔渣墙", + "block.create.scoria_bricks": "熔渣砖块", + "block.create.polished_scoria": "磨制熔渣", + "block.create.polished_scoria_slab": "磨制熔渣台阶", + "block.create.scoria_pillar": "熔渣柱", + "block.create.scoria_layers": "层叠熔渣", + + "block.create.dark_scoria": "深色熔渣", + "block.create.polished_dark_scoria": "磨制深色熔渣", + "block.create.dark_scoria_tiles": "深色熔渣瓦", + "block.create.dark_scoria_tiles_stairs": "深色熔渣瓦楼梯", + "block.create.dark_scoria_tiles_slab": "深色熔渣瓦台阶", + "block.create.dark_scoria_bricks": "深色熔渣砖", + "block.create.dark_scoria_bricks_stairs": "深色熔渣砖楼梯", + "block.create.dark_scoria_bricks_slab": "深色熔渣砖台阶", + "block.create.dark_scoria_bricks_wall": "深色熔渣砖墙", + + "block.create.schematicannon": "加农炮", + "block.create.schematic_table": "Schematic桌", + "block.create.creative_crate": "Schematic创造者", + + "block.create.cocoa_log": "可可木", + + "block.create.shop_shelf": "Shelf", + + "_comment": "-------------------------] UI & MESSAGES [------------------------------------------------", + + "death.attack.create.crush": "%1$s 被压扁了", + "death.attack.create.fan_fire": "%1$s 试图接受热风的洗礼", + "death.attack.create.fan_lava": "%1$s 在接受热风的洗礼中欲火焚身", + "death.attack.create.drill": "%1$s 的钻头是突破天际的钻头", + "death.attack.create.saw": "%1$s 被圆锯切成了两截", + "create.block.deployer.damage_source_name": "a rogue Deployer", + "death.attack.create.curse_polish": "%1$s 试图祛魔时受到了诅咒", + "death.attack.create.cuckoo_clock_explosion": "%1$s被布谷鸟闹钟炸得粉身碎骨", + + "create.recipe.crushing": "批量粉碎", + "create.recipe.splashing": "批量洗涤", + "create.recipe.splashing.fan": "在鼓风机前方倒水", + "create.recipe.smokingViaFan": "批量烟熏", + "create.recipe.smokingViaFan.fan": "在鼓风机前方点火", + "create.recipe.blastingViaFan": "批量冶炼", + "create.recipe.blastingViaFan.fan": "在鼓风机前方倒岩浆", + "create.recipe.pressing": "金属压片", + "create.recipe.mixing": "混合搅拌", + "create.recipe.packing": "压块塑形", + "create.recipe.sawing": "木材切割", + "create.recipe.mechanical_crafting": "自动合成", + "create.recipe.block_cutting": "方块切割", + "create.recipe.blockzapperUpgrade": "手持式方块放置器", + "create.recipe.sandpaper_polishing": "砂纸抛光", + "create.recipe.mystery_conversion": "化合物变异", + "create.recipe.processing.catalyst": "催化剂", + "create.recipe.processing.chance": "%1$s%% 概率", + "create.recipe.processing.chanceToReturn": "%1$s%% 概率返还", + + "create.generic.range": "范围", + "create.generic.radius": "半径", + "create.generic.width": "宽度", + "create.generic.height": "高度", + "create.generic.length": "长度", + "create.generic.speed": "速度", + "create.generic.delay": "延时", + "create.generic.unit.ticks": "Ticks", + "create.generic.unit.seconds": "Seconds", + "create.generic.unit.minutes": "Minutes", + "create.generic.unit.rpm": "RPM", + "create.generic.unit.stress": "su", + "create.generic.unit.degrees": "°", + + "create.action.scroll": "滚轮", + "create.action.confirm": "确认", + "create.action.abort": "退出", + "create.action.saveToFile": "保存", + "create.action.discard": "丢弃", + + "create.keyinfo.toolmenu": "工具菜单", + + "create.gui.scrollInput.defaultTitle": "选择一个选项:", + "create.gui.scrollInput.scrollToModify": "滚动修改", + "create.gui.scrollInput.scrollToAdjustAmount": "滚动修改数量", + "create.gui.scrollInput.scrollToSelect": "滚动选择", + "create.gui.scrollInput.shiftScrollsFaster": "按住Shift滚动更快", + + "create.gui.toolmenu.focusKey": "按住 [%1$s] 鼠标滚轮选择", + "create.gui.toolmenu.cycle": "[SCROLL] 循环", + + "create.gui.symmetryWand.mirrorType": "镜子类型", + "create.gui.symmetryWand.orientation": "方向", + "create.symmetry.mirror.plane": "镜像", + "create.symmetry.mirror.doublePlane": "矩形", + "create.symmetry.mirror.triplePlane": "八角", + "create.orientation.orthogonal": "垂直", + "create.orientation.diagonal": "对角线", + "create.orientation.horizontal": "水平", + "create.orientation.alongZ": "Along Z", + "create.orientation.alongX": "Along X", + + "create.gui.blockzapper.title": "手持式方块放置机", + "create.gui.blockzapper.replaceMode": "更换模式", + "create.gui.blockzapper.searchDiagonal": "根据对角线", + "create.gui.blockzapper.searchFuzzy": "忽视边界", + "create.gui.blockzapper.range": "扩散范围", + "create.gui.blockzapper.needsUpgradedAmplifier": "需要升级扩散器", + "create.gui.blockzapper.patternSection": "模式", + "create.gui.blockzapper.pattern.solid": "实心", + "create.gui.blockzapper.pattern.checkered": "棋盘", + "create.gui.blockzapper.pattern.inversecheckered": "反转棋盘", + "create.gui.blockzapper.pattern.chance25": "25% ", + "create.gui.blockzapper.pattern.chance50": "50% ", + "create.gui.blockzapper.pattern.chance75": "75% ", + + "create.gui.terrainzapper.title": "手持式环境塑形器", + "create.gui.terrainzapper.placement": "放置模式", + "create.gui.terrainzapper.placement.merged": "结合", + "create.gui.terrainzapper.placement.attached": "依附", + "create.gui.terrainzapper.placement.inserted": "插入", + "create.gui.terrainzapper.brush": "塑形类型", + "create.gui.terrainzapper.brush.cuboid": "矩形体", + "create.gui.terrainzapper.brush.sphere": "球体", + "create.gui.terrainzapper.brush.cylinder": "圆柱体", + "create.gui.terrainzapper.tool": "填充类型", + "create.gui.terrainzapper.tool.fill": "填充", + "create.gui.terrainzapper.tool.place": "复写", + "create.gui.terrainzapper.tool.replace": "替换", + "create.gui.terrainzapper.tool.clear": "清除", + "create.gui.terrainzapper.tool.overlay": "覆盖", + "create.gui.terrainzapper.tool.flatten": "平整", + "create.terrainzapper.shiftRightClickToSet": "Shift+鼠标右键 以设置塑形类型", + + "create.blockzapper.usingBlock": "使用: %1$s", + "create.blockzapper.componentUpgrades": "组件升级:", + "create.blockzapper.component.body": "机体", + "create.blockzapper.component.amplifier": "增大", + "create.blockzapper.component.accelerator": "加速", + "create.blockzapper.component.retriever": "寻回", + "create.blockzapper.component.scope": "范围", + "create.blockzapper.componentTier.none": "无", + "create.blockzapper.componentTier.blazebrass": "烈焰合金", + "create.blockzapper.componentTier.choruschrome": "紫颂合金", + "create.blockzapper.leftClickToSet": "左键点击方块以设定方块", + "create.blockzapper.empty": "出击!", + + "create.contraptions.movement_mode": "Movement Mode", + "create.contraptions.movement_mode.move_place": "Always Place when Stopped", + "create.contraptions.movement_mode.move_place_returned": "Place only in Starting Position", + "create.contraptions.movement_mode.move_never_place": "Place only when Anchor Destroyed", + "create.contraptions.movement_mode.rotate_place": "Always Place when Stopped", + "create.contraptions.movement_mode.rotate_place_returned": "Only Place near Initial Angle", + "create.contraptions.movement_mode.rotate_never_place": "Only Place when Anchor Destroyed", + + "create.logistics.filter": "过滤器", + "create.logistics.firstFrequency": "频道. #1", + "create.logistics.secondFrequency": "频道. #2", + + "create.gui.goggles.generator_stats": "Generator 状态:", + "create.gui.goggles.kinetic_stats": "Kinetic 状态:", + "create.gui.goggles.at_current_speed": "当前速度应力值", + "create.gui.goggles.base_value": "应力基础值", + + "create.gui.gauge.info_header": "仪表信息:", + "create.gui.speed_gauge.title": "旋转速度", + "create.gui.stress_gauge.title": "网络应力", + "create.gui.stress_gauge.capacity": "剩余应力", + "create.gui.stress_gauge.overstressed": "超载", + "create.gui.stress_gauge.no_rotation": "无旋转", + + "create.gui.contraptions.not_fast_enough": "显然 %1$s 没有足够的转速.", + + "create.gui.flexcrate.title": "板条箱", + "create.gui.flexcrate.storageSpace": "储存空间", + + "create.gui.stockswitch.title": "储存开关", + "create.gui.stockswitch.lowerLimit": "阈值下限", + "create.gui.stockswitch.upperLimit": "阈值上限", + "create.gui.stockswitch.startAt": "启动信号", + "create.gui.stockswitch.startAbove": "Start Signal above", + "create.gui.stockswitch.stopAt": "停止信号", + "create.gui.stockswitch.stopBelow": "Stop Signal below", + + "create.gui.sequenced_gearshift.title": "可编程齿轮箱", + "create.gui.sequenced_gearshift.instruction": "指令", + "create.gui.sequenced_gearshift.instruction.turn_angle": "旋转", + "create.gui.sequenced_gearshift.instruction.turn_angle.angle": "角度", + "create.gui.sequenced_gearshift.instruction.turn_distance": "驱动活塞", + "create.gui.sequenced_gearshift.instruction.turn_distance.distance": "距离", + "create.gui.sequenced_gearshift.instruction.wait": "等待", + "create.gui.sequenced_gearshift.instruction.wait.duration": "间隔", + "create.gui.sequenced_gearshift.instruction.end": "停止", + "create.gui.sequenced_gearshift.speed": "速度, 速度方向", + "create.gui.sequenced_gearshift.speed.forward": "一倍速, 正向", + "create.gui.sequenced_gearshift.speed.forward_fast": "两倍速, 正向", + "create.gui.sequenced_gearshift.speed.back": "一倍速, 反向", + "create.gui.sequenced_gearshift.speed.back_fast": "两倍速, 反向", + + "create.schematicAndQuill.dimensions": "原理图尺寸: %1$sx%2$sx%3$s", + "create.schematicAndQuill.firstPos": "第一个位置.", + "create.schematicAndQuill.secondPos": "第二个位置.", + "create.schematicAndQuill.noTarget": "按住Ctrl选择空气方块.", + "create.schematicAndQuill.abort": "删除选择.", + "create.schematicAndQuill.prompt": "输入原理图的名称:", + "create.schematicAndQuill.fallbackName": "我的原理图", + "create.schematicAndQuill.saved": "另存为 %1$s", + + "create.schematic.invalid": "[!] 无效的项目", + "create.schematic.position": "位置", + "create.schematic.rotation": "旋转", + "create.schematic.rotation.none": "无", + "create.schematic.rotation.cw90": "顺时针90", + "create.schematic.rotation.cw180": "顺时针180", + "create.schematic.rotation.cw270": "顺时针270", + "create.schematic.mirror": "镜像", + "create.schematic.mirror.none": "无", + "create.schematic.mirror.frontBack": "前后", + "create.schematic.mirror.leftRight": "左右", + + "create.schematic.tool.deploy": "部署", + "create.schematic.tool.move": "移动 XZ", + "create.schematic.tool.movey": "移动 Y", + "create.schematic.tool.rotate": "旋转", + "create.schematic.tool.print": "打印", + "create.schematic.tool.flip": "翻转", + + "create.schematic.tool.deploy.description.0": "将结构移到某个位置.", + "create.schematic.tool.deploy.description.1": "在地面上单击鼠标右键以放置.", + "create.schematic.tool.deploy.description.2": "按住Ctrl以固定距离选择.", + "create.schematic.tool.deploy.description.3": "按住Ctrl鼠标滚动更改距离.", + "create.schematic.tool.move.description.0": "水平移动原理图", + "create.schematic.tool.move.description.1": "选定原理图,然后按住Ctrl鼠标滚动移动.", + "create.schematic.tool.move.description.2": "", + "create.schematic.tool.move.description.3": "", + "create.schematic.tool.movey.description.0": "垂直移动原理图", + "create.schematic.tool.movey.description.1": "按住Ctrl鼠标滚动上下移动", + "create.schematic.tool.movey.description.2": "", + "create.schematic.tool.movey.description.3": "", + "create.schematic.tool.rotate.description.0": "围绕原理图中心旋转原理图.", + "create.schematic.tool.rotate.description.1": "按住Ctrl鼠标滚动旋转90度", + "create.schematic.tool.rotate.description.2": "", + "create.schematic.tool.rotate.description.3": "", + "create.schematic.tool.print.description.0": "立即将结构放置在世界上", + "create.schematic.tool.print.description.1": "右键单机确认当前位置.", + "create.schematic.tool.print.description.2": "该工具仅适用于创造模式.", + "create.schematic.tool.print.description.3": "", + "create.schematic.tool.flip.description.0": "沿你选择的面翻转原理图.", + "create.schematic.tool.flip.description.1": "指向原理图,然后按住Ctrl鼠标滚动将其翻转.", + "create.schematic.tool.flip.description.2": "", + "create.schematic.tool.flip.description.3": "", + + "create.schematics.synchronizing": "正在同步...", + "create.schematics.uploadTooLarge": "你的原理图太大", + "create.schematics.maxAllowedSize": "允许的最大原理图文件大小为:", + + "create.gui.schematicTable.title": "原理图桌", + "create.gui.schematicTable.availableSchematics": "可用原理图", + "create.gui.schematicTable.noSchematics": "没有保存的原理图", + "create.gui.schematicTable.uploading": "正在上传...", + "create.gui.schematicTable.finished": "上传完成!", + + "create.gui.schematicannon.title": "原理图加农炮", + "create.gui.schematicannon.settingsTitle": "放置设置", + "create.gui.schematicannon.listPrinter": "物品清单打印机", + "create.gui.schematicannon.gunpowderLevel": "火药 %1$s%%", + "create.gui.schematicannon.shotsRemaining": "发射进度: %1$s", + "create.gui.schematicannon.shotsRemainingWithBackup": "备份: %1$s", + "create.gui.schematicannon.optionEnabled": "当前启用", + "create.gui.schematicannon.optionDisabled": "当前禁用", + "create.gui.schematicannon.option.dontReplaceSolid": "不要替换实体方块", + "create.gui.schematicannon.option.replaceWithSolid": "用普通方块替换实体方块", + "create.gui.schematicannon.option.replaceWithAny": "用任何方块替换", + "create.gui.schematicannon.option.replaceWithEmpty": "用方块替换空气", + "create.gui.schematicannon.option.skipMissing": "绕过缺少的方块", + "create.gui.schematicannon.option.skipTileEntities": "保护存储方块", + + "create.gui.schematicannon.option.skipMissing.description": "如果原理图无法找到所需的放置块,它将在下一个位置继续(译者:看不懂可以直接看视频,因为我也看不懂...).", + "create.gui.schematicannon.option.skipTileEntities.description": "原理图将避免更换存储方块,如箱子.", + "create.gui.schematicannon.option.dontReplaceSolid.description": "加农炮将永远不会替换工作范围内的任何实体方块.", + "create.gui.schematicannon.option.replaceWithSolid.description": "如果原理图在其工作范围内包含实体方块,则加农炮将仅替换实体方块.", + "create.gui.schematicannon.option.replaceWithAny.description": "如果原理图在其工作范围内包含任何块,则加农炮将替换实体方块.", + "create.gui.schematicannon.option.replaceWithEmpty.description": "加农炮将清除其工作范围内的所有阻碍物,包括被空气取代的障碍.", + + "create.schematicannon.status.idle": "闲置", + "create.schematicannon.status.ready": "准备", + "create.schematicannon.status.running": "运行", + "create.schematicannon.status.finished": "完成", + "create.schematicannon.status.paused": "已暂停", + "create.schematicannon.status.stopped": "停止", + "create.schematicannon.status.noGunpowder": "Out of Gunpowder", + "create.schematicannon.status.targetNotLoaded": "方块未加载", + "create.schematicannon.status.targetOutsideRange": "定位目标太远", + "create.schematicannon.status.searching": "搜索", + "create.schematicannon.status.skipping": "跳过", + "create.schematicannon.status.missingBlock": "缺少方块:", + "create.schematicannon.status.placing": "配置", + "create.schematicannon.status.clearing": "清除方块", + "create.schematicannon.status.schematicInvalid": "原理图无效", + "create.schematicannon.status.schematicNotPlaced": "原理图未部署", + "create.schematicannon.status.schematicExpired": "原理图文件已过期", + + "create.gui.index.title": "Logistical Index", + "create.gui.index.targetAddressSelect": "Destination Address", + "create.gui.index.confirmOrder": "Confirm Order", + + "create.logistics.priority": "Priority", + "create.logistics.priority.lowest": "Lowest", + "create.logistics.priority.low": "Low", + "create.logistics.priority.high": "High", + "create.logistics.priority.highest": "Highest", + "create.gui.logistical_controller.active_mode": "Active Mode", + "create.gui.logistical_controller.passive_mode": "Passive Mode", + "create.gui.requester.requestedItemCount": "Requested Amount", + "create.gui.storage.passiveModeOnly": "Item Storage is Passive Only", + + "create.gui.filter.blacklist": "黑名单", + "create.gui.filter.blacklist.description": "只通过不在黑名单中的物品,如果黑名单为空,所有物品都可以通过", + "create.gui.filter.whitelist": "白名单", + "create.gui.filter.whitelist.description": "只通过在白名单中的物品,如果白名单为空,所有物品都无法通过", + "create.gui.filter.respect_data": "匹配物品属性", + "create.gui.filter.respect_data.description": "只有物品的耐久、附魔等其他属性相同时才可以匹配", + "create.gui.filter.ignore_data": "忽视物品属性", + "create.gui.filter.ignore_data.description": "就是跟属性无关", + + "create.item_attributes.placeable": "可放置", + "create.item_attributes.consumable": "可食用", + "create.item_attributes.enchanted": "已被附魔", + "create.item_attributes.damaged": "已损坏", + "create.item_attributes.badly_damaged": "严重受损", + "create.item_attributes.not_stackable": "无法堆叠", + "create.item_attributes.equipable": "可装备", + "create.item_attributes.furnace_fuel": "是燃料", + "create.item_attributes.in_tag": "标签是%1$s", + "create.item_attributes.in_item_group": "属于 %1$s", + "create.item_attributes.added_by": "由%1$s添加", + + "create.gui.attribute_filter.no_selected_attributes": "没有任何属性", + "create.gui.attribute_filter.selected_attributes": "已选择的属性:", + "create.gui.attribute_filter.whitelist_disjunctive": "任意匹配白名单 (Any)", + "create.gui.attribute_filter.whitelist_disjunctive.description": "只要有其中一项属性符合,就可以通过", + "create.gui.attribute_filter.whitelist_conjunctive": "全匹配白名单 (All)", + "create.gui.attribute_filter.whitelist_conjunctive.description": "只有所有属性都匹配才可以通过", + "create.gui.attribute_filter.blacklist": "黑名单", + "create.gui.attribute_filter.blacklist.description": "只要没有上述属性,就可以通过", + "create.gui.attribute_filter.add_reference_item": "添加参考物品", + + "create.tooltip.holdKey": "按住 [%1$s]", + "create.tooltip.holdKeyOrKey": "按住 [%1$s] 或 [%2$s]", + "create.tooltip.keyShift": "Shift", + "create.tooltip.keyCtrl": "Ctrl", + + "create.tooltip.speedRequirement": "需求速度: %1$s", + "create.tooltip.speedRequirement.none": "无", + "create.tooltip.speedRequirement.medium": "适当的", + "create.tooltip.speedRequirement.high": "飞快的", + + "create.tooltip.stressImpact": "应力消耗: %1$s", + "create.tooltip.stressImpact.low": "低", + "create.tooltip.stressImpact.medium": "中", + "create.tooltip.stressImpact.high": "高", + + "create.tooltip.capacityProvided": "应力容量: %1$s", + "create.tooltip.capacityProvided.low": "小", + "create.tooltip.capacityProvided.medium": "中", + "create.tooltip.capacityProvided.high": "大", + "create.tooltip.capacityProvided.asGenerator": "(作为 Generator)", + "create.tooltip.generationSpeed": "产生 %1$s %2$s", + + "create.tooltip.analogStrength": "Analog Strength: %1$s/15", + + "create.tooltip.wip": "WIP", + "create.tooltip.workInProgress": "Work in progress!", + + "create.tooltip.randomWipDescription0": "Please keep this item away from children.", + "create.tooltip.randomWipDescription1": "A baby panda dies every time you use this item. Every. Time.", + "create.tooltip.randomWipDescription2": "Use at your own risk.", + "create.tooltip.randomWipDescription3": "This is not the item you are looking for, *finger-wiggles* please disperse.", + "create.tooltip.randomWipDescription4": "This item will self-destruct in 10 seconds. 10, 9, 8...", + "create.tooltip.randomWipDescription5": "Believe me, it's useless.", + "create.tooltip.randomWipDescription6": "By using this item, you hereby consent to our disclaimer and agree to its terms.", + "create.tooltip.randomWipDescription7": "This one maybe isn't for you. What about that one?", + "create.tooltip.randomWipDescription8": "Use it and regret your decision immediately.", + + "create.mechanical_mixer.min_ingredients": "最小的物品数", + + "create.command.killTPSCommand": "killtps", + "create.command.killTPSCommand.status.slowed_by.0": "[Create]: Server tick is currently slowed by %s ms :o", + "create.command.killTPSCommand.status.slowed_by.1": "[Create]: Server tick is slowed by %s ms now >:)", + "create.command.killTPSCommand.status.slowed_by.2": "[Create]: Server tick is back to regular speed :D", + "create.command.killTPSCommand.status.usage.0": "[Create]: use /killtps stop to bring back server tick to regular speed", + "create.command.killTPSCommand.status.usage.1": "[Create]: use /killtps start to artificially slow down the server tick", + "create.command.killTPSCommand.argument.tickTime": "tickTime", + + "advancement.create:root": "机械纪元的开始", + "advancement.create:root.desc": "是时候开始创造各种机械了!", + "advancement.create:andesite_alloy": "新的材料", + "advancement.create:andesite_alloy.desc": "机械动力中有许多的材料,例如安山合金.", + "advancement.create:andesite_casing": "安山纪元", + "advancement.create:andesite_casing.desc": "使用安山合金、原木、木板可以合成一个基础箱子", + "advancement.create:crushing_wheel": "巨人兄弟", + "advancement.create:crushing_wheel.desc": "合成两个粉碎轮,用粉碎轮碾碎一些材料", + "advancement.create:rotation": "动起来了!", + "advancement.create:rotation.desc": "看看你的第一个运动的齿轮", + "advancement.create:overstressed": "超载", + "advancement.create:overstressed.desc": "第一次尝到超载的滋味", + "advancement.create:sand_paper": "抛光", + "advancement.create:sand_paper.desc": "用砂纸让方块更加光滑", + "advancement.create:polished_rose_quartz": "粉色钻石", + "advancement.create:polished_rose_quartz.desc": "将玫瑰石英抛光到能够透过光线", + "advancement.create:sand_paper_secret": "升级抛光", + "advancement.create:sand_paper_secret.desc": "用你的砂纸去抛光砂纸", + "advancement.create:press": "Duang!", + "advancement.create:press.desc": "用压片机去碾压你的材料", + "advancement.create:mixer": "搅拌~搅拌~", + "advancement.create:mixer.desc": "制造一个搅拌器", + "advancement.create:brass": "真的合金", + "advancement.create:brass.desc": "使用铜和锌合成黄铜", + "advancement.create:brass_casing": "黄铜纪元", + "advancement.create:brass_casing.desc": "用黄铜来合成新的箱子", + "advancement.create:deployer": "第三只手", + "advancement.create:deployer.desc": "创造一个机械手,让它工作起来", + "advancement.create:deployer_secret": "别打了别打了!", + "advancement.create:deployer_secret.desc": "让两个机械手互相挥拳", + "advancement.create:chromatic_compound": "两极材料", + "advancement.create:chromatic_compound.desc": "创造一个谜之化合物", + "advancement.create:shadow_steel": "没有收获?", + "advancement.create:shadow_steel.desc": "获得一种来自虚空的材料——暗影金属", + "advancement.create:refined_radiance": "光辉照耀", + "advancement.create:refined_radiance.desc": "获得一个光辉石, 充满着光辉的物质", + "advancement.create:refined_radiance_secret": "用光明来锻造", + "advancement.create:refined_radiance_secret.desc": "找到另一种获得光辉石的方法", + "advancement.create:speed_secret": "车速太快了", + "advancement.create:speed_secret.desc": "速度表显示的数值超过69 rpm.", + + "create.subtitle.schematicannon_launch_block": "Schematicannon shoots", + "create.subtitle.schematicannon_finish": "Schematicannon finishes", + "create.subtitle.slime_added": "Slime squishes", + "create.subtitle.mechanical_press_activation": "Mechanical Press activates", + "create.subtitle.mechanical_press_item_break": "Metal clanks", + "create.subtitle.blockzapper_place": "Blocks zap into place", + "create.subtitle.blockzapper_confirm": "Affirmative Ding", + "create.subtitle.blockzapper_deny": "Declining Boop", + "create.subtitle.block_funnel_eat": "Funnel CHOMPS", + + "_comment": "-------------------------] ITEM DESCRIPTIONS [------------------------------------------------", + + "item.create.example_item.tooltip": "EXAMPLE ITEM (just a marker that this tooltip exists)", + "item.create.example_item.tooltip.summary": "A brief description of the item. _Underscores_ highlight a term.", + "item.create.example_item.tooltip.condition1": "When this", + "item.create.example_item.tooltip.behaviour1": "Then this item does this. (behaviours show on shift)", + "item.create.example_item.tooltip.condition2": "And When this", + "item.create.example_item.tooltip.behaviour2": "You can add as many behaviours as you like", + "item.create.example_item.tooltip.control1": "When Ctrl pressed", + "item.create.example_item.tooltip.action1": "These controls are displayed.", + + "item.create.symmetry_wand.tooltip": "SYMMETRY WAND", + "item.create.symmetry_wand.tooltip.summary": "完美地映射你在已配置平面上的方块放置.", + "item.create.symmetry_wand.tooltip.condition1": "当在热键栏时", + "item.create.symmetry_wand.tooltip.behaviour1": "保持活跃", + "item.create.symmetry_wand.tooltip.control1": "当右键地面时", + "item.create.symmetry_wand.tooltip.action1": "创建或移动镜子", + "item.create.symmetry_wand.tooltip.control2": "当右键空气时", + "item.create.symmetry_wand.tooltip.action2": "删除镜子", + "item.create.symmetry_wand.tooltip.control3": "当潜行右键时", + "item.create.symmetry_wand.tooltip.action3": "打开gui界面", + + "item.create.placement_handgun.tooltip": "BLOCKZAPPER", + "item.create.placement_handgun.tooltip.summary": "新颖的小工具,可以远距离放置或更换方块.", + "item.create.placement_handgun.tooltip.control1": "当左键方块时", + "item.create.placement_handgun.tooltip.action1": "设定放置此方块.", + "item.create.placement_handgun.tooltip.control2": "当右键方块时", + "item.create.placement_handgun.tooltip.action2": "放置或替换目标方块.", + "item.create.placement_handgun.tooltip.control3": "当潜行右键时", + "item.create.placement_handgun.tooltip.action3": "打开gui界面", + + "item.create.terrain_zapper.tooltip": "HANDHELD WORLDSHAPER", + "item.create.terrain_zapper.tooltip.summary": "创造大陆和山脉的手持工具", + "item.create.terrain_zapper.tooltip.control1": "当左键方块时", + "item.create.terrain_zapper.tooltip.action1": "设定放置此方块", + "item.create.terrain_zapper.tooltip.control2": "当右键方块时", + "item.create.terrain_zapper.tooltip.action2": "放置或替换目标方块", + "item.create.terrain_zapper.tooltip.control3": "当潜行右键时", + "item.create.terrain_zapper.tooltip.action3": "打开工具的_gui界面_", + + "item.create.tree_fertilizer.tooltip": "TREE FERTILIZER", + "item.create.tree_fertilizer.tooltip.summary": "适用于常见树木的快速肥料", + "item.create.tree_fertilizer.tooltip.condition1": "在树苗上使用时", + "item.create.tree_fertilizer.tooltip.behaviour1": "无论生长时间多少,直接长大", + + "item.create.deforester.tooltip": "DEFORESTER", + "item.create.deforester.tooltip.summary": "树林毁灭者,能够瞬间_砍倒_一棵树", + + "item.create.filter.tooltip": "FILTER", + "item.create.filter.tooltip.summary": "以更高的精度控制后勤设备的输出和输入,将它们与一组item或多个嵌套过滤器相匹配.(机翻)", + "item.create.filter.tooltip.condition1": "当处于过滤器槽中", + "item.create.filter.tooltip.behaviour1": "根据过滤器的配置,控制物品流经过滤器", + "item.create.filter.tooltip.condition2": "当右键时", + "item.create.filter.tooltip.behaviour2": "打开_配置面板_", + + "item.create.property_filter.tooltip": "ATTRIBUTE FILTER", + "item.create.property_filter.tooltip.summary": "以更高的精度控制物流设备的输出和输入,将它们与一组itme属性匹配.(机翻)", + "item.create.property_filter.tooltip.condition1": "当处于过滤器槽中", + "item.create.property_filter.tooltip.behaviour1": "根据过滤器的配置,控制物品流经过滤器", + "item.create.property_filter.tooltip.condition2": "当右键时", + "item.create.property_filter.tooltip.behaviour2": "打开_配置面板_", + + "block.create.cocoa_log.tooltip": "COCOA LOG", + "block.create.cocoa_log.tooltip.summary": "增强的可可豆丛林木,更方便实现可可豆自动化", + "block.create.cocoa_log.tooltip.condition1": "成熟时", + "block.create.cocoa_log.tooltip.behaviour1": "四面生长可可豆", + + "item.create.empty_blueprint.tooltip": "EMPTY SCHEMATIC", + "item.create.empty_blueprint.tooltip.summary": "可作为合成材料或在原理图桌使用", + + "item.create.blueprint.tooltip": "SCHEMATIC", + "item.create.blueprint.tooltip.summary": "可以放置在世界中的结构,根据需要放置全息图,并使用原理图加农炮进行构建.", + "item.create.blueprint.tooltip.condition1": "当全息图存在时", + "item.create.blueprint.tooltip.behaviour1": "可以使用屏幕上的工具定位", + "item.create.blueprint.tooltip.control1": "当潜行右键时", + "item.create.blueprint.tooltip.action1": "打开一个用于输入精确坐标的界面.", + + "item.create.blueprint_and_quill.tooltip": "SCHEMATIC AND QUILL", + "item.create.blueprint_and_quill.tooltip.summary": "用于将世界中的结构保存到.nbt文件.", + "item.create.blueprint_and_quill.tooltip.condition1": "第一步", + "item.create.blueprint_and_quill.tooltip.behaviour1": "手持原理图与右键旋转两个点", + "item.create.blueprint_and_quill.tooltip.condition2": "第二步", + "item.create.blueprint_and_quill.tooltip.behaviour2": "按住Ctrl鼠标滚轮选择选区大小,右键空白处保存.", + "item.create.blueprint_and_quill.tooltip.control1": "右键", + "item.create.blueprint_and_quill.tooltip.action1": "选取点/确认保存", + "item.create.blueprint_and_quill.tooltip.control2": "按住Ctrl鼠标滚轮", + "item.create.blueprint_and_quill.tooltip.action2": "在_空中_选择点滚动以调整距离。", + "item.create.blueprint_and_quill.tooltip.control3": "当潜行右键时", + "item.create.blueprint_and_quill.tooltip.action3": "_重置_并删除选区.", + + "block.create.creative_crate.tooltip": "CREATIVE CRATE", + "block.create.creative_crate.tooltip.summary": "为相邻的原理图加农炮提供无限能量的方块", + + "block.create.schematicannon.tooltip": "SCHEMATICANNON", + "block.create.schematicannon.tooltip.summary": "发射方块以在世界中重新构建已部署的全息图,使用相邻箱子中的物品及火药作为燃料.", + "block.create.schematicannon.tooltip.control1": "当右键时", + "block.create.schematicannon.tooltip.action1": "打开gui界面", + + "block.create.schematic_table.tooltip": "SCHEMATIC TABLE", + "block.create.schematic_table.tooltip.summary": "将保存的原理图图写入空白原理图", + "block.create.schematic_table.tooltip.condition1": "放入空白原理图时", + "block.create.schematic_table.tooltip.behaviour1": "从Schematics文件夹上传所选文件", + + "block.create.shaft.tooltip": "SHAFT", + "block.create.shaft.tooltip.summary": "传动杆.", + + "block.create.cogwheel.tooltip": "COGWHEEL", + "block.create.cogwheel.tooltip.summary": "传动结构之一.", + + "block.create.large_cogwheel.tooltip": "LARGE COGWHEEL", + "block.create.large_cogwheel.tooltip.summary": "大号齿轮传动结构,连接到小型齿轮时改变其转速.", + + "block.create.encased_shaft.tooltip": "ENCASED SHAFT", + "block.create.encased_shaft.tooltip.summary": "一字齿轮传动结构.", + + "block.create.gearbox.tooltip": "GEARBOX", + "block.create.gearbox.tooltip.summary": "十字传动旋转结构.", + + "block.create.gearshift.tooltip": "GEARSHIFT", + "block.create.gearshift.tooltip.summary": "用于传动的可控旋转开关.", + "block.create.gearshift.tooltip.condition1": "当提供红石信号时", + "block.create.gearshift.tooltip.behaviour1": "_更改_旋转方向.", + + "block.create.clutch.tooltip": "CLUTCH", + "block.create.clutch.tooltip.summary": "传动控制装置.", + "block.create.clutch.tooltip.condition1": "当提供红石信号时", + "block.create.clutch.tooltip.behaviour1": "_停止_另一侧的旋转.", + + "block.create.encased_belt.tooltip": "ENCASED_BELT", + "block.create.encased_belt.tooltip.summary": "通过此方块传递动力,比如将动力传递到连接的传送带.", + "block.create.encased_belt.tooltip.condition1": "连接到其他传动或装置时", + "block.create.encased_belt.tooltip.behaviour1": "将具有完全相同的转速和方向.", + + "block.create.adjustable_pulley.tooltip": "ANALOG BELT PULLEY", + "block.create.adjustable_pulley.tooltip.summary": "通过此方块传递动力,比如将动力传递到连接的传送带.当方块接收到信号时旋转速度将会改变", + "block.create.adjustable_pulley.tooltip.condition1": "当提供不同红石信号强度时", + "block.create.adjustable_pulley.tooltip.behaviour1": "如果没有红石信号_不会加速_,最强的红石信号将会提升至_两倍速_", + + "item.create.belt_connector.tooltip": "BELT CONNECTOR", + "item.create.belt_connector.tooltip.summary": "用传送带连接传动杆,连接的传动杆将具有完全相同的转速和方向.传送带可以传输实体.", + "item.create.belt_connector.tooltip.control1": "当右键传动杆时", + "item.create.belt_connector.tooltip.action1": "选择传动杆作为传送带的传输点,选定的两个传动杆都必须相互垂直,水平或对角平齐.", + "item.create.belt_connector.tooltip.control2": "当潜行右键时", + "item.create.belt_connector.tooltip.action2": "重置传送带的第一个选定位置", + + "item.create.goggles.tooltip": "GOGGLES", + "item.create.goggles.tooltip.summary": "一副特殊的眼镜,能够让你看见 _Kinetic_ 的信息.", + "item.create.goggles.tooltip.condition1": "当装备时", + "item.create.goggles.tooltip.behaviour1": "将会展示Kinetic的速度、应力等信息", + "item.create.goggles.tooltip.condition2": "当看向仪表时", + "item.create.goggles.tooltip.behaviour2": "将会展示仪表连接网络的速度、应力等信息.", + + "item.create.wrench.tooltip": "WRENCH", + "item.create.wrench.tooltip.summary": "一种有用的工具,能够调整_Kinetic_的_方向_、_配置_等.", + "item.create.wrench.tooltip.control1": "当右键Kinetic时", + "item.create.wrench.tooltip.action1": "旋转Kinetic的方向至你点击的面", + "item.create.wrench.tooltip.control2": "当潜行右键时", + "item.create.wrench.tooltip.action2": "将物品取下并移动到你的背包中.", + + "block.create.creative_motor.tooltip": "CREATIVE MOTOR", + "block.create.creative_motor.tooltip.summary": "可以配置的_无限动力_来源", + + "block.create.water_wheel.tooltip": "WATER WHEEL", + "block.create.water_wheel.tooltip.summary": "从相邻的流水中获得动力", + + "block.create.encased_fan.tooltip": "ENCASED FAN", + "block.create.encased_fan.tooltip.summary": "有多种用途,主要可以将动力转化为气流.", + "block.create.encased_fan.tooltip.condition1": "在下方点火时", + "block.create.encased_fan.tooltip.behaviour1": "可为连结的传动结构提供动力(热力>动力)", + "block.create.encased_fan.tooltip.condition2": "当旋转时", + "block.create.encased_fan.tooltip.behaviour2": "一面推动实体,一面吸引实体,强度和速度取决于给予的动力.", + "block.create.encased_fan.tooltip.condition3": "当气流通过火,水,岩浆时", + "block.create.encased_fan.tooltip.behaviour3": "获得相应产物(建议配合jei查看).", + + "block.create.nozzle.tooltip": "NOZZLE", + "block.create.nozzle.tooltip.summary": "依附在鼓风机上,能够将鼓风机的风到_分散_各个方向.", + + "block.create.hand_crank.tooltip": "HAND CRANK", + "block.create.hand_crank.tooltip.summary": "一种简单的旋转能源,需要人工转动.", + "block.create.hand_crank.tooltip.condition1": "当使用时", + "block.create.hand_crank.tooltip.behaviour1": "向依附的结构提供动力,潜行时将会提供反向的旋转动力", + + "block.create.cuckoo_clock.tooltip": "CUCKOO CLOCK", + "block.create.cuckoo_clock.tooltip.summary": "精致的工艺品,能够记录时间", + "block.create.cuckoo_clock.tooltip.condition1": "当旋转时", + "block.create.cuckoo_clock.tooltip.behaviour1": "显示 _当前时间_ 并且一天会咕咕_两次_. ", + + "block.create.turntable.tooltip": "TURNTABLE", + "block.create.turntable.tooltip.summary": "一个普通的转盘.", + + "block.create.crushing_wheel.tooltip": "CRUSHING WHEEL", + "block.create.crushing_wheel.tooltip.summary": "用于建造多方块粉碎机,粉碎轮的齿必须以相同的速度朝相对的方向旋转才可处理各种物品的粉碎合成.", + "block.create.crushing_wheel.tooltip.condition1": "当两个粉碎轮一起运作时", + "block.create.crushing_wheel.tooltip.behaviour1": "粉碎物品并获得相应产物(建议配合jei查看)", + + "block.create.mechanical_press.tooltip": "MECHANICAL PRESS", + "block.create.mechanical_press.tooltip.summary": "一个强力的活塞,用于压制其下方的物品.", + "block.create.mechanical_press.tooltip.condition1": "当提供红石信号时", + "block.create.mechanical_press.tooltip.behaviour1": "压制其下方的物品.", + "block.create.mechanical_press.tooltip.condition2": "在传送带上方时", + "block.create.mechanical_press.tooltip.behaviour2": "自动压缩经过传送带的物品.", + "block.create.mechanical_mixer.tooltip.condition3": "当下方是工作盆时", + "block.create.mechanical_mixer.tooltip.behaviour3": "只要盆中有必要的物品,就会将物品压缩组合.", + + "block.create.basin.tooltip": "BASIN", + "block.create.basin.tooltip.summary": "一种方便的物品容器,常常用于辊压机和搅拌机,可以被红石比较器检测", + + "block.create.mechanical_mixer.tooltip": "MECHANICAL MIXER", + "block.create.mechanical_mixer.tooltip.summary": "一种能够动态进行搅拌的机器,需要恒定的速度并且下方需要放置工作盆(中间需要一格宽)", + "block.create.mechanical_mixer.tooltip.condition1": "当位于工作盆上方", + "block.create.mechanical_mixer.tooltip.behaviour1": "只要工作盆中有必要的物品,就会将物品进行搅拌", + "block.create.mechanical_mixer.tooltip.condition2": "当使用扳手时", + "block.create.mechanical_mixer.tooltip.behaviour2": "配置配方中物品的最小数目,通过这个配置能够避免不需要的、相似的配方", + + "block.create.mechanical_crafter.tooltip": "MECHANICAL CRAFTER", + "block.create.mechanical_crafter.tooltip.summary": "一种动态制作的工作台,根据你配置的配方进行合成.", + "block.create.mechanical_crafter.tooltip.condition1": "当旋转时", + "block.create.mechanical_crafter.tooltip.behaviour1": "当机器中的物品槽有物品时,将会启动所有的制造机来工作.", + "block.create.mechanical_crafter.tooltip.control1": "当前方使用扳手时", + "block.create.mechanical_crafter.tooltip.action1": "将会改变物品移动的方向.为了构建一个工作网格,需要将网格中所有的物品,移动到最后的网格,最后的网格需要离开工作网格", + "block.create.mechanical_crafter.tooltip.control2": "当后方使用扳手时", + "block.create.mechanical_crafter.tooltip.action2": "连接相邻的制造机的物品栏..", + + "block.create.furnace_engine.tooltip": "FURNACE ENGINE", + "block.create.furnace_engine.tooltip.summary": "一种强力的能量旋转能量来源,但是需要正在工作的炉", + "block.create.furnace_engine.tooltip.condition1": "当连接正在燃烧的炉", + "block.create.furnace_engine.tooltip.behaviour1": "将会带动相连的飞轮(需要间隔一格),用高炉速度更快", + + "block.create.flywheel.tooltip": "FLYWHEEL", + "block.create.flywheel.tooltip.summary": "一种大型的金属轮,能过够提供稳定的旋转动力,动力来自熔炉引擎,需要与熔炉引擎间隔一个方块", + "block.create.flywheel.tooltip.condition1": "当连接正在燃烧的炉", + "block.create.flywheel.tooltip.behaviour1": "将会提供相应的旋转力.", + + "block.create.portable_storage_interface.tooltip": "PORTABLE STORAGE INTERFACE", + "block.create.portable_storage_interface.tooltip.summary": "一种便携的物品接口,能够将移动的结构上的物品进行交换移动", + "block.create.portable_storage_interface.tooltip.condition1": "当处于移动时", + "block.create.portable_storage_interface.tooltip.behaviour1": "与固定的_传输器_ 交互.", + + "block.create.rotation_speed_controller.tooltip": "ROTATION SPEED CONTROLLER", + "block.create.rotation_speed_controller.tooltip.summary": "一个可以变换绑定的齿轮旋转速度的方块", + "block.create.rotation_speed_controller.tooltip.condition1": "当连接大齿轮时", + "block.create.rotation_speed_controller.tooltip.behaviour1": "将输入的旋转改变速度后,传递给绑定的齿轮,绑定的齿轮要放在上方.", + + "block.create.mechanical_piston.tooltip": "MECHANICAL PISTON", + "block.create.mechanical_piston.tooltip.summary": "活塞的高级版本,使用机械动力精确移动粘贴的方块,背面可放置活塞杆延长活塞范围,没有活塞杆将不会工作,使用机壳底盘可以移动多行.", + "block.create.mechanical_piston.tooltip.condition1": "推拉活塞时", + "block.create.mechanical_piston.tooltip.behaviour1": "速度和方向与转速相关.", + + "block.create.sticky_mechanical_piston.tooltip": "STICKY MECHANICAL PISTON", + "block.create.sticky_mechanical_piston.tooltip.summary": "粘性活塞的高级版本,使用机械动力精确移动粘贴的方块,背面可放置活塞杆延长活塞范围,没有活塞杆将不会工作,使用机壳底盘可以移动多行.", + "block.create.sticky_mechanical_piston.tooltip.condition1": "推拉活塞时", + "block.create.sticky_mechanical_piston.tooltip.behaviour1": "速度和方向与转速相关.", + + "block.create.piston_pole.tooltip": "PISTON POLE", + "block.create.piston_pole.tooltip.summary": "用于增加动力活塞范围", + "block.create.piston_pole.tooltip.condition1": "当连接到动力活塞时", + "block.create.piston_pole.tooltip.behaviour1": "活塞的延伸范围将扩大", + + "block.create.mechanical_bearing.tooltip": "MECHANICAL BEARING", + "block.create.mechanical_bearing.tooltip.summary": "用于建造旋转的大型风力动能结构,比如风车.", + "block.create.mechanical_bearing.tooltip.condition1": "当旋转时", + "block.create.mechanical_bearing.tooltip.behaviour1": "就是旋转啊还能怎么样....", + "block.create.mechanical_bearing.tooltip.condition2": "给予红石信号时", + "block.create.mechanical_bearing.tooltip.behaviour2": "开始旋转并为连接的传动方块提供动力(此结构需使用羊毛建造).", + + "block.create.clockwork_bearing.tooltip": "CLOCKWORK BEARING", + "block.create.clockwork_bearing.tooltip.summary": "一种高级的机械轴承,可以根据当前游戏时间旋转两个时针", + "block.create.clockwork_bearing.tooltip.condition1": "当旋转时", + "block.create.clockwork_bearing.tooltip.behaviour1": "旋转第一个连接的结构作为时针,第二个连接的结构作为分针", + + "block.create.sequenced_gearshift.tooltip": "SEQUENCED GEARSHIFT", + "block.create.sequenced_gearshift.tooltip.summary": "一种可编程的组件,可以根据内部的指令改变旋转的角度.使用机械轴承,活塞等物品时可以控制他们的速度和时间.高速旋转时可能会变得不精确.", + "block.create.sequenced_gearshift.tooltip.condition1": "当给予红石信号时", + "block.create.sequenced_gearshift.tooltip.behaviour1": "在输入旋转速度下,执行指令.", + "block.create.sequenced_gearshift.tooltip.condition2": "当右键时", + "block.create.sequenced_gearshift.tooltip.behaviour2": "将打开配置指令的界面_", + + "block.create.cart_assembler.tooltip": "CART ASSEMBLER", + "block.create.cart_assembler.tooltip.summary": "将连接当前方块的结构连接在矿车上", + "block.create.cart_assembler.tooltip.condition1": "当给予红石信号时", + "block.create.cart_assembler.tooltip.behaviour1": "将解除已连接的矿车上的结构.", + + "block.create.rope_pulley.tooltip": "ROPE PULLEY", + "block.create.rope_pulley.tooltip.summary": "移动绳索相连的结构.", + "block.create.rope_pulley.tooltip.condition1": "当旋转时", + "block.create.rope_pulley.tooltip.behaviour1": "根据输入的旋转速度,移动链接的结构.", + + "block.create.translation_chassis.tooltip": "TRANSLATION CHASSIS", + "block.create.translation_chassis.tooltip.summary": "动力活塞移动的多方块结构基础,这种方块须在活塞前面第一层放置.", + "block.create.translation_chassis.tooltip.condition1": "由动力活塞推动时", + "block.create.translation_chassis.tooltip.behaviour1": "朝相同的方向移动所有连接在一起的机壳底盘;当活塞缩回时,只拉回底盘表面设置数量的方块(详情见Ctrl).", + "block.create.translation_chassis.tooltip.condition2": "当使用扳手时", + "block.create.translation_chassis.tooltip.behaviour2": "配置连接的方块的范围.按住_Ctrl_可以同时配置相连的其他方块.", + "block.create.translation_chassis.tooltip.control1": "当用史莱姆球右键时", + "block.create.translation_chassis.tooltip.action1": "变为粘性机壳底盘.", + + "block.create.rotation_chassis.tooltip": "ROTATION CHASSIS", + "block.create.rotation_chassis.tooltip.summary": "使用旋转底盘是旋转结构必须的", + "block.create.rotation_chassis.tooltip.condition1": "当旋转时", + "block.create.rotation_chassis.tooltip.behaviour1": "在其周围的配置范围内旋转所有粘贴到粘性面的方块(详情见Ctrl).", + "block.create.rotation_chassis.tooltip.condition2": "当使用扳手时", + "block.create.rotation_chassis.tooltip.behaviour2": "配置连接的方块的范围.按住_Ctrl_可以同时配置相连的其他方块.", + "block.create.rotation_chassis.tooltip.control1": "当用史莱姆球右键时", + "block.create.rotation_chassis.tooltip.action1": "当底盘旋转同时旋转所有粘贴到粘性面的方块.", + + "block.create.drill.tooltip": "MECHANICAL DRILL", + "block.create.drill.tooltip.summary": "用于破坏方块的装置", + "block.create.drill.tooltip.condition1": "当旋转时", + "block.create.drill.tooltip.behaviour1": "破化正前方的方块,且伤害在一定范围内生物及玩家.", + "block.create.drill.tooltip.condition2": "由动力活塞推动时", + "block.create.drill.tooltip.behaviour2": "横向或纵向破坏相当于活塞杆长度的方块.", + + "block.create.harvester.tooltip": "MECHANICAL HARVESTER", + "block.create.harvester.tooltip.summary": "适用于中型作物自动化的收割机", + "block.create.harvester.tooltip.condition1": "由动力活塞推动时", + "block.create.harvester.tooltip.behaviour1": "收割机移动至成熟作物收割作物并将作物变为初始生长状态.", + + "block.create.saw.tooltip": "MECHANICAL SAW", + "block.create.saw.tooltip.summary": "可以用于砍树,也可以用于切割方块.", + "block.create.saw.tooltip.condition1": "当方向向上时", + "block.create.saw.tooltip.behaviour1": "可以切割各种物品(建议配合jei查看)", + "block.create.saw.tooltip.condition2": "当方向在水平面时", + "block.create.saw.tooltip.behaviour2": "可以砍到面前的树木", + "block.create.saw.tooltip.condition3": "当移动时", + "block.create.saw.tooltip.behaviour3": "将会切割碰撞到的树木.", + + "block.create.stockswitch.tooltip": "STOCKSWITCH", + "block.create.stockswitch.tooltip.summary": "根据连接的容器存储空间大小切换红石信号强度.", + "block.create.stockswitch.tooltip.condition1": "低于下限时", + "block.create.stockswitch.tooltip.behaviour1": "停止提供红石信号", + "block.create.stockswitch.tooltip.condition2": "超过上限时", + "block.create.stockswitch.tooltip.behaviour2": "开始提供红石信号,直到再次到达下限.", + "block.create.stockswitch.tooltip.control1": "当右键方块时", + "block.create.stockswitch.tooltip.action1": "打开配置面板", + + "block.create.redstone_bridge.tooltip": "REDSTONE LINK", + "block.create.redstone_bridge.tooltip.summary": "无线红石信号终端,可以使用任何物品编辑终端频道,但距离有限.", + "block.create.redstone_bridge.tooltip.condition1": "当启用时", + "block.create.redstone_bridge.tooltip.behaviour1": "接收相同频道提供的红石信号.", + "block.create.redstone_bridge.tooltip.control1": "当右键方块时", + "block.create.redstone_bridge.tooltip.action1": "手持任意物品为其设置频道,可以组合两个物品.", + "block.create.redstone_bridge.tooltip.control2": "当潜行右键方块时", + "block.create.redstone_bridge.tooltip.action2": "在终端模式和接收模式之间切换.", + + "block.create.contact.tooltip": "REDSTONE CONTACT", + "block.create.contact.tooltip.summary": "一种用于高级红石装置的设备.", + "block.create.contact.tooltip.condition1": "当正对面放置也放置信号检测器时", + "block.create.contact.tooltip.behaviour1": "提供红石信号", + "block.create.contact.tooltip.condition2": "当移动时", + "block.create.contact.tooltip.behaviour2": "将会触发途径的固定触发点", + + "block.create.flexcrate.tooltip": "FLEXCRATE", + "block.create.flexcrate.tooltip.summary": "该箱子允许对其容量进行调整,最大可以容纳16组物品.", + "block.create.flexcrate.tooltip.control1": "当右键方块时", + "block.create.flexcrate.tooltip.action1": "打开箱子", + + "block.create.extractor.tooltip": "EXTRACTOR", + "block.create.extractor.tooltip.summary": "从连接的箱子里自动将物品输出到外面,可以设置白名单过滤.", + "block.create.extractor.tooltip.condition1": "当提供红石信号时", + "block.create.extractor.tooltip.behaviour1": "暂停自动输出", + "block.create.extractor.tooltip.condition2": "放置在传送带上时", + "block.create.extractor.tooltip.behaviour2": "当传送带被黄铜箱加固时,使用提取器可以将传送带上的物品提取出来. 当提取器堵塞时,传送带将会停下.", + "block.create.extractor.tooltip.control1": "当右键过滤框时", + "block.create.extractor.tooltip.action1": "将当前持有的物品设置为物品过滤白名单", + + "block.create.transposer.tooltip": "TRANSPOSER", + "block.create.transposer.tooltip.summary": "将绑定的物品栏中的物品传送到指定的物品栏.", + "block.create.transposer.tooltip.condition1": "当给予红石信号时", + "block.create.transposer.tooltip.behaviour1": "暂停传输.", + "block.create.transposer.tooltip.condition2": "放置在传送带上时", + "block.create.transposer.tooltip.behaviour2": "当传送带被黄铜箱加固时,使用传输器可以将传送带上的物品提取出来. 当传输器堵塞时,传送带将会停下.", + "block.create.transposer.tooltip.control1": "当右键过滤框时", + "block.create.transposer.tooltip.action1": "将当前持有的物品设置为物品过滤白名单.", + + "block.create.deployer.tooltip": "DEPLOYER", + "block.create.deployer.tooltip.summary": "它是一个机械手,将尽可能模仿玩家的行为,能够将物品拿出来,也可以将物品放入物品栏中. 可以设置白名单.", + "block.create.deployer.tooltip.condition1": "当旋转时", + "block.create.deployer.tooltip.behaviour1": "将可以伸出手臂2m长", + "block.create.deployer.tooltip.condition2": "当使用扳手时", + "block.create.deployer.tooltip.behaviour2": "将会启用拳头模式,在拳头模式之下,机械臂将会试图使用手中的物品破坏方块,或者攻击实体.", + + "block.create.linked_extractor.tooltip": "LINKED EXTRACTOR", + "block.create.linked_extractor.tooltip.summary": "从连接的箱子里自动将物品输出到外面,可以设置白名单过滤,直到上一次输出的物品被清空才会再次输出,可以使用无线红石信号终端控制.", + "block.create.linked_extractor.tooltip.condition1": "当无线红石信号激活时", + "block.create.linked_extractor.tooltip.behaviour1": "暂停输出物品", + "block.create.linked_extractor.tooltip.control1": "右键方块时", + "block.create.linked_extractor.tooltip.action1": "将当前持有的物品数量的物品设置为物品过滤白名单且输出此数量的物品.", + "block.create.linked_extractor.tooltip.control2": "当右键方块侧面时", + "block.create.linked_extractor.tooltip.action2": "手持任意物品为其设置频道,将接收无线红石终端相应频道,可以组合两个物品.", + + "block.create.linked_transposer.tooltip": "LINKED TRANSPOSER", + "block.create.linked_transposer.tooltip.summary": "将绑定的物品栏中的物品传送到指定的物品栏.能够使用无线红石信号控制", + "block.create.linked_transposer.tooltip.condition1": "当无线红石信号触发时", + "block.create.linked_transposer.tooltip.behaviour1": "暂停传输", + "block.create.linked_transposer.tooltip.control1": "当右键过滤框时", + "block.create.linked_transposer.tooltip.action1": "将当前持有的物品数量的物品设置为物品过滤白名单且输出此数量的物品.", + "block.create.linked_transposer.tooltip.control2": "当右键频道框时", + "block.create.linked_transposer.tooltip.action2": "手持任意物品为其设置频道,将接收无线红石终端相应频道,可以组合两个物品.", + + "block.create.belt_funnel.tooltip": "FUNNEL", + "block.create.belt_funnel.tooltip.summary": "接收传送带上的物品到连接的储存空间,必须放置在正对传送带的方向及高度.", + "block.create.belt_funnel.tooltip.condition1": "接收传送带物品", + "block.create.belt_funnel.tooltip.behaviour1": "位于传送带边上或者终点时,传送带漏斗可以将物品从传送带上拿出. 如果在传送带边上且传动带漏斗阻塞时,不会阻塞传送带.", + + "block.create.belt_tunnel.tooltip": "BELT TUNNEL", + "block.create.belt_tunnel.tooltip.summary": "这是一种美观的方块,能够让传送带穿过墙壁,但是传送带必须被黄铜箱包装.如果启动了同步模式,且旁边有传送带隧道时,将会等待另一个周围的传送带隧道的物品,一起通过. [Ctrl]", + "block.create.belt_tunnel.tooltip.control1": "当使用扳手右键前面时", + "block.create.belt_tunnel.tooltip.action1": "启动同步模式", + "block.create.belt_tunnel.tooltip.control2": "当使用扳手右键边上时", + "block.create.belt_tunnel.tooltip.action2": "当传送带隧道出现玻璃窗时,右键将会关闭玻璃窗", + + "block.create.brass_casing.tooltip": "BRASS CASING", + "block.create.brass_casing.tooltip.summary": "一种坚固的外壳,有多种用处.", + "block.create.brass_casing.tooltip.condition1": "当被使用在传送带上时", + "block.create.brass_casing.tooltip.behaviour1": "当传送带上装配有黄铜箱时,可以提供传送带两侧安装传送带隧道、提取器、传输器、传送带漏斗等物品", + + "block.create.entity_detector.tooltip": "BELT OBSERVER", + "block.create.entity_detector.tooltip.summary": "检测传送带上经过观察者的物品、实体. 使用扳手将可以修改它的模式.", + "block.create.entity_detector.tooltip.condition1": "观测模式", + "block.create.entity_detector.tooltip.behaviour1": "当观测到传送带上有物品或者实体时,将会提供红石信号", + "block.create.entity_detector.tooltip.condition2": "脉冲模式", + "block.create.entity_detector.tooltip.behaviour2": "当观察者中心线匹配到物品时,将会发出脉冲", + "block.create.entity_detector.tooltip.condition3": "弹射模式", + "block.create.entity_detector.tooltip.behaviour3": "将匹配的物品弹射出传送带. 如果目标位置被堵塞,物品将会停下等待弹射.", + "block.create.entity_detector.tooltip.condition4": "分裂模式", + "block.create.entity_detector.tooltip.behaviour4": "将匹配的物品分成两部分,一部分弹射到传送带出.", + + "block.create.pulse_repeater.tooltip": "PULSE REPEATER", + "block.create.pulse_repeater.tooltip.summary": "一个简单的电路,将通过的红石信号变为1tick.", + + "block.create.flexpeater.tooltip": "FLEX REPEATER", + "block.create.flexpeater.tooltip.summary": "高级中继器,最大可设置30分钟延迟", + + "block.create.flexpulsepeater.tooltip": "FLEX PULSE REPEATER", + "block.create.flexpulsepeater.tooltip.summary": "一种红石中继器可以调节延时至30m", + + "block.create.analog_lever.tooltip": "ANALOG LEVER", + "block.create.analog_lever.tooltip.summary": "一种可以调节信号强度的推杆", + + "block.create.toggle_latch.tooltip": "POWERED TOGGLE LATCH", + "block.create.toggle_latch.tooltip.summary": "一种拉杆,在红石电路中可以用作触发器", + + "block.create.redstone_latch.tooltip": "POWERED LATCH", + "block.create.redstone_latch.tooltip.summary": "一种拉杆,在红石电路中用作锁存器,从后方输入将会启用这个拉杆,从侧边输入将会重置这个拉杆.", + + "block.create.speed_gauge.tooltip": "SPEEDOMETER", + "block.create.speed_gauge.tooltip.summary": "测量并展示连接网络的旋转速度,支持使用红石比较器", + "block.create.speed_gauge.tooltip.condition1": "当旋转时", + "block.create.speed_gauge.tooltip.behaviour1": "将会用颜色展示速度的大小,绿-慢、蓝-中、紫-快.", + + "block.create.stress_gauge.tooltip": "STRESSOMETER", + "block.create.stress_gauge.tooltip.summary": "测量并展示连接网络的应力值,支持红石比较器", + "block.create.stress_gauge.tooltip.condition1": "当旋转时", + "block.create.stress_gauge.tooltip.behaviour1": "将会用颜色展示承受的应力", + + "item.create.refined_radiance.tooltip": "REFINED RADIANCE", + "item.create.refined_radiance.tooltip.summary": "一种用光辉锻造的化合物材料.", + + "item.create.shadow_steel.tooltip": "SHADOW STEEL", + "item.create.shadow_steel.tooltip.summary": "一种用虚空锻造的化合物材料.", + + "item.create.slot_cover.tooltip": "SLOT COVER", + "item.create.slot_cover.tooltip.summary": "用来标记制造机不放入物品.", + + "tool.create.shadow_steel.tooltip": "SHADOW STEEL TOOLS", + "tool.create.shadow_steel.tooltip.summary": "一种强力的武器,破坏方块将会掉落更多物品. 杀死怪物将会掉落更多经验值", + + "tool.create.blazing.tooltip": "BLAZING TOOLS", + "tool.create.blazing.tooltip.summary": "将会融化破坏的方块,并且点燃怪物,在地狱中不会减少耐久", + + "tool.create.rose_quartz.tooltip": "ROSE QUARTZ TOOLS", + "tool.create.rose_quartz.tooltip.summary": "这个工具将会让你更容易使用副手放置或破坏方块.", + + "item.create.logistical_controller_calculation.tooltip": "WIP", + "item.create.logistical_controller_request.tooltip": "WIP", + "item.create.logistical_controller_storage.tooltip": "WIP", + "item.create.logistical_controller_supply.tooltip": "WIP", + "item.create.logistical_controller_transactions.tooltip": "WIP", + "block.create.logistical_index.tooltip": "WIP", + "block.create.package_funnel.tooltip": "WIP", + "block.create.logisticians_table.tooltip": "WIP", + "item.create.logistical_dial.tooltip": "WIP", + "item.create.logistical_filter.tooltip": "WIP", + + "itemGroup.create": "机械动力" +} \ No newline at end of file