mirror of
https://github.com/GTNewHorizons/EnderIO.git
synced 2026-11-08 12:34:50 +00:00
Translate chat messages on the client instead of the server (#275)
Co-authored-by: Nikolay S. <nicksitnikov@gmail.com>
This commit is contained in:
1 parent
7bebb05573
commit
8ead31ff76
25 files changed
+286
-295
No files matched your search
@@ -8,10 +8,13 @@ import java.util.Map;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ChatComponentTranslation;
|
||||
import net.minecraft.util.IChatComponent;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
import com.enderio.core.common.util.BlockCoord;
|
||||
|
||||
import crazypants.enderio.EnderIO;
|
||||
import crazypants.enderio.conduit.AbstractConduitNetwork;
|
||||
import crazypants.enderio.conduit.item.NetworkedInventory.Target;
|
||||
import crazypants.enderio.conduit.item.filter.IItemFilter;
|
||||
@@ -176,8 +179,8 @@ public class ItemConduitNetwork extends AbstractConduitNetwork<IItemConduit, IIt
|
||||
}
|
||||
}
|
||||
|
||||
public List<String> getTargetsForExtraction(BlockCoord extractFrom, IItemConduit con, ItemStack input) {
|
||||
List<String> result = new ArrayList<>();
|
||||
public List<IChatComponent> getTargetsForExtraction(BlockCoord extractFrom, IItemConduit con, ItemStack input) {
|
||||
List<IChatComponent> result = new ArrayList<>();
|
||||
|
||||
List<NetworkedInventory> invs = getOrCreate(extractFrom);
|
||||
for (NetworkedInventory source : invs) {
|
||||
@@ -187,12 +190,12 @@ public class ItemConduitNetwork extends AbstractConduitNetwork<IItemConduit, IIt
|
||||
for (Target t : source.sendPriority) {
|
||||
IItemFilter f = t.inv.con.getOutputFilter(t.inv.conDir);
|
||||
if (input == null || f == null || f.doesItemPassFilter(t.inv, input)) {
|
||||
String s = t.inv.getLocalizedInventoryName() + " "
|
||||
+ t.inv.location.chatString()
|
||||
+ " Distance ["
|
||||
+ t.distance
|
||||
+ "] ";
|
||||
result.add(s);
|
||||
result.add(
|
||||
t.inv.getInventoryNameComponent()
|
||||
.appendText(" " + t.inv.location.chatString() + " ").appendSibling(
|
||||
new ChatComponentTranslation(
|
||||
EnderIO.lang.addPrefix("gui.mjReader.distance"),
|
||||
t.distance)));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -202,13 +205,13 @@ public class ItemConduitNetwork extends AbstractConduitNetwork<IItemConduit, IIt
|
||||
return result;
|
||||
}
|
||||
|
||||
public List<String> getInputSourcesFor(IItemConduit con, ForgeDirection dir, ItemStack input) {
|
||||
List<String> result = new ArrayList<>();
|
||||
public List<IChatComponent> getInputSourcesFor(IItemConduit con, ForgeDirection dir, ItemStack input) {
|
||||
List<IChatComponent> result = new ArrayList<>();
|
||||
for (NetworkedInventory inv : inventories) {
|
||||
if (inv.hasTarget(con, dir)) {
|
||||
IItemFilter f = inv.con.getInputFilter(inv.conDir);
|
||||
if (input == null || f == null || f.doesItemPassFilter(inv, input)) {
|
||||
result.add(inv.getLocalizedInventoryName() + " " + inv.location.chatString());
|
||||
result.add(inv.getInventoryNameComponent().appendText(" " + inv.location.chatString()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,9 @@ import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.inventory.ISidedInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.util.ChatComponentTranslation;
|
||||
import net.minecraft.util.IChatComponent;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
@@ -442,6 +445,10 @@ public class NetworkedInventory {
|
||||
this.inventorySide = inventorySide;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated Translates on the server. Use {@link #getInventoryNameComponent()} for chat.
|
||||
*/
|
||||
@Deprecated
|
||||
public String getLocalizedInventoryName() {
|
||||
String inventoryName = getInventory().getInventoryName();
|
||||
if (inventoryName == null) {
|
||||
@@ -453,6 +460,22 @@ public class NetworkedInventory {
|
||||
}
|
||||
}
|
||||
|
||||
public IChatComponent getInventoryNameComponent() {
|
||||
String inventoryName = getInventory().getInventoryName();
|
||||
if (inventoryName == null) {
|
||||
return new ChatComponentText("null");
|
||||
}
|
||||
// Ask the tile entity: InventoryWrapper always reports no custom name.
|
||||
// The client parses the translation as a format string and falls back to en_US if it fails, so a '%' in the
|
||||
// en_US text (or in the key when untranslated) could crash it. A dedicated server translates to en_US.
|
||||
boolean customName = connectedTileEntity instanceof IInventory
|
||||
&& ((IInventory) connectedTileEntity).hasCustomInventoryName();
|
||||
if (customName || StatCollector.translateToLocal(inventoryName).contains("%")) {
|
||||
return new ChatComponentText(inventoryName);
|
||||
}
|
||||
return new ChatComponentTranslation(inventoryName);
|
||||
}
|
||||
|
||||
static class Target implements Comparable<Target> {
|
||||
|
||||
NetworkedInventory inv;
|
||||
|
||||
@@ -8,6 +8,7 @@ import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ChatComponentTranslation;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@@ -67,7 +68,7 @@ public class ItemExistingItemFilter extends Item implements IItemFilterUpgrade,
|
||||
ExistingItemFilter filter = (ExistingItemFilter) createFilterFromStack(item);
|
||||
String unloc = "item.itemExistingItemFilter."
|
||||
+ (filter.mergeSnapshot(inv) ? "filterUpdated" : "filterNotUpdated");
|
||||
ChatUtil.sendNoSpamUnloc(player, EnderIO.lang, unloc);
|
||||
ChatUtil.sendNoSpam(player, new ChatComponentTranslation(EnderIO.lang.addPrefix(unloc)));
|
||||
FilterRegister.writeFilterToStack(filter, item);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -7,15 +7,16 @@ import java.util.Set;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.ChatComponentTranslation;
|
||||
import net.minecraft.world.EnumSkyBlock;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
import net.minecraftforge.fluids.FluidContainerRegistry;
|
||||
import net.minecraftforge.fluids.FluidRegistry;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
|
||||
import com.enderio.core.common.util.BlockCoord;
|
||||
import com.enderio.core.common.util.ChatUtil;
|
||||
import com.gtnewhorizon.gtnhlib.chat.customcomponents.ChatComponentFluidName;
|
||||
|
||||
import crazypants.enderio.EnderIO;
|
||||
import crazypants.enderio.conduit.AbstractConduitNetwork;
|
||||
@@ -110,7 +111,9 @@ public abstract class AbstractTankConduit extends AbstractLiquidConduit {
|
||||
if (network.fluidTypeLocked) {
|
||||
network.setFluidTypeLocked(false);
|
||||
numEmptyEvents = 0;
|
||||
ChatUtil.sendNoSpamUnloc(player, EnderIO.lang, "itemLiquidConduit.unlockedType");
|
||||
ChatUtil.sendNoSpam(
|
||||
player,
|
||||
new ChatComponentTranslation(EnderIO.lang.addPrefix("itemLiquidConduit.unlockedType")));
|
||||
}
|
||||
} else if (network != null) {
|
||||
network.setFluidType(null);
|
||||
@@ -128,11 +131,10 @@ public abstract class AbstractTankConduit extends AbstractLiquidConduit {
|
||||
|| LiquidConduitNetwork.areFluidsCompatable(getFluidType(), fluid))) {
|
||||
network.setFluidType(fluid);
|
||||
network.setFluidTypeLocked(true);
|
||||
ChatUtil.sendNoSpamUnloc(
|
||||
ChatUtil.sendNoSpam(
|
||||
player,
|
||||
EnderIO.lang,
|
||||
"itemLiquidConduit.lockedType",
|
||||
" " + FluidRegistry.getFluidName(fluid));
|
||||
new ChatComponentTranslation(EnderIO.lang.addPrefix("itemLiquidConduit.lockedType"))
|
||||
.appendText(" ").appendSibling(new ChatComponentFluidName(fluid)));
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -15,7 +15,9 @@ import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.util.ChatComponentTranslation;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.util.IChatComponent;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
@@ -213,14 +215,20 @@ public class OCConduit extends AbstractConduit implements IOCConduit {
|
||||
return null;
|
||||
}
|
||||
|
||||
private static String prettyNode(Node o) {
|
||||
String at = "";
|
||||
private static IChatComponent prettyNode(Node o) {
|
||||
Environment host = o.host();
|
||||
String name = host.getClass().getName().replaceFirst("^.*\\.", "");
|
||||
if (host instanceof TileEntity) {
|
||||
BlockCoord bc = new BlockCoord((TileEntity) host);
|
||||
at = " at " + bc.x + "/" + bc.y + "/" + bc.z;
|
||||
return new ChatComponentTranslation(
|
||||
EnderIO.lang.addPrefix("itemOCConduit.chat.nodeAt"),
|
||||
name,
|
||||
coords(new BlockCoord((TileEntity) host)));
|
||||
}
|
||||
return host.getClass().getName().replaceFirst("^.*\\.", "") + at;
|
||||
return new ChatComponentText(name);
|
||||
}
|
||||
|
||||
private static String coords(BlockCoord bc) {
|
||||
return bc.x + "/" + bc.y + "/" + bc.z;
|
||||
}
|
||||
|
||||
private static EnumChatFormatting dye2chat(DyeColor dyeColor) {
|
||||
@@ -277,23 +285,34 @@ public class OCConduit extends AbstractConduit implements IOCConduit {
|
||||
for (DyeColor color : DyeColor.VALUES) {
|
||||
if (node(color).neighbors().iterator().hasNext()) {
|
||||
noconnections = false;
|
||||
ChatComponentText coltxt = new ChatComponentText(color.getLocalisedName());
|
||||
ChatComponentTranslation coltxt = new ChatComponentTranslation(
|
||||
DyeColor.DYE_ORE_UNLOCAL_NAMES[color.ordinal()]);
|
||||
coltxt.getChatStyle().setColor(dye2chat(color));
|
||||
ChatComponentText chantxt = new ChatComponentText("Channel ");
|
||||
chantxt.appendSibling(coltxt);
|
||||
chantxt.appendText(" at " + bc.x + "/" + bc.y + "/" + bc.z);
|
||||
player.addChatMessage(chantxt);
|
||||
player.addChatMessage(
|
||||
new ChatComponentTranslation(
|
||||
EnderIO.lang.addPrefix("itemOCConduit.chat.channel"),
|
||||
coltxt,
|
||||
coords(bc)));
|
||||
for (Node other : node(color).neighbors()) {
|
||||
player.addChatMessage(new ChatComponentText(" Connected to: " + prettyNode(other)));
|
||||
player.addChatMessage(
|
||||
new ChatComponentText(" ").appendSibling(
|
||||
new ChatComponentTranslation(
|
||||
EnderIO.lang.addPrefix("itemOCConduit.chat.connectedTo"),
|
||||
prettyNode(other))));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (noconnections) {
|
||||
player.addChatMessage(
|
||||
new ChatComponentText("No connections at " + bc.x + "/" + bc.y + "/" + bc.z));
|
||||
new ChatComponentTranslation(
|
||||
EnderIO.lang.addPrefix("itemOCConduit.chat.noConnections"),
|
||||
coords(bc)));
|
||||
}
|
||||
} else {
|
||||
player.addChatMessage(new ChatComponentText("No network at " + bc.x + "/" + bc.y + "/" + bc.z));
|
||||
player.addChatMessage(
|
||||
new ChatComponentTranslation(
|
||||
EnderIO.lang.addPrefix("itemOCConduit.chat.noNetwork"),
|
||||
coords(bc)));
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.enderio.core.common.util.ChatUtil;
|
||||
import cpw.mods.fml.common.registry.GameRegistry;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import crazypants.enderio.EnderIO;
|
||||
import crazypants.enderio.EnderIOTab;
|
||||
import crazypants.enderio.ModObject;
|
||||
import crazypants.enderio.api.tool.IHideFacades;
|
||||
@@ -76,7 +77,7 @@ public class ItemConduitProbe extends Item implements IResourceTooltipProvider,
|
||||
}
|
||||
|
||||
if (isCopy && performedAction && player.worldObj.isRemote) {
|
||||
ChatUtil.sendNoSpamClient("Copied conduit settings");
|
||||
ChatUtil.sendNoSpamClientUnloc(EnderIO.lang, "itemConduitProbe.chat.copied");
|
||||
}
|
||||
|
||||
return performedAction;
|
||||
|
||||
@@ -1,15 +1,21 @@
|
||||
package crazypants.enderio.item;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.util.ChatComponentTranslation;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.util.IChatComponent;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
import com.enderio.core.common.util.ChatUtil;
|
||||
import com.gtnewhorizon.gtnhlib.chat.customcomponents.ChatComponentItemName;
|
||||
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessage;
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
|
||||
@@ -32,22 +38,23 @@ import io.netty.buffer.ByteBuf;
|
||||
|
||||
public class PacketConduitProbe implements IMessage, IMessageHandler<PacketConduitProbe, IMessage> {
|
||||
|
||||
private static final String OF = " " + EnderIO.lang.localize("gui.powerMonitor.of") + " ";
|
||||
private static final String CON_STORAGE = " " + EnderIO.lang.localize("gui.powerMonitor.monHeading1") + ": ";
|
||||
private static final String CAP_BANK_STOR = " " + EnderIO.lang.localize("gui.powerMonitor.monHeading2") + ": ";
|
||||
private static final String MACH_BUF_STOR = " " + EnderIO.lang.localize("gui.powerMonitor.monHeading3") + ": ";
|
||||
private static final String AVE_OUT = " " + EnderIO.lang.localize("gui.powerMonitor.monHeading4") + ": ";
|
||||
private static final String AVE_IN = " " + EnderIO.lang.localize("gui.powerMonitor.monHeading5") + ": ";
|
||||
private static final String OF = "gui.powerMonitor.of";
|
||||
private static final String CON_STORAGE = "gui.powerMonitor.monHeading1";
|
||||
private static final String CAP_BANK_STOR = "gui.powerMonitor.monHeading2";
|
||||
private static final String MACH_BUF_STOR = "gui.powerMonitor.monHeading3";
|
||||
private static final String AVE_OUT = "gui.powerMonitor.monHeading4";
|
||||
private static final String AVE_IN = "gui.powerMonitor.monHeading5";
|
||||
|
||||
private static final String NET_HEADING = EnderIO.lang.localize("gui.mjReader.networkHeading");
|
||||
private static final String CON_BUF = " " + EnderIO.lang.localize("gui.mjReader.conduitBuffer") + ": ";
|
||||
private static final String NET_HEADING = "gui.mjReader.networkHeading";
|
||||
private static final String CON_BUF = "gui.mjReader.conduitBuffer";
|
||||
|
||||
private static final String ITEM_HEADING = EnderIO.lang.localize("gui.mjReader.itemHeading");
|
||||
private static final String ITEM_NO_CONNECTIONS = EnderIO.lang.localize("gui.mjReader.itemNoConnections");
|
||||
private static final String ITEM_HEADING = "gui.mjReader.itemHeading";
|
||||
private static final String ITEM_NO_CONNECTIONS = "gui.mjReader.itemNoConnections";
|
||||
|
||||
private static final String ENERGY_CONDUIT = EnderIO.lang.localize("itemPowerConduit");
|
||||
private static final String REQUEST_RANGE = " " + EnderIO.lang.localize("gui.mjReader.requestRange") + ": ";;
|
||||
private static final String CUR_REQUEST = " " + EnderIO.lang.localize("gui.mjReader.currentRequest") + ": ";;
|
||||
private static final String ENERGY_CONDUIT = "itemPowerConduit.name";
|
||||
private static final String REQUEST_RANGE = "gui.mjReader.requestRange";
|
||||
private static final String CUR_REQUEST = "gui.mjReader.currentRequest";
|
||||
private static final String RF = "power.rf";
|
||||
|
||||
public static boolean canCreatePacket(World world, int x, int y, int z) {
|
||||
Block block = world.getBlock(x, y, z);
|
||||
@@ -154,191 +161,127 @@ public class PacketConduitProbe implements IMessage, IMessageHandler<PacketCondu
|
||||
}
|
||||
|
||||
public static void sendInfoMessage(EntityPlayer player, IItemConduit conduit, ItemStack input) {
|
||||
String color = "\u00A7a ";
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(color);
|
||||
List<IChatComponent> lines = new ArrayList<>();
|
||||
|
||||
if (conduit.getExternalConnections().isEmpty()) {
|
||||
sb.append(ITEM_HEADING);
|
||||
sb.append(" ");
|
||||
sb.append(ITEM_NO_CONNECTIONS);
|
||||
sb.append("\n");
|
||||
lines.add(
|
||||
line(EnumChatFormatting.GREEN).appendSibling(tr(ITEM_HEADING)).appendText(" ")
|
||||
.appendSibling(tr(ITEM_NO_CONNECTIONS)));
|
||||
} else {
|
||||
for (ForgeDirection dir : conduit.getExternalConnections()) {
|
||||
ConnectionMode mode = conduit.getConnectionMode(dir);
|
||||
|
||||
sb.append(ITEM_HEADING);
|
||||
sb.append(" ");
|
||||
sb.append(EnderIO.lang.localize("gui.mjReader.connectionDir"));
|
||||
sb.append(" ");
|
||||
sb.append(dir);
|
||||
sb.append("\n");
|
||||
lines.add(
|
||||
line(EnumChatFormatting.GREEN).appendSibling(tr(ITEM_HEADING)).appendText(" ")
|
||||
.appendSibling(tr("gui.mjReader.connectionDir")).appendText(" " + dir));
|
||||
|
||||
ItemConduitNetwork icn = (ItemConduitNetwork) conduit.getNetwork();
|
||||
if (icn != null && mode.acceptsInput()) {
|
||||
color = "\u00A79 ";
|
||||
sb.append(color);
|
||||
|
||||
IChatComponent line = line(EnumChatFormatting.BLUE);
|
||||
if (input == null) {
|
||||
sb.append(EnderIO.lang.localize("gui.mjReader.extractedItems"));
|
||||
line.appendSibling(tr("gui.mjReader.extractedItems"));
|
||||
} else {
|
||||
sb.append(EnderIO.lang.localize("gui.mjReader.extractedItem"));
|
||||
sb.append(" ");
|
||||
sb.append(input.getDisplayName());
|
||||
line.appendSibling(tr("gui.mjReader.extractedItem")).appendText(" ")
|
||||
.appendSibling(new ChatComponentItemName(input));
|
||||
}
|
||||
sb.append(" ");
|
||||
List<String> targets = icn
|
||||
line.appendText(" ");
|
||||
List<IChatComponent> targets = icn
|
||||
.getTargetsForExtraction(conduit.getLocation().getLocation(dir), conduit, input);
|
||||
if (targets.isEmpty()) {
|
||||
sb.append(" ");
|
||||
sb.append(EnderIO.lang.localize("gui.mjReader.noOutputs"));
|
||||
sb.append(".\n");
|
||||
lines.add(line.appendSibling(tr("gui.mjReader.noOutputs")).appendText("."));
|
||||
} else {
|
||||
sb.append(" ");
|
||||
sb.append(EnderIO.lang.localize("gui.mjReader.insertedInto"));
|
||||
sb.append("\n");
|
||||
for (String str : targets) {
|
||||
sb.append(" - ");
|
||||
sb.append(str);
|
||||
sb.append(" ");
|
||||
sb.append("\n");
|
||||
lines.add(line.appendSibling(tr("gui.mjReader.insertedInto")));
|
||||
for (IChatComponent target : targets) {
|
||||
lines.add(new ChatComponentText(" - ").appendSibling(target));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (icn != null && mode.acceptsOutput()) {
|
||||
color = "\u00A79 ";
|
||||
sb.append(color);
|
||||
|
||||
List<String> targets = icn.getInputSourcesFor(conduit, dir, input);
|
||||
IChatComponent line = line(EnumChatFormatting.BLUE);
|
||||
List<IChatComponent> targets = icn.getInputSourcesFor(conduit, dir, input);
|
||||
if (targets.isEmpty()) {
|
||||
if (input == null) {
|
||||
sb.append(EnderIO.lang.localize("gui.mjReader.noItems"));
|
||||
line.appendSibling(tr("gui.mjReader.noItems"));
|
||||
} else {
|
||||
sb.append(EnderIO.lang.localize("gui.mjReader.noItem"));
|
||||
sb.append(" ");
|
||||
sb.append(input.getDisplayName());
|
||||
line.appendSibling(tr("gui.mjReader.noItem")).appendText(" ")
|
||||
.appendSibling(new ChatComponentItemName(input));
|
||||
}
|
||||
lines.add(line);
|
||||
} else {
|
||||
if (input == null) {
|
||||
sb.append(EnderIO.lang.localize("gui.mjReader.receiveItems"));
|
||||
line.appendSibling(tr("gui.mjReader.receiveItems"));
|
||||
} else {
|
||||
sb.append(EnderIO.lang.localize("gui.mjReader.receiveItem1"));
|
||||
sb.append(" ");
|
||||
sb.append(input.getDisplayName());
|
||||
sb.append(" ");
|
||||
sb.append(EnderIO.lang.localize("gui.mjReader.receiveItem2"));
|
||||
line.appendSibling(
|
||||
new ChatComponentTranslation(
|
||||
EnderIO.lang.addPrefix("gui.mjReader.receiveItem"),
|
||||
new ChatComponentItemName(input)));
|
||||
}
|
||||
sb.append("\n");
|
||||
for (String str : targets) {
|
||||
sb.append(" - ");
|
||||
sb.append(str);
|
||||
sb.append("\n");
|
||||
lines.add(line);
|
||||
for (IChatComponent target : targets) {
|
||||
lines.add(new ChatComponentText(" - ").appendSibling(target));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
String[] lines = sb.toString().split("\n");
|
||||
ChatUtil.sendNoSpam(player, lines);
|
||||
ChatUtil.sendNoSpam(player, lines.toArray(new IChatComponent[0]));
|
||||
}
|
||||
|
||||
private static IChatComponent tr(String key) {
|
||||
return new ChatComponentTranslation(EnderIO.lang.addPrefix(key));
|
||||
}
|
||||
|
||||
private static IChatComponent line(EnumChatFormatting color) {
|
||||
IChatComponent line = new ChatComponentText(" ");
|
||||
line.getChatStyle().setColor(color);
|
||||
return line;
|
||||
}
|
||||
|
||||
private static IChatComponent power(long amount, long max) {
|
||||
return new ChatComponentText(PowerDisplayUtil.formatPower(amount) + " ").appendSibling(tr(OF))
|
||||
.appendText(" " + PowerDisplayUtil.formatPower(max) + " ").appendSibling(tr(RF));
|
||||
}
|
||||
|
||||
private static IChatComponent label(String key) {
|
||||
return new ChatComponentText(" ").appendSibling(tr(key)).appendText(": ");
|
||||
}
|
||||
|
||||
public static void sendInfoMessage(EntityPlayer player, NetworkPowerManager pm) {
|
||||
PowerTracker tracker = pm.getNetworkPowerTracker();
|
||||
String color = "\u00A7a ";
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(color);
|
||||
sb.append(NET_HEADING);
|
||||
sb.append("\n");
|
||||
|
||||
color = "\u00A79 ";
|
||||
sb.append(color);
|
||||
sb.append(CON_STORAGE);
|
||||
sb.append(PowerDisplayUtil.formatPower(pm.getPowerInConduits()));
|
||||
sb.append(OF);
|
||||
sb.append(PowerDisplayUtil.formatPower(pm.getMaxPowerInConduits()));
|
||||
sb.append(" ");
|
||||
sb.append(PowerDisplayUtil.abrevation());
|
||||
sb.append("\n");
|
||||
sb.append(CAP_BANK_STOR);
|
||||
sb.append(PowerDisplayUtil.formatPower(pm.getPowerInCapacitorBanks()));
|
||||
sb.append(OF);
|
||||
sb.append(PowerDisplayUtil.formatPower(pm.getMaxPowerInCapacitorBanks()));
|
||||
sb.append(" ");
|
||||
sb.append(PowerDisplayUtil.abrevation());
|
||||
sb.append("\n");
|
||||
sb.append(MACH_BUF_STOR);
|
||||
sb.append(PowerDisplayUtil.formatPower(pm.getPowerInReceptors()));
|
||||
sb.append(OF);
|
||||
sb.append(PowerDisplayUtil.formatPower(pm.getMaxPowerInReceptors()));
|
||||
sb.append(" ");
|
||||
sb.append(PowerDisplayUtil.abrevation());
|
||||
sb.append("\n");
|
||||
sb.append(AVE_OUT);
|
||||
sb.append(PowerDisplayUtil.formatPowerFloat(tracker.getAverageRfTickSent()));
|
||||
sb.append("\n");
|
||||
sb.append(AVE_IN);
|
||||
sb.append(PowerDisplayUtil.formatPowerFloat(tracker.getAverageRfTickRecieved()));
|
||||
|
||||
String[] lines = sb.toString().split("\n");
|
||||
ChatUtil.sendNoSpam(player, lines);
|
||||
ChatUtil.sendNoSpam(
|
||||
player,
|
||||
line(EnumChatFormatting.GREEN).appendSibling(tr(NET_HEADING)),
|
||||
line(EnumChatFormatting.BLUE).appendSibling(label(CON_STORAGE))
|
||||
.appendSibling(power(pm.getPowerInConduits(), pm.getMaxPowerInConduits())),
|
||||
label(CAP_BANK_STOR)
|
||||
.appendSibling(power(pm.getPowerInCapacitorBanks(), pm.getMaxPowerInCapacitorBanks())),
|
||||
label(MACH_BUF_STOR).appendSibling(power(pm.getPowerInReceptors(), pm.getMaxPowerInReceptors())),
|
||||
label(AVE_OUT).appendText(PowerDisplayUtil.formatPowerFloat(tracker.getAverageRfTickSent())),
|
||||
label(AVE_IN).appendText(PowerDisplayUtil.formatPowerFloat(tracker.getAverageRfTickRecieved())));
|
||||
}
|
||||
|
||||
public static void sendPowerConduitInfo(EntityPlayer player, IPowerConduit con, PowerTracker tracker) {
|
||||
String color = "\u00A7a ";
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(color);
|
||||
sb.append(ENERGY_CONDUIT);
|
||||
|
||||
color = "\u00A79 ";
|
||||
sb.append(color);
|
||||
sb.append(CON_BUF);
|
||||
sb.append(PowerDisplayUtil.formatPower(con.getEnergyStored()));
|
||||
sb.append(OF);
|
||||
sb.append(PowerDisplayUtil.formatPower(con.getMaxEnergyStored()));
|
||||
sb.append(" ");
|
||||
sb.append(PowerDisplayUtil.abrevation());
|
||||
sb.append("\n");
|
||||
sb.append(AVE_OUT);
|
||||
sb.append(PowerDisplayUtil.formatPowerFloat(tracker.getAverageRfTickSent()));
|
||||
sb.append("\n");
|
||||
sb.append(AVE_IN);
|
||||
sb.append(PowerDisplayUtil.formatPowerFloat(tracker.getAverageRfTickRecieved()));
|
||||
|
||||
String[] lines = sb.toString().split("\n");
|
||||
ChatUtil.sendNoSpam(player, lines);
|
||||
ChatUtil.sendNoSpam(
|
||||
player,
|
||||
line(EnumChatFormatting.GREEN).appendSibling(tr(ENERGY_CONDUIT)).appendSibling(
|
||||
line(EnumChatFormatting.BLUE).appendSibling(label(CON_BUF))
|
||||
.appendSibling(power(con.getEnergyStored(), con.getMaxEnergyStored()))),
|
||||
label(AVE_OUT).appendText(PowerDisplayUtil.formatPowerFloat(tracker.getAverageRfTickSent())),
|
||||
label(AVE_IN).appendText(PowerDisplayUtil.formatPowerFloat(tracker.getAverageRfTickRecieved())));
|
||||
}
|
||||
|
||||
private void sendPowerReciptorInfo(EntityPlayer player, Block block, int stored, int maxStored, int minRec,
|
||||
int maxRec, int request) {
|
||||
String color = "\u00A7a ";
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(color);
|
||||
sb.append(block.getLocalizedName());
|
||||
|
||||
color = "\u00A79 ";
|
||||
sb.append(color);
|
||||
sb.append(CON_BUF);
|
||||
sb.append(PowerDisplayUtil.formatPower(stored));
|
||||
sb.append(OF);
|
||||
sb.append(PowerDisplayUtil.formatPower(maxStored));
|
||||
sb.append(" ");
|
||||
sb.append(PowerDisplayUtil.abrevation());
|
||||
sb.append("\n");
|
||||
|
||||
sb.append(REQUEST_RANGE);
|
||||
sb.append(PowerDisplayUtil.formatPower(minRec));
|
||||
sb.append(" - ");
|
||||
sb.append(PowerDisplayUtil.formatPower(maxRec));
|
||||
sb.append(" ");
|
||||
sb.append(PowerDisplayUtil.abrevation());
|
||||
sb.append("\n");
|
||||
|
||||
sb.append(CUR_REQUEST);
|
||||
sb.append(PowerDisplayUtil.formatPower(request));
|
||||
sb.append(" ");
|
||||
sb.append(PowerDisplayUtil.abrevation());
|
||||
|
||||
String[] lines = sb.toString().split("\n");
|
||||
ChatUtil.sendNoSpam(player, lines);
|
||||
ChatUtil.sendNoSpam(
|
||||
player,
|
||||
line(EnumChatFormatting.GREEN)
|
||||
.appendSibling(new ChatComponentTranslation(block.getUnlocalizedName() + ".name"))
|
||||
.appendSibling(
|
||||
line(EnumChatFormatting.BLUE).appendSibling(label(CON_BUF))
|
||||
.appendSibling(power(stored, maxStored))),
|
||||
label(REQUEST_RANGE).appendText(
|
||||
PowerDisplayUtil.formatPower(minRec) + " - " + PowerDisplayUtil.formatPower(maxRec) + " ")
|
||||
.appendSibling(tr(RF)),
|
||||
label(CUR_REQUEST).appendText(PowerDisplayUtil.formatPower(request) + " ").appendSibling(tr(RF)));
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,10 @@ import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.util.ChatComponentTranslation;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.util.IChatComponent;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
@@ -163,14 +166,13 @@ public class BlockTravelAnchor extends BlockEio
|
||||
|
||||
public static void sendPrivateChatMessage(EntityPlayer player, UserIdent owner) {
|
||||
if (!player.isSneaking()) {
|
||||
IChatComponent ownerName = new ChatComponentText(owner.getPlayerName());
|
||||
ownerName.getChatStyle().setColor(EnumChatFormatting.RED);
|
||||
ChatUtil.sendNoSpam(
|
||||
player,
|
||||
EnderIO.lang.localize("gui.travelAccessable.privateBlock1") + " "
|
||||
+ EnumChatFormatting.RED
|
||||
+ owner.getPlayerName()
|
||||
+ EnumChatFormatting.WHITE
|
||||
+ " "
|
||||
+ EnderIO.lang.localize("gui.travelAccessable.privateBlock2"));
|
||||
new ChatComponentTranslation(
|
||||
EnderIO.lang.addPrefix("gui.travelAccessable.privateBlock"),
|
||||
ownerName));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,9 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.network.play.client.C08PacketPlayerBlockPlacement;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.util.ChatComponentTranslation;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.util.IChatComponent;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraft.world.World;
|
||||
@@ -103,8 +105,9 @@ public class ItemCoordSelector extends Item implements IResourceTooltipProvider
|
||||
}
|
||||
if (!world.isRemote) {
|
||||
player.addChatMessage(
|
||||
new ChatComponentText(
|
||||
EnderIO.lang.localize("itemCoordSelector.chat.setCoords", bc.chatString())));
|
||||
new ChatComponentTranslation(
|
||||
EnderIO.lang.addPrefix("itemCoordSelector.chat.setCoords"),
|
||||
bc.chatString()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,11 +119,9 @@ public class ItemCoordSelector extends Item implements IResourceTooltipProvider
|
||||
}
|
||||
if (!world.isRemote) {
|
||||
player.addChatMessage(
|
||||
new ChatComponentText(
|
||||
EnderIO.lang.localize(
|
||||
"itemCoordSelector.chat.setDimension",
|
||||
EnumChatFormatting.GREEN.toString(),
|
||||
Integer.toString(dim))));
|
||||
new ChatComponentTranslation(
|
||||
EnderIO.lang.addPrefix("itemCoordSelector.chat.setDimension"),
|
||||
dimensionComponent(dim)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -194,21 +195,29 @@ public class ItemCoordSelector extends Item implements IResourceTooltipProvider
|
||||
private void onCoordsChanged(EntityPlayer player, BlockCoord bc) {
|
||||
if (!player.worldObj.isRemote) {
|
||||
player.addChatMessage(
|
||||
new ChatComponentText(EnderIO.lang.localize("itemCoordSelector.chat.newCoords", bc.chatString())));
|
||||
new ChatComponentTranslation(
|
||||
EnderIO.lang.addPrefix("itemCoordSelector.chat.newCoords"),
|
||||
bc.chatString()));
|
||||
}
|
||||
}
|
||||
|
||||
private void onDimensionChanged(EntityPlayer player, int dim) {
|
||||
if (!player.worldObj.isRemote) {
|
||||
player.addChatMessage(
|
||||
new ChatComponentText(
|
||||
EnderIO.lang.localize(
|
||||
"itemCoordSelector.chat.newDimension",
|
||||
EnumChatFormatting.GREEN.toString(),
|
||||
Integer.toString(dim))));
|
||||
new ChatComponentTranslation(
|
||||
EnderIO.lang.addPrefix("itemCoordSelector.chat.newDimension"),
|
||||
dimensionComponent(dim)));
|
||||
}
|
||||
}
|
||||
|
||||
private static IChatComponent dimensionComponent(int dim) {
|
||||
// Color the argument itself: chat resets formatting after each component, so a code in the lang string
|
||||
// doesn't carry over to it.
|
||||
IChatComponent component = new ChatComponentText(Integer.toString(dim));
|
||||
component.getChatStyle().setColor(EnumChatFormatting.GREEN);
|
||||
return component;
|
||||
}
|
||||
|
||||
public void setCoords(ItemStack stack, BlockCoord bc) {
|
||||
stack.stackTagCompound.setBoolean("default", false);
|
||||
bc.writeToNBT(stack.stackTagCompound);
|
||||
|
||||
@@ -640,8 +640,7 @@ enderio.gui.mjReader.insertedInto=bude vložen do:
|
||||
enderio.gui.mjReader.noItems=Nepřijímá zádné předměty.
|
||||
enderio.gui.mjReader.noItem=Nemůže přijmout
|
||||
enderio.gui.mjReader.receiveItems=Může přijmout předměty z:
|
||||
enderio.gui.mjReader.receiveItem1=Může přijmout
|
||||
enderio.gui.mjReader.receiveItem2=z:
|
||||
enderio.gui.mjReader.receiveItem=Může přijmout %s z:
|
||||
|
||||
#CapactorBank
|
||||
enderio.gui.capBank.inputRs=Vstupní ruditový mód
|
||||
@@ -684,8 +683,7 @@ enderio.stirlingGenerator.output=Generuje:
|
||||
enderio.stirlingGenerator.burnRate=Hodnota spalování:
|
||||
|
||||
#Travel Blocks
|
||||
enderio.gui.travelAccessable.privateBlock1=Pouze
|
||||
enderio.gui.travelAccessable.privateBlock2=může změnit nastavení tohoto bloku.
|
||||
enderio.gui.travelAccessable.privateBlock=Pouze %s může změnit nastavení tohoto bloku.
|
||||
enderio.gui.travelAccessable.public=Veřejné
|
||||
enderio.gui.travelAccessable.private=Soukromé
|
||||
enderio.gui.travelAccessable.protected=Chráněné
|
||||
@@ -1061,8 +1059,8 @@ item.itemCoordSelector.tooltip.detailed.line5=select that specific block.
|
||||
item.itemCoordSelector.tooltip.detailed.line6=Can select from a distance.
|
||||
enderio.itemCoordSelector.chat.newCoords=New Coords: %s
|
||||
enderio.itemCoordSelector.chat.setCoords=Set Coords: %s
|
||||
enderio.itemCoordSelector.chat.newDimension=New Dimension: %s%s
|
||||
enderio.itemCoordSelector.chat.setDimension=Set Dimension: %s%s
|
||||
enderio.itemCoordSelector.chat.newDimension=New Dimension: %s
|
||||
enderio.itemCoordSelector.chat.setDimension=Set Dimension: %s
|
||||
enderio.item.itemSoulVessel.tooltip.health=Health:
|
||||
enderio.item.itemSoulVessel.tooltip.fluidname=Fluid Name:
|
||||
enderio.item.itemSoulVessel.tooltip.color=Color:
|
||||
|
||||
@@ -684,8 +684,14 @@ item.itemCoordSelector.tooltip.detailed.line5=den spezifischen Block auszuwähle
|
||||
item.itemCoordSelector.tooltip.detailed.line6=Kann aus einer Entfernung auswählen
|
||||
enderio.itemCoordSelector.chat.newCoords=Neue Koordinaten: %s
|
||||
enderio.itemCoordSelector.chat.setCoords=Festgelegte Koordinaten: %s
|
||||
enderio.itemCoordSelector.chat.newDimension=Neue Dimension: %s%s
|
||||
enderio.itemCoordSelector.chat.setDimension=Festgelegte Dimension: %s%s
|
||||
enderio.itemCoordSelector.chat.newDimension=Neue Dimension: %s
|
||||
enderio.itemCoordSelector.chat.setDimension=Festgelegte Dimension: %s
|
||||
enderio.itemConduitProbe.chat.copied=Conduit Einstellungen kopiert
|
||||
enderio.itemOCConduit.chat.channel=Kanal %s zu %s
|
||||
enderio.itemOCConduit.chat.connectedTo=Verbunden mit: %s
|
||||
enderio.itemOCConduit.chat.nodeAt=%s zu %s
|
||||
enderio.itemOCConduit.chat.noConnections=Keine Verbindungen an %s
|
||||
enderio.itemOCConduit.chat.noNetwork=Netzwerk nicht verbunden mit %s
|
||||
|
||||
#Painter
|
||||
tile.blockPainter.name=Färbemaschine
|
||||
@@ -1041,8 +1047,7 @@ enderio.gui.mjReader.insertedInto=wird insertiert nach:
|
||||
enderio.gui.mjReader.noItems=Empfängt keine Items.
|
||||
enderio.gui.mjReader.noItem=Kann nicht empfangen
|
||||
enderio.gui.mjReader.receiveItems=Kann Items empfangen von:
|
||||
enderio.gui.mjReader.receiveItem1=Kann
|
||||
enderio.gui.mjReader.receiveItem2=empfangen von:
|
||||
enderio.gui.mjReader.receiveItem=Kann %s empfangen von:
|
||||
|
||||
#CapactorBank
|
||||
enderio.gui.capBank.inputRs=Input-Redstone-Modus
|
||||
@@ -1096,8 +1101,7 @@ enderio.stirlingGenerator.upgrades={0} gibt eine Effizienz von {2}{1,number,#.#}
|
||||
enderio.stirlingGenerator.remaining={0,number,percent}|{1,choice,0#|0<{1}m }{2,number}s|{3,number,#,###} RF verbleibend
|
||||
|
||||
#Travel Blocks
|
||||
enderio.gui.travelAccessable.privateBlock1=Nur
|
||||
enderio.gui.travelAccessable.privateBlock2=darf die Einstellungen dieses Blocks ändern.
|
||||
enderio.gui.travelAccessable.privateBlock=Nur %s darf die Einstellungen dieses Blocks ändern.
|
||||
enderio.gui.travelAccessable.public=Öffentlich
|
||||
enderio.gui.travelAccessable.private=Privat
|
||||
enderio.gui.travelAccessable.protected=Geschützt
|
||||
|
||||
@@ -779,8 +779,14 @@ item.itemCoordSelector.tooltip.detailed.line5=select that specific block.
|
||||
item.itemCoordSelector.tooltip.detailed.line6=Can select from a distance.
|
||||
enderio.itemCoordSelector.chat.newCoords=New Coords: %s
|
||||
enderio.itemCoordSelector.chat.setCoords=Set Coords: %s
|
||||
enderio.itemCoordSelector.chat.newDimension=New Dimension: %s%s
|
||||
enderio.itemCoordSelector.chat.setDimension=Set Dimension: %s%s
|
||||
enderio.itemCoordSelector.chat.newDimension=New Dimension: %s
|
||||
enderio.itemCoordSelector.chat.setDimension=Set Dimension: %s
|
||||
enderio.itemConduitProbe.chat.copied=Copied conduit settings
|
||||
enderio.itemOCConduit.chat.channel=Channel %s at %s
|
||||
enderio.itemOCConduit.chat.connectedTo=Connected to: %s
|
||||
enderio.itemOCConduit.chat.nodeAt=%s at %s
|
||||
enderio.itemOCConduit.chat.noConnections=No connections at %s
|
||||
enderio.itemOCConduit.chat.noNetwork=No network at %s
|
||||
|
||||
#Painter
|
||||
tile.blockPainter.name=Painting Machine
|
||||
@@ -1146,8 +1152,8 @@ enderio.gui.mjReader.insertedInto=will be inserted into:
|
||||
enderio.gui.mjReader.noItems=Receives no items.
|
||||
enderio.gui.mjReader.noItem=Can not receive
|
||||
enderio.gui.mjReader.receiveItems=Can receive items from:
|
||||
enderio.gui.mjReader.receiveItem1=Can receive
|
||||
enderio.gui.mjReader.receiveItem2=from:
|
||||
enderio.gui.mjReader.receiveItem=Can receive %s from:
|
||||
enderio.gui.mjReader.distance=Distance [%s]
|
||||
|
||||
#CapactorBank
|
||||
enderio.gui.capBank.inputRs=Input Redstone Mode
|
||||
@@ -1208,8 +1214,7 @@ enderio.gui.blockBuffer.omni.name=Omni Buffer
|
||||
enderio.gui.blockBuffer.creative.name=Creative Buffer
|
||||
|
||||
#Travel Blocks
|
||||
enderio.gui.travelAccessable.privateBlock1=Only
|
||||
enderio.gui.travelAccessable.privateBlock2=may change this blocks settings.
|
||||
enderio.gui.travelAccessable.privateBlock=Only %s may change this blocks settings.
|
||||
enderio.gui.travelAccessable.public=Public
|
||||
enderio.gui.travelAccessable.private=Private
|
||||
enderio.gui.travelAccessable.protected=Protected
|
||||
|
||||
@@ -517,8 +517,8 @@ item.itemCoordSelector.tooltip.detailed.line3=Shift+Clic-derecho a un bloque par
|
||||
item.itemCoordSelector.tooltip.detailed.line4=Se puede seleccionar desde la distancia.
|
||||
enderio.itemCoordSelector.chat.newCoords=Nuevas Coordenadas: %s
|
||||
enderio.itemCoordSelector.chat.setCoords=Establecer Coordenadas: %s
|
||||
enderio.itemCoordSelector.chat.newDimension=Nueva Dimensión: %s%s
|
||||
enderio.itemCoordSelector.chat.setDimension=Establecer Dimensión: %s%s
|
||||
enderio.itemCoordSelector.chat.newDimension=Nueva Dimensión: %s
|
||||
enderio.itemCoordSelector.chat.setDimension=Establecer Dimensión: %s
|
||||
|
||||
#Painter
|
||||
tile.blockPainter.name=Máquina de Pintar
|
||||
@@ -790,8 +790,7 @@ enderio.gui.mjReader.insertedInto=Será insertado a:
|
||||
enderio.gui.mjReader.noItems=No recibe objetos.
|
||||
enderio.gui.mjReader.noItem=No puede recibir.
|
||||
enderio.gui.mjReader.receiveItems=Puede recibir objetos de:
|
||||
enderio.gui.mjReader.receiveItem1=Puede recibir
|
||||
enderio.gui.mjReader.receiveItem2=de:
|
||||
enderio.gui.mjReader.receiveItem=Puede recibir %s de:
|
||||
|
||||
#CapactorBank
|
||||
enderio.gui.capBank.inputRs=Modo de Entrada de Redstone
|
||||
@@ -845,8 +844,7 @@ enderio.stirlingGenerator.upgrades={0} proporciona {2}{1,number,#.#}x{3} de efic
|
||||
enderio.stirlingGenerator.remaining={0,number,percent}|{1,choice,0#|0<{1}m }{2,number}s|{3,number,#,###} RF Restantes.
|
||||
|
||||
#Travel Blocks
|
||||
enderio.gui.travelAccessable.privateBlock1=Solo
|
||||
enderio.gui.travelAccessable.privateBlock2=Puede cambiar los ajustes de este bloque.
|
||||
enderio.gui.travelAccessable.privateBlock=Solo %s puede cambiar los ajustes de este bloque.
|
||||
enderio.gui.travelAccessable.public=Público
|
||||
enderio.gui.travelAccessable.private=Privado
|
||||
enderio.gui.travelAccessable.protected=Protegido
|
||||
|
||||
@@ -519,8 +519,8 @@ item.itemCoordSelector.tooltip.detailed.line3=Shift+Clic-derecho a un bloque par
|
||||
item.itemCoordSelector.tooltip.detailed.line4=Se puede seleccionar desde la distancia.
|
||||
enderio.itemCoordSelector.chat.newCoords=Nuevas Coordenadas: %s
|
||||
enderio.itemCoordSelector.chat.setCoords=Establecer Coordenadas: %s
|
||||
enderio.itemCoordSelector.chat.newDimension=Nueva Dimensión: %s%s
|
||||
enderio.itemCoordSelector.chat.setDimension=Establecer Dimensión: %s%s
|
||||
enderio.itemCoordSelector.chat.newDimension=Nueva Dimensión: %s
|
||||
enderio.itemCoordSelector.chat.setDimension=Establecer Dimensión: %s
|
||||
|
||||
#Painter
|
||||
tile.blockPainter.name=Máquina de Pintar
|
||||
@@ -792,8 +792,7 @@ enderio.gui.mjReader.insertedInto=Será insertado a:
|
||||
enderio.gui.mjReader.noItems=No recibe objetos.
|
||||
enderio.gui.mjReader.noItem=No puede recibir.
|
||||
enderio.gui.mjReader.receiveItems=Puede recibir objetos de:
|
||||
enderio.gui.mjReader.receiveItem1=Puede recibir
|
||||
enderio.gui.mjReader.receiveItem2=de:
|
||||
enderio.gui.mjReader.receiveItem=Puede recibir %s de:
|
||||
|
||||
#CapactorBank
|
||||
enderio.gui.capBank.inputRs=Modo de Entrada de Redstone
|
||||
@@ -847,8 +846,7 @@ enderio.stirlingGenerator.upgrades={0} proporciona {2}{1,number,#.#}x{3} de efic
|
||||
enderio.stirlingGenerator.remaining={0,number,percent}|{1,choice,0#|0<{1}m }{2,number}s|{3,number,#,###} RF Restantes.
|
||||
|
||||
#Travel Blocks
|
||||
enderio.gui.travelAccessable.privateBlock1=Solo
|
||||
enderio.gui.travelAccessable.privateBlock2=Puede cambiar los ajustes de este bloque.
|
||||
enderio.gui.travelAccessable.privateBlock=Solo %s puede cambiar los ajustes de este bloque.
|
||||
enderio.gui.travelAccessable.public=Público
|
||||
enderio.gui.travelAccessable.private=Privado
|
||||
enderio.gui.travelAccessable.protected=Protegido
|
||||
|
||||
@@ -517,8 +517,8 @@ item.itemCoordSelector.tooltip.detailed.line3=Shift+Clic-derecho a un bloque par
|
||||
item.itemCoordSelector.tooltip.detailed.line4=Se puede seleccionar desde la distancia.
|
||||
enderio.itemCoordSelector.chat.newCoords=Nuevas Coordenadas: %s
|
||||
enderio.itemCoordSelector.chat.setCoords=Establecer Coordenadas: %s
|
||||
enderio.itemCoordSelector.chat.newDimension=Nueva Dimensión: %s%s
|
||||
enderio.itemCoordSelector.chat.setDimension=Establecer Dimensión: %s%s
|
||||
enderio.itemCoordSelector.chat.newDimension=Nueva Dimensión: %s
|
||||
enderio.itemCoordSelector.chat.setDimension=Establecer Dimensión: %s
|
||||
|
||||
#Painter
|
||||
tile.blockPainter.name=Máquina de Pintar
|
||||
@@ -790,8 +790,7 @@ enderio.gui.mjReader.insertedInto=Será insertado a:
|
||||
enderio.gui.mjReader.noItems=No recibe objetos.
|
||||
enderio.gui.mjReader.noItem=No puede recibir.
|
||||
enderio.gui.mjReader.receiveItems=Puede recibir objetos de:
|
||||
enderio.gui.mjReader.receiveItem1=Puede recibir
|
||||
enderio.gui.mjReader.receiveItem2=de:
|
||||
enderio.gui.mjReader.receiveItem=Puede recibir %s de:
|
||||
|
||||
#CapactorBank
|
||||
enderio.gui.capBank.inputRs=Modo de Entrada de Redstone
|
||||
@@ -845,8 +844,7 @@ enderio.stirlingGenerator.upgrades={0} proporciona {2}{1,number,#.#}x{3} de efic
|
||||
enderio.stirlingGenerator.remaining={0,number,percent}|{1,choice,0#|0<{1}m }{2,number}s|{3,number,#,###} RF Restantes.
|
||||
|
||||
#Travel Blocks
|
||||
enderio.gui.travelAccessable.privateBlock1=Solo
|
||||
enderio.gui.travelAccessable.privateBlock2=Puede cambiar los ajustes de este bloque.
|
||||
enderio.gui.travelAccessable.privateBlock=Solo %s puede cambiar los ajustes de este bloque.
|
||||
enderio.gui.travelAccessable.public=Público
|
||||
enderio.gui.travelAccessable.private=Privado
|
||||
enderio.gui.travelAccessable.protected=Protegido
|
||||
|
||||
@@ -517,8 +517,8 @@ item.itemCoordSelector.tooltip.detailed.line3=Shift+Clic-derecho a un bloque par
|
||||
item.itemCoordSelector.tooltip.detailed.line4=Se puede seleccionar desde la distancia.
|
||||
enderio.itemCoordSelector.chat.newCoords=Nuevas Coordenadas: %s
|
||||
enderio.itemCoordSelector.chat.setCoords=Establecer Coordenadas: %s
|
||||
enderio.itemCoordSelector.chat.newDimension=Nueva Dimensión: %s%s
|
||||
enderio.itemCoordSelector.chat.setDimension=Establecer Dimensión: %s%s
|
||||
enderio.itemCoordSelector.chat.newDimension=Nueva Dimensión: %s
|
||||
enderio.itemCoordSelector.chat.setDimension=Establecer Dimensión: %s
|
||||
|
||||
#Painter
|
||||
tile.blockPainter.name=Máquina de Pintar
|
||||
@@ -790,8 +790,7 @@ enderio.gui.mjReader.insertedInto=Será insertado a:
|
||||
enderio.gui.mjReader.noItems=No recibe objetos.
|
||||
enderio.gui.mjReader.noItem=No puede recibir.
|
||||
enderio.gui.mjReader.receiveItems=Puede recibir objetos de:
|
||||
enderio.gui.mjReader.receiveItem1=Puede recibir
|
||||
enderio.gui.mjReader.receiveItem2=de:
|
||||
enderio.gui.mjReader.receiveItem=Puede recibir %s de:
|
||||
|
||||
#CapactorBank
|
||||
enderio.gui.capBank.inputRs=Modo de Entrada de Redstone
|
||||
@@ -845,8 +844,7 @@ enderio.stirlingGenerator.upgrades={0} proporciona {2}{1,number,#.#}x{3} de efic
|
||||
enderio.stirlingGenerator.remaining={0,number,percent}|{1,choice,0#|0<{1}m }{2,number}s|{3,number,#,###} RF Restantes.
|
||||
|
||||
#Travel Blocks
|
||||
enderio.gui.travelAccessable.privateBlock1=Solo
|
||||
enderio.gui.travelAccessable.privateBlock2=Puede cambiar los ajustes de este bloque.
|
||||
enderio.gui.travelAccessable.privateBlock=Solo %s puede cambiar los ajustes de este bloque.
|
||||
enderio.gui.travelAccessable.public=Público
|
||||
enderio.gui.travelAccessable.private=Privado
|
||||
enderio.gui.travelAccessable.protected=Protegido
|
||||
|
||||
@@ -517,8 +517,8 @@ item.itemCoordSelector.tooltip.detailed.line3=Shift+Clic-derecho a un bloque par
|
||||
item.itemCoordSelector.tooltip.detailed.line4=Se puede seleccionar desde la distancia.
|
||||
enderio.itemCoordSelector.chat.newCoords=Nuevas Coordenadas: %s
|
||||
enderio.itemCoordSelector.chat.setCoords=Establecer Coordenadas: %s
|
||||
enderio.itemCoordSelector.chat.newDimension=Nueva Dimensión: %s%s
|
||||
enderio.itemCoordSelector.chat.setDimension=Establecer Dimensión: %s%s
|
||||
enderio.itemCoordSelector.chat.newDimension=Nueva Dimensión: %s
|
||||
enderio.itemCoordSelector.chat.setDimension=Establecer Dimensión: %s
|
||||
|
||||
#Painter
|
||||
tile.blockPainter.name=Máquina de Pintar
|
||||
@@ -788,8 +788,7 @@ enderio.gui.mjReader.insertedInto=Será insertado a:
|
||||
enderio.gui.mjReader.noItems=No recibe objetos.
|
||||
enderio.gui.mjReader.noItem=No puede recibir.
|
||||
enderio.gui.mjReader.receiveItems=Puede recibir objetos de:
|
||||
enderio.gui.mjReader.receiveItem1=Puede recibir
|
||||
enderio.gui.mjReader.receiveItem2=de:
|
||||
enderio.gui.mjReader.receiveItem=Puede recibir %s de:
|
||||
|
||||
#CapactorBank
|
||||
enderio.gui.capBank.inputRs=Modo de Entrada de Redstone
|
||||
@@ -843,8 +842,7 @@ enderio.stirlingGenerator.upgrades={0} proporciona {2}{1,number,#.#}x{3} de efic
|
||||
enderio.stirlingGenerator.remaining={0,number,percent}|{1,choice,0#|0<{1}m }{2,number}s|{3,number,#,###} RF Restantes.
|
||||
|
||||
#Travel Blocks
|
||||
enderio.gui.travelAccessable.privateBlock1=Solo
|
||||
enderio.gui.travelAccessable.privateBlock2=Puede cambiar los ajustes de este bloque.
|
||||
enderio.gui.travelAccessable.privateBlock=Solo %s puede cambiar los ajustes de este bloque.
|
||||
enderio.gui.travelAccessable.public=Público
|
||||
enderio.gui.travelAccessable.private=Privado
|
||||
enderio.gui.travelAccessable.protected=Protegido
|
||||
|
||||
@@ -520,8 +520,8 @@ item.itemCoordSelector.tooltip.detailed.line5=sélectionner ce bloc.
|
||||
item.itemCoordSelector.tooltip.detailed.line6=Peut sélectioner à distance.
|
||||
enderio.itemCoordSelector.chat.newCoords=Nouvelles Coords: %s
|
||||
enderio.itemCoordSelector.chat.setCoords=Définir Coords: %s
|
||||
enderio.itemCoordSelector.chat.newDimension=Nouvelle Dimension: %s%s
|
||||
enderio.itemCoordSelector.chat.setDimension=Définir Dimension: %s%s
|
||||
enderio.itemCoordSelector.chat.newDimension=Nouvelle Dimension: %s
|
||||
enderio.itemCoordSelector.chat.setDimension=Définir Dimension: %s
|
||||
|
||||
#Painter
|
||||
tile.blockPainter.name=Machine à Enduction
|
||||
@@ -810,8 +810,7 @@ enderio.gui.mjReader.insertedInto=sera inséré dans :
|
||||
enderio.gui.mjReader.noItems=Ne reçoit aucun objet.
|
||||
enderio.gui.mjReader.noItem=Ne peut pas recevoir
|
||||
enderio.gui.mjReader.receiveItems=Peut recevoir des objet de :
|
||||
enderio.gui.mjReader.receiveItem1=Peut recevoir
|
||||
enderio.gui.mjReader.receiveItem2=de :
|
||||
enderio.gui.mjReader.receiveItem=Peut recevoir %s de :
|
||||
|
||||
#CapacitorBank
|
||||
enderio.gui.capBank.inputRs=Mode Redstone Entrée
|
||||
@@ -865,8 +864,7 @@ enderio.stirlingGenerator.upgrades={0} donne efficacité {2}{1,number,#.#}x{3}
|
||||
enderio.stirlingGenerator.remaining=Reste {0,number,percent}|{1,choice,0#|0<{1}m }{2,number}s|{3,number,#,###} RF
|
||||
|
||||
#Travel Blocks
|
||||
enderio.gui.travelAccessable.privateBlock1=Seulement
|
||||
enderio.gui.travelAccessable.privateBlock2=peut modifier les paramètres de ce bloc.
|
||||
enderio.gui.travelAccessable.privateBlock=Seulement %s peut modifier les paramètres de ce bloc.
|
||||
enderio.gui.travelAccessable.public=Publique
|
||||
enderio.gui.travelAccessable.private=Privé
|
||||
enderio.gui.travelAccessable.protected=Protégé
|
||||
|
||||
@@ -678,8 +678,7 @@ enderio.gui.mjReader.insertedInto=will be inserted into:
|
||||
enderio.gui.mjReader.noItems=Receives no items.
|
||||
enderio.gui.mjReader.noItem=Can not receive
|
||||
enderio.gui.mjReader.receiveItems=Can receive items from:
|
||||
enderio.gui.mjReader.receiveItem1=Can receive
|
||||
enderio.gui.mjReader.receiveItem2=from:
|
||||
enderio.gui.mjReader.receiveItem=Can receive %s from:
|
||||
|
||||
#CapactorBank
|
||||
enderio.gui.capBank.inputRs=Input Redstone Mode
|
||||
@@ -724,8 +723,7 @@ enderio.stirlingGenerator.output=Generating:
|
||||
enderio.stirlingGenerator.burnRate=Burn Rate:
|
||||
|
||||
#Travel Blocks
|
||||
enderio.gui.travelAccessable.privateBlock1=Only
|
||||
enderio.gui.travelAccessable.privateBlock2=may change this blocks settings.
|
||||
enderio.gui.travelAccessable.privateBlock=Only %s may change this blocks settings.
|
||||
enderio.gui.travelAccessable.public=Public
|
||||
enderio.gui.travelAccessable.private=Private
|
||||
enderio.gui.travelAccessable.protected=Protected
|
||||
|
||||
@@ -179,8 +179,7 @@ enderio.gui.mjReader.insertedInto=zostanie wysłany do:
|
||||
enderio.gui.mjReader.noItems=Nie otrzymuje rzeczy.
|
||||
enderio.gui.mjReader.noItem=Nie można przesłać
|
||||
enderio.gui.mjReader.receiveItems=Może otrzymać rzeczy z:
|
||||
enderio.gui.mjReader.receiveItem1=Przyjmie
|
||||
enderio.gui.mjReader.receiveItem2=z:
|
||||
enderio.gui.mjReader.receiveItem=Przyjmie %s z:
|
||||
|
||||
#CapactorBank
|
||||
enderio.gui.capBank.inputRs=Włącznik przyrostu energii
|
||||
@@ -208,8 +207,7 @@ enderio.gui.alloy.mode.alloy=Tylko stopy
|
||||
enderio.gui.alloy.mode.furnace=Tylko jak zwykły piec
|
||||
|
||||
#Travel Blocks
|
||||
enderio.gui.travelAccessable.privateBlock1=Można
|
||||
enderio.gui.travelAccessable.privateBlock2=zmienić tylko te ustawienia.
|
||||
enderio.gui.travelAccessable.privateBlock=Można %s zmienić tylko te ustawienia.
|
||||
enderio.gui.travelAccessable.public=Publiczny
|
||||
enderio.gui.travelAccessable.private=Prywatny
|
||||
enderio.gui.travelAccessable.protected=Chroniony
|
||||
|
||||
@@ -728,8 +728,7 @@ enderio.gui.mjReader.insertedInto=vai ser inserido em:
|
||||
enderio.gui.mjReader.noItems=Não recebe itens.
|
||||
enderio.gui.mjReader.noItem=Não pode receber
|
||||
enderio.gui.mjReader.receiveItems=Pode receber itens de:
|
||||
enderio.gui.mjReader.receiveItem1=Pode receber
|
||||
enderio.gui.mjReader.receiveItem2=de:
|
||||
enderio.gui.mjReader.receiveItem=Pode receber %s de:
|
||||
|
||||
#CapactorBank
|
||||
enderio.gui.capBank.inputRs=Entrada Redstone Mode
|
||||
@@ -774,8 +773,7 @@ enderio.stirlingGenerator.output=Gerando:
|
||||
enderio.stirlingGenerator.burnRate=Taxa de Queima:
|
||||
|
||||
#Travel Blocks
|
||||
enderio.gui.travelAccessable.privateBlock1=Apenas
|
||||
enderio.gui.travelAccessable.privateBlock2=pode mudar as configurações desse bloco
|
||||
enderio.gui.travelAccessable.privateBlock=Apenas %s pode mudar as configurações desse bloco
|
||||
enderio.gui.travelAccessable.public=Público
|
||||
enderio.gui.travelAccessable.private=Privado
|
||||
enderio.gui.travelAccessable.protected=Protegido
|
||||
|
||||
@@ -730,8 +730,7 @@ enderio.gui.mjReader.insertedInto=vai ser inserido em:
|
||||
enderio.gui.mjReader.noItems=Não recebe itens.
|
||||
enderio.gui.mjReader.noItem=Não pode receber
|
||||
enderio.gui.mjReader.receiveItems=Pode receber itens de:
|
||||
enderio.gui.mjReader.receiveItem1=Pode receber
|
||||
enderio.gui.mjReader.receiveItem2=de:
|
||||
enderio.gui.mjReader.receiveItem=Pode receber %s de:
|
||||
|
||||
#CapactorBank
|
||||
enderio.gui.capBank.inputRs=Entrada Redstone Mode
|
||||
@@ -776,8 +775,7 @@ enderio.stirlingGenerator.output=A Gerar:
|
||||
enderio.stirlingGenerator.burnRate=Taxa de Queima:
|
||||
|
||||
#Travel Blocks
|
||||
enderio.gui.travelAccessable.privateBlock1=Apenas
|
||||
enderio.gui.travelAccessable.privateBlock2=pode mudar as configurações desse bloco
|
||||
enderio.gui.travelAccessable.privateBlock=Apenas %s pode mudar as configurações desse bloco
|
||||
enderio.gui.travelAccessable.public=Público
|
||||
enderio.gui.travelAccessable.private=Privado
|
||||
enderio.gui.travelAccessable.protected=Protegido
|
||||
|
||||
@@ -727,8 +727,14 @@ item.itemCoordSelector.tooltip.detailed.line5=выбрать конкретны
|
||||
item.itemCoordSelector.tooltip.detailed.line6=Можно выбирать блоки на расстоянии.
|
||||
enderio.itemCoordSelector.chat.newCoords=Новые координаты: %s
|
||||
enderio.itemCoordSelector.chat.setCoords=Выбранные координаты: %s
|
||||
enderio.itemCoordSelector.chat.newDimension=Новое измерение: %s%s
|
||||
enderio.itemCoordSelector.chat.setDimension=Выбранное измерение: %s%s
|
||||
enderio.itemCoordSelector.chat.newDimension=Новое измерение: %s
|
||||
enderio.itemCoordSelector.chat.setDimension=Выбранное измерение: %s
|
||||
enderio.itemConduitProbe.chat.copied=Настройки труб скопированы
|
||||
enderio.itemOCConduit.chat.channel=Канал %s на %s
|
||||
enderio.itemOCConduit.chat.connectedTo=Подключено к: %s
|
||||
enderio.itemOCConduit.chat.nodeAt=%s на %s
|
||||
enderio.itemOCConduit.chat.noConnections=Нет подключений на %s
|
||||
enderio.itemOCConduit.chat.noNetwork=Нет сети на %s
|
||||
|
||||
#Painter
|
||||
tile.blockPainter.name=Покрасочный механизм
|
||||
@@ -1086,8 +1092,8 @@ enderio.gui.mjReader.insertedInto=будет направлен:
|
||||
enderio.gui.mjReader.noItems=Не получает предметов.
|
||||
enderio.gui.mjReader.noItem=Не может получать
|
||||
enderio.gui.mjReader.receiveItems=Может получать предметы от:
|
||||
enderio.gui.mjReader.receiveItem1=Может получать
|
||||
enderio.gui.mjReader.receiveItem2=от:
|
||||
enderio.gui.mjReader.receiveItem=Может получать %s от:
|
||||
enderio.gui.mjReader.distance=Расстояние [%s]
|
||||
|
||||
#CapactorBank
|
||||
enderio.gui.capBank.inputRs=Режим красного камня на входе
|
||||
@@ -1141,8 +1147,7 @@ enderio.stirlingGenerator.upgrades={0} даёт {2}{1,number,#.#}x{3} эффек
|
||||
enderio.stirlingGenerator.remaining=Осталось {0,number,percent}|{1,choice,0#|0<{1}m }{2,number}s|{3,number,#,###} RF
|
||||
|
||||
#Travel Blocks
|
||||
enderio.gui.travelAccessable.privateBlock1=Только
|
||||
enderio.gui.travelAccessable.privateBlock2=может управлять настройками этого блока.
|
||||
enderio.gui.travelAccessable.privateBlock=Только %s может изменить настройки этого блока.
|
||||
enderio.gui.travelAccessable.public=Общедоступный
|
||||
enderio.gui.travelAccessable.private=Частный
|
||||
enderio.gui.travelAccessable.protected=Защищённый
|
||||
|
||||
@@ -727,8 +727,8 @@ item.itemCoordSelector.tooltip.detailed.line5=选取特定方块.
|
||||
item.itemCoordSelector.tooltip.detailed.line6=可以在远处选取.
|
||||
enderio.itemCoordSelector.chat.newCoords=新坐标: %s
|
||||
enderio.itemCoordSelector.chat.setCoords=设置坐标: %s
|
||||
enderio.itemCoordSelector.chat.newDimension=新世界: %s%s
|
||||
enderio.itemCoordSelector.chat.setDimension=设置世界: %s%s
|
||||
enderio.itemCoordSelector.chat.newDimension=新世界: %s
|
||||
enderio.itemCoordSelector.chat.setDimension=设置世界: %s
|
||||
|
||||
#Painter
|
||||
tile.blockPainter.name=喷涂机
|
||||
@@ -1086,8 +1086,7 @@ enderio.gui.mjReader.insertedInto=会被输入于:
|
||||
enderio.gui.mjReader.noItems=未接收到物品.
|
||||
enderio.gui.mjReader.noItem=无法接收
|
||||
enderio.gui.mjReader.receiveItems=合法的接收对象:
|
||||
enderio.gui.mjReader.receiveItem1=可以接收
|
||||
enderio.gui.mjReader.receiveItem2=从:
|
||||
enderio.gui.mjReader.receiveItem=可以接收 %s 从:
|
||||
|
||||
#CapactorBank
|
||||
enderio.gui.capBank.inputRs=输入红石控制
|
||||
@@ -1141,8 +1140,7 @@ enderio.stirlingGenerator.upgrades={0} 提供 {2}{1,number,#.#}x{3} 的效率
|
||||
enderio.stirlingGenerator.remaining=残余 {0,number,percent}|{1,choice,0#|0<{1}m }{2,number}s|{3,number,#,###} RF
|
||||
|
||||
#Travel Blocks
|
||||
enderio.gui.travelAccessable.privateBlock1=只有
|
||||
enderio.gui.travelAccessable.privateBlock2=才能改变该方块的设置.
|
||||
enderio.gui.travelAccessable.privateBlock=只有 %s 才能改变该方块的设置.
|
||||
enderio.gui.travelAccessable.public=公共
|
||||
enderio.gui.travelAccessable.private=私有
|
||||
enderio.gui.travelAccessable.protected=被保护
|
||||
|
||||
@@ -698,8 +698,7 @@ enderio.gui.mjReader.insertedInto=會被輸入于:
|
||||
enderio.gui.mjReader.noItems=未接收到物品.
|
||||
enderio.gui.mjReader.noItem=無法接收
|
||||
enderio.gui.mjReader.receiveItems=合法的接收對象:
|
||||
enderio.gui.mjReader.receiveItem1=可以接收
|
||||
enderio.gui.mjReader.receiveItem2=從:
|
||||
enderio.gui.mjReader.receiveItem=可以接收 %s 從:
|
||||
|
||||
#CapactorBank
|
||||
enderio.gui.capBank.inputRs=輸入紅石控制
|
||||
@@ -744,8 +743,7 @@ enderio.stirlingGenerator.output=產能速率:
|
||||
enderio.stirlingGenerator.burnRate=燃燒速率:
|
||||
|
||||
#Travel Blocks
|
||||
enderio.gui.travelAccessable.privateBlock1=只有
|
||||
enderio.gui.travelAccessable.privateBlock2=才能改變該方塊的設置.
|
||||
enderio.gui.travelAccessable.privateBlock=只有 %s 才能改變該方塊的設置.
|
||||
enderio.gui.travelAccessable.public=公共
|
||||
enderio.gui.travelAccessable.private=私有
|
||||
enderio.gui.travelAccessable.protected=被保護
|
||||
@@ -1080,8 +1078,8 @@ item.itemCoordSelector.tooltip.detailed.line5=select that specific block.
|
||||
item.itemCoordSelector.tooltip.detailed.line6=Can select from a distance.
|
||||
enderio.itemCoordSelector.chat.newCoords=New Coords: %s
|
||||
enderio.itemCoordSelector.chat.setCoords=Set Coords: %s
|
||||
enderio.itemCoordSelector.chat.newDimension=New Dimension: %s%s
|
||||
enderio.itemCoordSelector.chat.setDimension=Set Dimension: %s%s
|
||||
enderio.itemCoordSelector.chat.newDimension=New Dimension: %s
|
||||
enderio.itemCoordSelector.chat.setDimension=Set Dimension: %s
|
||||
enderio.item.itemSoulVessel.tooltip.health=Health:
|
||||
enderio.item.itemSoulVessel.tooltip.fluidname=Fluid Name:
|
||||
enderio.item.itemSoulVessel.tooltip.color=Color:
|
||||
|
||||
Reference in new issue
Block a user